vlc | branch: master | Francois Cartegnie <[email protected]> | Fri Jul 17 17:00:27 2015 +0200| [3258f4299e82dd782254e9e068c5cdde2faf7426] | committer: Francois Cartegnie
demux: adaptative: report es selection > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3258f4299e82dd782254e9e068c5cdde2faf7426 --- modules/demux/adaptative/Streams.cpp | 20 ++++++++++++++++++++ modules/demux/adaptative/Streams.hpp | 3 +++ 2 files changed, 23 insertions(+) diff --git a/modules/demux/adaptative/Streams.cpp b/modules/demux/adaptative/Streams.cpp index cf5231e..fb2521f 100644 --- a/modules/demux/adaptative/Streams.cpp +++ b/modules/demux/adaptative/Streams.cpp @@ -141,6 +141,11 @@ bool Stream::seekAble() const return (output && output->seekAble()); } +bool Stream::isSelected() const +{ + return output && output->isSelected(); +} + Stream::status Stream::demux(HTTPConnectionManager *connManager, mtime_t nz_deadline, bool send) { if(!output) @@ -442,6 +447,21 @@ bool BaseStreamOutput::switchAllowed() const return b_allowed; } +bool BaseStreamOutput::isSelected() const +{ + bool b_selected = false; + vlc_mutex_lock(const_cast<vlc_mutex_t *>(&lock)); + std::list<Demuxed *>::const_iterator it; + for(it=queues.begin(); it!=queues.end() && !b_selected; ++it) + { + const Demuxed *pair = *it; + if(pair->es_id) + es_out_Control(realdemux->out, ES_OUT_GET_ES_STATE, pair->es_id, &b_selected); + } + vlc_mutex_unlock(const_cast<vlc_mutex_t *>(&lock)); + return b_selected; +} + void BaseStreamOutput::sendToDecoder(mtime_t nzdeadline) { vlc_mutex_lock(&lock); diff --git a/modules/demux/adaptative/Streams.hpp b/modules/demux/adaptative/Streams.hpp index 3a16587..9960887 100644 --- a/modules/demux/adaptative/Streams.hpp +++ b/modules/demux/adaptative/Streams.hpp @@ -74,6 +74,7 @@ namespace adaptative int getGroup() const; int esCount() const; bool seekAble() const; + bool isSelected() const; typedef enum {status_eof, status_buffering, status_demuxed} status; status demux(HTTPConnectionManager *, mtime_t, bool); bool setPosition(mtime_t, bool); @@ -112,6 +113,7 @@ namespace adaptative virtual void sendToDecoder(mtime_t) = 0; virtual bool reinitsOnSeek() const = 0; virtual bool switchAllowed() const = 0; + virtual bool isSelected() const = 0; protected: demux_t *realdemux; @@ -142,6 +144,7 @@ namespace adaptative virtual void sendToDecoder(mtime_t); /* reimpl */ virtual bool reinitsOnSeek() const; /* reimpl */ virtual bool switchAllowed() const; /* reimpl */ + virtual bool isSelected() const; /* reimpl */ void setTimestampOffset(mtime_t); protected: _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
