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

Steve Lhomme robux4 at videolabs.io
Mon May 2 18:23:59 CEST 2016


Since the patch of 17 (16+1) seem to be ready to be merged, here is a
set of patches that improve the Chromecast experience much further.

Following the discussions we had previously I reworked the demux-filters
to be distinct object from the demux_t. Because of the tight relation
between demux_t and stream_t and sometimes so hardcoded access to the 
stream of a demuxer, it is easier and cleaner to separate filters from
the real demuxer.

There was only one case where pf_demux() was used in the code rather
than the helper call demux_Demux(). There's no case where pf_control
is used directly. So thanks to that, we can handle the call to the filters
in the helper functions. Each filter is responsible for calling the
next filter or the actual demuxer in the end. There are 2 new helper
functions to do that.

Steve Lhomme (11):
  ogg: don't call pf_demux() directly
  [RFC] core: add demux-filter objects to intercept & filter demuxer
    calls
  chromecast: remove unused include
  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: send the volume and mute values when about to start
    playback
  chromecast: pause immediatly the device when pausing the player
  chromecast: pass the title/artwork to the Chromecast when starting
    playback
  [RFC] demux: allow default demux-filters

 NEWS                                               |   3 +
 include/vlc_common.h                               |   2 +
 include/vlc_demux.h                                |  47 +++-
 modules/MODULES_LIST                               |   1 +
 modules/demux/ogg.c                                |   2 +-
 modules/stream_out/Makefile.am                     |   5 +
 modules/stream_out/chromecast/cast.cpp             |   2 +-
 modules/stream_out/chromecast/chromecast.h         |  90 +++++-
 modules/stream_out/chromecast/chromecast_common.h  |  61 +++++
 modules/stream_out/chromecast/chromecast_ctrl.cpp  | 244 ++++++++++++++++-
 modules/stream_out/chromecast/chromecast_demux.cpp | 305 +++++++++++++++++++++
 src/input/demux.c                                  |  98 ++++++-
 src/input/input.c                                  |  16 ++
 src/input/var.c                                    |   1 +
 src/libvlc-module.c                                |   5 +
 src/libvlc.c                                       |   2 +
 16 files changed, 867 insertions(+), 17 deletions(-)
 create mode 100644 modules/stream_out/chromecast/chromecast_common.h
 create mode 100644 modules/stream_out/chromecast/chromecast_demux.cpp

-- 
2.7.0



More information about the vlc-devel mailing list