41 std::shared_ptr<const StreamInfo> info;
44 std::list<std::unique_ptr<StreamData>> samples;
46 bool to_be_flushed =
false;
48 double max_text_sample_end_time_seconds = 0;
52 std::list<std::unique_ptr<StreamData>> cues;
56 Status InitializeInternal()
override;
57 Status Process(std::unique_ptr<StreamData> data)
override;
58 Status OnFlushRequest(
size_t stream_index)
override;
61 Status OnStreamInfo(std::unique_ptr<StreamData> data);
63 Status OnVideoSample(std::unique_ptr<StreamData> sample);
64 Status OnNonVideoSample(std::unique_ptr<StreamData> sample);
65 Status OnSample(std::unique_ptr<StreamData> sample);
68 Status UseNewSyncPoint(std::shared_ptr<const CueEvent> new_sync);
71 bool EveryoneWaitingAtHint()
const;
74 Status AcceptSample(std::unique_ptr<StreamData> sample,
75 StreamState* stream_state);
78 Status RunThroughSamples(StreamState* stream);
81 std::deque<StreamState> stream_states_;