Index: media/formats/mp4/box_definitions.h |
diff --git a/media/formats/mp4/box_definitions.h b/media/formats/mp4/box_definitions.h |
index 5aa0e493a6c94c700d037a4940661969d7467a31..c7129b0a3a8977981b08d0dc5cec261c812d000c 100644 |
--- a/media/formats/mp4/box_definitions.h |
+++ b/media/formats/mp4/box_definitions.h |
@@ -365,6 +365,40 @@ class MEDIA_EXPORT IndependentAndDisposableSamples : public Box { |
std::vector<SampleDependsOn> sample_depends_on_; |
}; |
+struct MEDIA_EXPORT CencSampleEncryptionInfoEntry { |
+ CencSampleEncryptionInfoEntry(); |
+ ~CencSampleEncryptionInfoEntry(); |
+ |
+ bool is_encrypted; |
+ uint8 iv_size; |
+ std::vector<uint8> key_id; |
+}; |
+ |
+struct MEDIA_EXPORT SampleGroupDescription : Box { // 'sgpd'. |
+ DECLARE_BOX_METHODS(SampleGroupDescription); |
+ |
+ uint32 grouping_type; |
+ std::vector<CencSampleEncryptionInfoEntry> entries; |
+}; |
+ |
+struct MEDIA_EXPORT SampleToGroupEntry { |
+ enum GroupDescriptionIndexBase { |
+ kTrackGroupDescriptionIndexBase = 0, |
+ kFragmentGroupDescriptionIndexBase = 0x10000, |
+ }; |
+ |
+ uint32 sample_count; |
+ uint32 group_description_index; |
+}; |
+ |
+struct MEDIA_EXPORT SampleToGroup : Box { // 'sbgp'. |
+ DECLARE_BOX_METHODS(SampleToGroup); |
+ |
+ uint32 grouping_type; |
+ uint32 grouping_type_parameter; // Version 1 only. |
+ std::vector<SampleToGroupEntry> entries; |
+}; |
+ |
struct MEDIA_EXPORT TrackFragment : Box { |
DECLARE_BOX_METHODS(TrackFragment); |
@@ -374,6 +408,8 @@ struct MEDIA_EXPORT TrackFragment : Box { |
SampleAuxiliaryInformationOffset auxiliary_offset; |
SampleAuxiliaryInformationSize auxiliary_size; |
IndependentAndDisposableSamples sdtp; |
+ SampleGroupDescription sample_group_description; |
+ SampleToGroup sample_to_group; |
}; |
struct MEDIA_EXPORT MovieFragment : Box { |