[vlc-devel] [PATCH 00/11] Chromecast demux filter

Steve Lhomme robux4 at videolabs.io
Mon Jun 6 16:49:56 CEST 2016

The main difference with the previous version is that there's no longer a
p_prev element. Each demuxer is just responsible for its data.

The title/seekpoint update flags/values have been turned into control
calls so that demux filters can intercept them and tweak the results.
When the control calls are not handled, we fall back to reading the data
from the main demuxer as it was done before.

Only the stream value is copied from the main demuxer in the demux filters
as there's a test remaining during the INPUT_CONTROL_SET_RATE handling.

Steve Lhomme (11):
  input: code cleaning
  demux: add helper functions to avoid accessing update data directly
    outside of demux.c
  demux: add control calls to read the demuxer title/seekpoint
  [RFC] add demux filters that are similar in API to regular demuxers
  chromecast: add a demux-filter to display better time
  chromecast: use the demux-filter to display the correct playback time
  chromecast: delay the Demux() call until the Chromecast is ready to
    receive data
  chromecast: fix the time displayed after seeking
  chromecast: pause immediatly the device when pausing the player
  chromecast: pass the title/artwork to the Chromecast when starting
  chromecast: send the volume and mute values when about to start

 NEWS                                               |   3 +
 include/vlc_demux.h                                |   8 +
 modules/MODULES_LIST                               |   1 +
 modules/stream_out/Makefile.am                     |   7 +-
 modules/stream_out/chromecast/cast.cpp             |   2 +-
 modules/stream_out/chromecast/chromecast.h         |  88 +++++-
 modules/stream_out/chromecast/chromecast_common.h  |  61 ++++
 modules/stream_out/chromecast/chromecast_ctrl.cpp  | 245 +++++++++++++++-
 modules/stream_out/chromecast/chromecast_demux.cpp | 308 +++++++++++++++++++++
 src/input/demux.c                                  | 184 ++++++++++++
 src/input/demux.h                                  |   8 +
 src/input/input.c                                  |  44 +--
 src/input/stream_demux.c                           |   4 +-
 src/input/var.c                                    |   1 +
 src/libvlc-module.c                                |   5 +
 src/playlist/engine.c                              |   1 +
 16 files changed, 939 insertions(+), 31 deletions(-)
 create mode 100644 modules/stream_out/chromecast/chromecast_common.h
 create mode 100644 modules/stream_out/chromecast/chromecast_demux.cpp


More information about the vlc-devel mailing list