5 #ifndef MEDIA_FORMATS_MP4_ES_DESCRIPTOR_H_
6 #define MEDIA_FORMATS_MP4_ES_DESCRIPTOR_H_
13 namespace edash_packager {
26 kISO_13818_7_AAC_LC = 0x67,
41 bool Parse(
const std::vector<uint8_t>& data);
43 size_t ComputeSize()
const;
45 uint16_t esid()
const {
return esid_; }
46 void set_esid(uint16_t esid) { esid_ = esid; }
48 uint32_t max_bitrate()
const {
return max_bitrate_; }
49 void set_max_bitrate(uint32_t max_bitrate) { max_bitrate_ = max_bitrate; }
51 uint32_t avg_bitrate()
const {
return avg_bitrate_; }
52 void set_avg_bitrate(uint32_t avg_bitrate) { avg_bitrate_ = avg_bitrate; }
54 ObjectType object_type()
const {
return object_type_; }
55 void set_object_type(ObjectType object_type) { object_type_ = object_type; }
57 const std::vector<uint8_t>& decoder_specific_info()
const {
58 return decoder_specific_info_;
60 void set_decoder_specific_info(
61 const std::vector<uint8_t>& decoder_specific_info) {
62 decoder_specific_info_ = decoder_specific_info;
67 return object_type_ == kISO_14496_3 || object_type_ == kISO_13818_7_AAC_LC;
71 return object_type_ == kDTSC || object_type_ == kDTSE ||
72 object_type_ == kDTSH || object_type_ == kDTSL;
78 kDecoderConfigDescrTag = 0x04,
79 kDecoderSpecificInfoTag = 0x05,
83 bool ParseDecoderConfigDescriptor(BitReader* reader);
84 bool ParseDecoderSpecificInfo(BitReader* reader);
87 ObjectType object_type_;
88 uint32_t max_bitrate_;
89 uint32_t avg_bitrate_;
90 std::vector<uint8_t> decoder_specific_info_;
98 #endif // MEDIA_FORMATS_MP4_ES_DESCRIPTOR_H_