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;
45 std::list<std::unique_ptr<StreamData>> cues;
49 Status InitializeInternal()
override;
50 Status Process(std::unique_ptr<StreamData> data)
override;
51 Status OnFlushRequest(
size_t stream_index)
override;
54 Status OnStreamInfo(std::unique_ptr<StreamData> data);
56 Status OnVideoSample(std::unique_ptr<StreamData> sample);
57 Status OnNonVideoSample(std::unique_ptr<StreamData> sample);
58 Status OnSample(std::unique_ptr<StreamData> sample);
61 Status UseNewSyncPoint(std::shared_ptr<const CueEvent> new_sync);
64 bool EveryoneWaitingAtHint()
const;
67 Status AcceptSample(std::unique_ptr<StreamData> sample,
68 StreamState* stream_state);
71 Status RunThroughSamples(StreamState* stream);
74 std::vector<StreamState> stream_states_;
90 #endif // PACKAGER_MEDIA_CHUNKING_CUE_ALIGNMENT_HANDLER_
All the methods that are virtual are virtual for mocking.