12 #include "DVDInputStreams/InputStreamMultiSource.h" 20 typedef std::shared_ptr<CDVDDemux> DemuxPtr;
23 bool operator()(
const std::pair<double, DemuxPtr>& x,
const std::pair<double, DemuxPtr>& y)
const 25 return x.first > y.first;
29 typedef std::priority_queue<std::pair<double, DemuxPtr>, std::vector<std::pair<double, DemuxPtr>>,
comparator> DemuxQueue;
38 bool Open(
const std::shared_ptr<CDVDInputStream>& pInput);
41 void Abort()
override;
42 void EnableStream(int64_t demuxerId,
int id,
bool enable)
override;
43 void Flush()
override;
44 int GetNrOfStreams()
const override;
45 CDemuxStream* GetStream(int64_t demuxerId,
int iStreamId)
const override;
46 std::vector<CDemuxStream*> GetStreams()
const override;
47 std::string GetStreamCodecName(int64_t demuxerId,
int iStreamId)
override;
48 int GetStreamLength()
override;
50 bool Reset()
override;
51 bool SeekTime(
double time,
bool backwards =
false,
double* startpts = NULL)
override;
54 CDemuxStream* GetStream(
int iStreamId)
const override {
return nullptr; }
58 void SetMissingStreamDetails(
const DemuxPtr& demuxer);
60 std::shared_ptr<InputStreamMultiStreams> m_pInput = NULL;
61 std::map<DemuxPtr, InputStreamPtr> m_DemuxerToInputStreamMap;
62 DemuxQueue m_demuxerQueue;
63 std::map<int64_t, DemuxPtr> m_demuxerMap;
Definition: DVDDemux.h:221
Definition: DemuxMultiSource.h:31
Definition: DVDDemux.h:72
Definition: DemuxMultiSource.h:22
Definition: DemuxPacket.h:22