7 #ifndef PACKAGER_MEDIA_CHUNKING_CUE_ALIGNMENT_HANDLER_ 8 #define PACKAGER_MEDIA_CHUNKING_CUE_ALIGNMENT_HANDLER_ 12 #include "packager/media/base/media_handler.h" 13 #include "packager/media/chunking/sync_point_queue.h" 36 std::shared_ptr<const StreamInfo> info;
39 std::list<std::unique_ptr<StreamData>> samples;
41 bool to_be_flushed =
false;
43 double max_text_sample_end_time_seconds = 0;
47 std::list<std::unique_ptr<StreamData>> cues;
51 Status InitializeInternal()
override;
52 Status Process(std::unique_ptr<StreamData> data)
override;
53 Status OnFlushRequest(
size_t stream_index)
override;
56 Status OnStreamInfo(std::unique_ptr<StreamData> data);
58 Status OnVideoSample(std::unique_ptr<StreamData> sample);
59 Status OnNonVideoSample(std::unique_ptr<StreamData> sample);
60 Status OnSample(std::unique_ptr<StreamData> sample);
63 Status UseNewSyncPoint(std::shared_ptr<const CueEvent> new_sync);
66 bool EveryoneWaitingAtHint()
const;
69 Status AcceptSample(std::unique_ptr<StreamData> sample,
70 StreamState* stream_state);
73 Status RunThroughSamples(StreamState* stream);
76 std::vector<StreamState> stream_states_;
92 #endif // PACKAGER_MEDIA_CHUNKING_CUE_ALIGNMENT_HANDLER_
All the methods that are virtual are virtual for mocking.