[vlc-commits] chromecast: EOF is when the Chromecast is finished reading all sent data
Steve Lhomme
git at videolan.org
Tue May 3 13:23:00 CEST 2016
vlc | branch: master | Steve Lhomme <robux4 at videolabs.io> | Thu Apr 28 14:21:00 2016 +0200| [dec57440ec365eeffc453983566fff6ecde5873a] | committer: Thomas Guillem
chromecast: EOF is when the Chromecast is finished reading all sent data
It will then tell it's buffering, waiting for more data
Signed-off-by: Thomas Guillem <thomas at gllm.fr>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dec57440ec365eeffc453983566fff6ecde5873a
---
modules/stream_out/chromecast/cast.cpp | 8 ++++++++
modules/stream_out/chromecast/chromecast.h | 5 +++++
2 files changed, 13 insertions(+)
diff --git a/modules/stream_out/chromecast/cast.cpp b/modules/stream_out/chromecast/cast.cpp
index 4e3608a..99455ed 100644
--- a/modules/stream_out/chromecast/cast.cpp
+++ b/modules/stream_out/chromecast/cast.cpp
@@ -379,6 +379,14 @@ static int Control(sout_stream_t *p_stream, int i_query, va_list args)
{
sout_stream_sys_t *p_sys = p_stream->p_sys;
+ if (i_query == SOUT_STREAM_EMPTY)
+ {
+ bool *b = va_arg( args, bool * );
+ /* check if the Chromecast to be done playing */
+ *b = p_sys->p_intf == NULL || p_sys->p_intf->isFinishedPlaying();
+ return VLC_SUCCESS;
+ }
+
if ( !p_sys->p_out->pf_control )
return VLC_EGENERIC;
diff --git a/modules/stream_out/chromecast/chromecast.h b/modules/stream_out/chromecast/chromecast.h
index 0635a4f..3b13c4a 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -82,6 +82,11 @@ struct intf_sys_t
intf_sys_t(vlc_object_t * const p_this, int local_port, std::string device_addr, int device_port = 0);
~intf_sys_t();
+ bool isFinishedPlaying() {
+ vlc_mutex_locker locker(&lock);
+ return conn_status == CHROMECAST_CONNECTION_DEAD || (receiverState == RECEIVER_BUFFERING && cmd_status != CMD_SEEK_SENT);
+ }
+
void setHasInput( bool has_input, const std::string mime_type = "");
private:
More information about the vlc-commits
mailing list