27 bool Open(
const std::string& filename,
int source,
const std::string& subfilename);
30 bool Reset()
override;
31 void Flush()
override;
33 bool SeekTime(
double time,
bool backwards,
double* startpts = NULL)
override;
34 CDemuxStream* GetStream(
int index)
const override {
return m_Streams[index]; }
35 std::vector<CDemuxStream*> GetStreams()
const override;
36 int GetNrOfStreams()
const override {
return m_Streams.size(); }
37 std::string GetFileName()
override {
return m_Filename; }
38 void EnableStream(
int id,
bool enable)
override;
47 bool m_discard =
false;
51 typedef struct STimestamp
58 std::string m_Filename;
59 std::shared_ptr<CDVDInputStream> m_Input;
60 std::unique_ptr<CDVDDemuxFFmpeg> m_Demuxer;
61 std::vector<STimestamp> m_Timestamps;
62 std::vector<STimestamp>::iterator m_Timestamp;
63 std::vector<CStream*> m_Streams;
75 bool operator()(
const STimestamp &p1,
const STimestamp &p2)
77 return p1.pts < p2.pts || (p1.pts == p2.pts && p1.id < p2.id);
81 bool ParseLangIdx(SState& state, std::string& line);
82 bool ParseDelay(SState& state, std::string& line);
83 bool ParseId(SState& state, std::string& line);
84 bool ParseExtra(SState& state,
const std::string& line);
85 bool ParseTimestamp(SState& state, std::string& line);
Definition: DVDDemux.h:221
Definition: DVDOverlayCodecFFmpeg.h:21
Definition: DVDDemuxFFmpeg.h:80
Definition: DVDDemuxVobsub.h:21
Definition: DVDDemux.h:185
Definition: LibInputPointer.h:13
Definition: DVDDemux.h:72
Definition: DemuxPacket.h:22