Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MEDIA_FORMATS_MP4_BOX_DEFINITIONS_H_ | 5 #ifndef MEDIA_FORMATS_MP4_BOX_DEFINITIONS_H_ |
| 6 #define MEDIA_FORMATS_MP4_BOX_DEFINITIONS_H_ | 6 #define MEDIA_FORMATS_MP4_BOX_DEFINITIONS_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 348 | 348 |
| 349 // Returns the SampleDependsOn value for the |i|'th value | 349 // Returns the SampleDependsOn value for the |i|'th value |
| 350 // in the track. If no data was parsed for the |i|'th sample, | 350 // in the track. If no data was parsed for the |i|'th sample, |
| 351 // then |kSampleDependsOnUnknown| is returned. | 351 // then |kSampleDependsOnUnknown| is returned. |
| 352 SampleDependsOn sample_depends_on(size_t i) const; | 352 SampleDependsOn sample_depends_on(size_t i) const; |
| 353 | 353 |
| 354 private: | 354 private: |
| 355 std::vector<SampleDependsOn> sample_depends_on_; | 355 std::vector<SampleDependsOn> sample_depends_on_; |
| 356 }; | 356 }; |
| 357 | 357 |
| 358 struct MEDIA_EXPORT CencSampleEncryptionInfoEntry { | |
| 359 CencSampleEncryptionInfoEntry(); | |
| 360 ~CencSampleEncryptionInfoEntry(); | |
| 361 | |
| 362 bool is_encrypted; | |
| 363 uint8 iv_size; | |
| 364 std::vector<uint8> key_id; | |
| 365 }; | |
| 366 | |
| 367 struct MEDIA_EXPORT SampleGroupDescription : Box { | |
|
xhwang
2014/05/01 19:11:28
Add comment that this is "sgpd" box.
kqyang
2014/05/01 20:26:35
Done.
| |
| 368 DECLARE_BOX_METHODS(SampleGroupDescription); | |
| 369 | |
| 370 uint32 grouping_type; | |
| 371 std::vector<CencSampleEncryptionInfoEntry> entries; | |
| 372 }; | |
| 373 | |
| 374 struct MEDIA_EXPORT SampleToGroupEntry { | |
| 375 enum GroupDescriptionIndexBase { | |
| 376 kTrackGroupDescriptionIndexBase = 0, | |
| 377 kFragmentGroupDescriptionIndexBase = 0x10000, | |
| 378 }; | |
| 379 | |
| 380 uint32 sample_count; | |
| 381 uint32 group_description_index; | |
| 382 }; | |
| 383 | |
| 384 struct MEDIA_EXPORT SampleToGroup : Box { | |
|
xhwang
2014/05/01 19:11:28
Add comment that this is a "sbgp" box.
kqyang
2014/05/01 20:26:35
Done.
| |
| 385 DECLARE_BOX_METHODS(SampleToGroup); | |
| 386 | |
| 387 uint32 grouping_type; | |
| 388 uint32 grouping_type_parameter; // Version 1 only. | |
| 389 std::vector<SampleToGroupEntry> entries; | |
| 390 }; | |
| 391 | |
| 358 struct MEDIA_EXPORT TrackFragment : Box { | 392 struct MEDIA_EXPORT TrackFragment : Box { |
| 359 DECLARE_BOX_METHODS(TrackFragment); | 393 DECLARE_BOX_METHODS(TrackFragment); |
| 360 | 394 |
| 361 TrackFragmentHeader header; | 395 TrackFragmentHeader header; |
| 362 std::vector<TrackFragmentRun> runs; | 396 std::vector<TrackFragmentRun> runs; |
| 363 TrackFragmentDecodeTime decode_time; | 397 TrackFragmentDecodeTime decode_time; |
| 364 SampleAuxiliaryInformationOffset auxiliary_offset; | 398 SampleAuxiliaryInformationOffset auxiliary_offset; |
| 365 SampleAuxiliaryInformationSize auxiliary_size; | 399 SampleAuxiliaryInformationSize auxiliary_size; |
| 366 IndependentAndDisposableSamples sdtp; | 400 IndependentAndDisposableSamples sdtp; |
| 401 SampleGroupDescription sample_group_description; | |
| 402 SampleToGroup sample_to_group; | |
| 367 }; | 403 }; |
| 368 | 404 |
| 369 struct MEDIA_EXPORT MovieFragment : Box { | 405 struct MEDIA_EXPORT MovieFragment : Box { |
| 370 DECLARE_BOX_METHODS(MovieFragment); | 406 DECLARE_BOX_METHODS(MovieFragment); |
| 371 | 407 |
| 372 MovieFragmentHeader header; | 408 MovieFragmentHeader header; |
| 373 std::vector<TrackFragment> tracks; | 409 std::vector<TrackFragment> tracks; |
| 374 std::vector<ProtectionSystemSpecificHeader> pssh; | 410 std::vector<ProtectionSystemSpecificHeader> pssh; |
| 375 }; | 411 }; |
| 376 | 412 |
| 377 #undef DECLARE_BOX | 413 #undef DECLARE_BOX |
| 378 | 414 |
| 379 } // namespace mp4 | 415 } // namespace mp4 |
| 380 } // namespace media | 416 } // namespace media |
| 381 | 417 |
| 382 #endif // MEDIA_FORMATS_MP4_BOX_DEFINITIONS_H_ | 418 #endif // MEDIA_FORMATS_MP4_BOX_DEFINITIONS_H_ |
| OLD | NEW |