12 #include "DVDInputStreams/DVDInputStream.h" 18 #include <libavcodec/avcodec.h> 19 #include <libavformat/avformat.h> 29 bool Open(std::shared_ptr<CDVDInputStream> pInput);
31 bool Reset()
override;
32 void Abort()
override;
33 void Flush()
override;
35 bool SeekTime(
double time,
bool backwards =
false,
double* startpts = NULL)
override;
36 void SetSpeed(
int iSpeed)
override;
37 void FillBuffer(
bool mode)
override;
39 std::vector<CDemuxStream*> GetStreams()
const override;
40 int GetNrOfStreams()
const override;
41 std::string GetFileName()
override;
42 std::string GetStreamCodecName(
int iStreamId)
override;
43 void EnableStream(
int id,
bool enable)
override;
44 void OpenStream(
int id)
override;
45 void SetVideoResolution(
unsigned int width,
unsigned int height)
override;
48 void RequestStreams();
49 void SetStreamProps(
CDemuxStream *stream, std::map<
int, std::shared_ptr<CDemuxStream>> &map,
bool forceInit);
51 void DisposeStreams();
52 std::shared_ptr<CDemuxStream> GetStreamInternal(
int iStreamId);
55 std::shared_ptr<CDVDInputStream> m_pInput;
56 std::shared_ptr<CDVDInputStream::IDemux> m_IDemux;
57 std::map<int, std::shared_ptr<CDemuxStream>> m_streams;
59 double m_dtsAtDisplayTime;
60 std::unique_ptr<DemuxPacket> m_packet;
61 int m_videoStreamPlaying = -1;
64 static inline bool CodecHasExtraData(AVCodecID
id);
Definition: DVDDemux.h:221
DemuxPacket * Read() override
Definition: DVDDemuxClient.cpp:312
Definition: DVDDemuxClient.h:22
Definition: DVDDemux.h:72
Definition: DemuxPacket.h:22