[vlc-devel] [PATCH 00/33] Move the Chromecast communication in a separate class

Steve Lhomme robux4 at videolabs.io
Wed Dec 23 13:05:59 CET 2015


On Wed, Dec 23, 2015 at 12:58 PM, Steve Lhomme <robux4 at videolabs.io> wrote:
> This batch of patches moves the non-stream output part of the Chromecast code
> in a separate class.
> There also some functional changes and cleaning.

This code moving will allow more flexible handling of the Chromecast.
It will be part of
a control interface that redirects the played items to the connected
Chromecast (patches not included yet).

> Steve Lhomme (33):
>   input: remove unused second parameter of DEMUX_SET_POSITION and
>     DEMUX_SET_TIME
>   input: remove unused variable "input-fast-seek"

This sneaked in but shouldn't be here. It can safely be ignored.

>   chromecast: move the message sending in a separate class
>   chromecast: rename msg methods according to the receiver
>   chromecast: reuse the same objects for namespaces
>   chromecast: pass the destination namespace by reference
>   chromecast: move processMessage() in the communication handler
>   chromecast: processMessage() doesn't need to return a value
>   chromecast: use the enum to handle the connection status
>   chromecast: make conn_status private and use getter/setter
>   chromecast: move the message sending in the communication handler
>   chromecast: move buildMessage() in the class
>   chromecast: pass const references to buildMessage()
>   chromecast: factorize the code to push a message to send
>   chromecast: the default payload type we send is STRING
>   chromecast: simplify the auth payload sending
>   chromecast: no need to share some constants anymore
>   chromecast: GET_STATUS and LAUNCH require a request ID
>   chromecast: move the packet receiver in the communication handler
>   chromecast: differentiate error logs
>   chromecast: make sure we send all the message data
>   chromecast: use U32_AT instead of memcpy() + hton32()
>   chromecast: use a reference to the received namespace
>   chromecast: only lock once when checking the current app
>   chromecast: when another app is running on the receiver, start the
>     media player
>   chromecast: log when the Chromecast reports a launch error
>   chromecast: better and less logs
>   chromecast: make sure we send the load when the data are flowing
>   chromecast: use vlc_mutex_locker
>   chromecast: move connect/disconnectChromecast in the communication
>     handler
>   chromecast: remove unused headers
>   chromecast: the stream cannot work if the communication handler is
>     NULL
>   stream_out: only enable Chromecast if SOUT is enabled
>
>  include/vlc_demux.h                               |   4 +-
>  modules/stream_out/Makefile.am                    |   3 +
>  modules/stream_out/chromecast/cast.cpp            | 726 ++--------------------
>  modules/stream_out/chromecast/chromecast.h        |  83 ++-
>  modules/stream_out/chromecast/chromecast_ctrl.cpp | 635 +++++++++++++++++++
>  src/input/input.c                                 |  13 +-
>  src/input/input_internal.h                        |   1 -
>  src/input/var.c                                   |   1 -
>  src/libvlc-module.c                               |   7 -
>  9 files changed, 767 insertions(+), 706 deletions(-)
>  create mode 100644 modules/stream_out/chromecast/chromecast_ctrl.cpp
>
> --
> 2.6.3
>


More information about the vlc-devel mailing list