[vlc-devel] [PATCH 00/10] Chromecast timing with a demux-filter (v2)
Steve Lhomme
robux4 at videolabs.io
Tue May 3 16:01:36 CEST 2016
The demux_filter_t code has been reworked so that calls to the real demuxer and
the demux filters cannot be mixed. Now the demuxer_t is a demux_filter_t with
p_next set to NULL. To avoid editing all the code due to the subclassing, the
shared part of their structure is done via a macro, the same way all
vlc_object_t share a common set of fields.
By default the core deals with the top demux_filter_t and in some cases where
it needs access to the demux_t fileds (attachements demuxer, stream) it can get
the one at the end of the chain.
As a side note, the adapative Demuxer seems like a good candidate to become
a demux-filter as it pretends to be a demuxer using a real demuxer underneath.
Steve Lhomme (10):
[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 | 1 +
include/vlc_demux.h | 71 ++++-
modules/MODULES_LIST | 1 +
modules/demux/adaptive/plumbing/Demuxer.cpp | 8 +-
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 | 302 +++++++++++++++++++++
src/input/demux.c | 106 ++++++++
src/input/input.c | 69 +++--
src/input/input_internal.h | 2 +-
src/input/var.c | 1 +
src/libvlc-module.c | 5 +
src/libvlc.c | 2 +
17 files changed, 912 insertions(+), 61 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