[vlc-devel] [PATCH 00/12] Chromecast with dynamic stream_ouput
Steve Lhomme
robux4 at videolabs.io
Mon Apr 25 17:46:04 CEST 2016
Following the discussions on how to handle Chromecast properly, it was decided
that we should stick to a stream_output module that would adjust playback based
on the es_format_t that are added/deleted.
This series of patches changes the behaviour of the current Chromecast stream
output to work that way. The temporary control interface code is reused as the
class that controls the talking and the lifecycle of the Chromecast. Each time a
file is loaded in the player a new "sub-sout" is created with the proper MIME
type, and muxing/transcoding configuration according to the source.
Playing consecutive files work. Skipping to the next file during playback has
a buffering issue, the Chromecast will play everything it had in its buffer
before switching to the next file. Switching different audio/video tracks during
playback is not supported yet.
These patches require the following patches to work:
https://patches.videolan.org/patch/13063/
https://patches.videolan.org/patch/13064/
https://patches.videolan.org/patch/13065/
https://patches.videolan.org/patch/13066/
Steve Lhomme (12):
chromecast: var_GetNonEmptyString() cannot return a "" string
chromecast: use a local sout_stream_id_sys_t containing the
es_format_t
chromecast: wait until we know all the ES is use before using sending
data downstream
chromecast: only create the sub-sout when we know the ES in use
chromecast: chromecast_ctrl is no longer an interface plugin
chromecasst: the device ip/port is constant during the chromecast_ctrl
lifetime
chromecast: start the communication when the control class is created
chromecast: tell the control class when there's a file to play or not
chromecast: use the device ip/port to create the control class
chromecast: tell the control class when to tell the Chromecast to load
content
chromecast: cleaner release of the device on exit
chromecast: EOF is when the Chromecast is finished reading all sent
data
modules/stream_out/Makefile.am | 17 +-
modules/stream_out/chromecast/cast.cpp | 313 +++++++++++++++++++++-
modules/stream_out/chromecast/chromecast.h | 23 +-
modules/stream_out/chromecast/chromecast_ctrl.cpp | 280 ++++++++-----------
4 files changed, 435 insertions(+), 198 deletions(-)
--
2.7.0
More information about the vlc-devel
mailing list