7 #ifndef PACKAGER_MEDIA_BASE_TRICK_PLAY_HANDLER_H_
8 #define PACKAGER_MEDIA_BASE_TRICK_PLAY_HANDLER_H_
12 #include "packager/media/base/media_handler.h"
17 class VideoStreamInfo;
32 Status InitializeInternal()
override;
33 Status Process(std::unique_ptr<StreamData> stream_data)
override;
34 Status OnFlushRequest(
size_t input_stream_index)
override;
37 Status OnSegmentInfo(std::shared_ptr<const SegmentInfo> info);
41 const uint32_t factor_;
43 uint64_t total_frames_ = 0;
44 uint64_t total_key_frames_ = 0;
45 uint64_t total_trick_frames_ = 0;
51 std::shared_ptr<VideoStreamInfo> video_info_;
55 std::shared_ptr<SegmentInfo> previous_segment_;
61 std::shared_ptr<MediaSample> previous_trick_frame_;
68 std::list<std::unique_ptr<StreamData>> delayed_messages_;
74 #endif // PACKAGER_MEDIA_BASE_TRICK_PLAY_HANDLER_H_