Commit 31c781a9 authored by Francois Cartegnie's avatar Francois Cartegnie

demux: adaptative: add support for slave demuxers

parent 60aa97cc
...@@ -113,3 +113,40 @@ int Demuxer::demux(mtime_t) ...@@ -113,3 +113,40 @@ int Demuxer::demux(mtime_t)
b_eof = true; b_eof = true;
return i_ret; return i_ret;
} }
SlaveDemuxer::SlaveDemuxer(demux_t *p_realdemux, const std::string &name, es_out_t *out, AbstractSourceStream *source)
: Demuxer(p_realdemux, name, out, source)
{
length = VLC_TS_INVALID;
b_reinitsonseek = false;
b_startsfromzero = false;
}
SlaveDemuxer::~SlaveDemuxer()
{
}
bool SlaveDemuxer::create()
{
if(Demuxer::create())
{
length = VLC_TS_INVALID;
if(demux_Control(p_demux, DEMUX_GET_LENGTH, &length) != VLC_SUCCESS)
b_eof = true;
return true;
}
return false;
}
int SlaveDemuxer::demux(mtime_t nz_deadline)
{
if( demux_Control(p_demux, DEMUX_SET_NEXT_DEMUX_TIME, VLC_TS_0 + nz_deadline) != VLC_SUCCESS )
{
b_eof = true;
return VLC_DEMUXER_EOF;
}
int ret = Demuxer::demux(nz_deadline);
es_out_Control(p_es_out, ES_OUT_SET_GROUP_PCR, 0, VLC_TS_0 + nz_deadline);
return ret;
}
...@@ -59,7 +59,7 @@ namespace adaptative ...@@ -59,7 +59,7 @@ namespace adaptative
virtual bool create(); /* impl */ virtual bool create(); /* impl */
virtual bool restart(CommandsQueue &); /* impl */ virtual bool restart(CommandsQueue &); /* impl */
private: protected:
AbstractSourceStream *sourcestream; AbstractSourceStream *sourcestream;
demux_t *p_realdemux; demux_t *p_realdemux;
demux_t *p_demux; demux_t *p_demux;
...@@ -68,6 +68,18 @@ namespace adaptative ...@@ -68,6 +68,18 @@ namespace adaptative
bool b_eof; bool b_eof;
}; };
class SlaveDemuxer : public Demuxer
{
public:
SlaveDemuxer(demux_t *, const std::string &, es_out_t *, AbstractSourceStream *);
virtual ~SlaveDemuxer();
virtual bool create(); /* reimpl */
virtual int demux(mtime_t); /* reimpl */
private:
mtime_t length;
};
} }
#endif // DEMUXER_HPP #endif // DEMUXER_HPP
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment