7 #ifndef PACKAGER_MEDIA_BASE_VIDEO_STREAM_INFO_H_ 8 #define PACKAGER_MEDIA_BASE_VIDEO_STREAM_INFO_H_ 10 #include "packager/media/base/stream_info.h" 15 enum class H26xStreamFormat {
18 kNalUnitStreamWithParameterSetNalus,
19 kNalUnitStreamWithoutParameterSetNalus,
34 H26xStreamFormat h26x_stream_format,
35 const std::string& codec_string,
36 const uint8_t* codec_config,
37 size_t codec_config_size,
41 uint32_t pixel_height,
42 uint32_t trick_play_factor,
43 uint8_t nalu_length_size,
44 const std::string& language,
51 bool IsValidConfig()
const override;
52 std::string ToString()
const override;
53 std::unique_ptr<StreamInfo> Clone()
const override;
56 H26xStreamFormat h26x_stream_format()
const {
return h26x_stream_format_; }
57 uint16_t width()
const {
return width_; }
58 uint16_t height()
const {
return height_; }
65 uint8_t nalu_length_size()
const {
return nalu_length_size_; }
66 uint32_t trick_play_factor()
const {
return trick_play_factor_; }
67 uint32_t playback_rate()
const {
return playback_rate_; }
68 const std::vector<uint8_t>& eme_init_data()
const {
return eme_init_data_; }
70 void set_width(uint32_t width) { width_ = width; }
71 void set_height(uint32_t height) { height_ = height; }
72 void set_pixel_width(uint32_t pixel_width) { pixel_width_ = pixel_width; }
73 void set_pixel_height(uint32_t pixel_height) { pixel_height_ = pixel_height; }
74 void set_trick_play_factor(uint32_t trick_play_factor) {
75 trick_play_factor_ = trick_play_factor;
77 void set_playback_rate(uint32_t playback_rate) {
78 playback_rate_ = playback_rate;
80 void set_eme_init_data(
const uint8_t* eme_init_data,
81 size_t eme_init_data_size) {
82 eme_init_data_.assign(eme_init_data, eme_init_data + eme_init_data_size);
86 H26xStreamFormat h26x_stream_format_;
92 uint32_t pixel_width_;
93 uint32_t pixel_height_;
94 uint32_t trick_play_factor_ = 0;
107 uint32_t playback_rate_ = 0;
112 uint8_t nalu_length_size_;
116 std::vector<uint8_t> eme_init_data_;
126 #endif // PACKAGER_MEDIA_BASE_VIDEO_STREAM_INFO_H_
All the methods that are virtual are virtual for mocking.