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 #include "media/formats/mp4/box_definitions.h" | 5 #include "media/formats/mp4/box_definitions.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
580 const AVCDecoderConfigurationRecord& other) = default; | 580 const AVCDecoderConfigurationRecord& other) = default; |
581 AVCDecoderConfigurationRecord::~AVCDecoderConfigurationRecord() {} | 581 AVCDecoderConfigurationRecord::~AVCDecoderConfigurationRecord() {} |
582 FourCC AVCDecoderConfigurationRecord::BoxType() const { return FOURCC_AVCC; } | 582 FourCC AVCDecoderConfigurationRecord::BoxType() const { return FOURCC_AVCC; } |
583 | 583 |
584 bool AVCDecoderConfigurationRecord::Parse(BoxReader* reader) { | 584 bool AVCDecoderConfigurationRecord::Parse(BoxReader* reader) { |
585 return ParseInternal(reader, reader->media_log()); | 585 return ParseInternal(reader, reader->media_log()); |
586 } | 586 } |
587 | 587 |
588 bool AVCDecoderConfigurationRecord::Parse(const uint8_t* data, int data_size) { | 588 bool AVCDecoderConfigurationRecord::Parse(const uint8_t* data, int data_size) { |
589 BufferReader reader(data, data_size); | 589 BufferReader reader(data, data_size); |
590 return ParseInternal(&reader, new MediaLog()); | 590 // TODO(wolenetz): Questionable MediaLog usage, http://crbug.com/712310 |
| 591 MediaLog media_log; |
| 592 return ParseInternal(&reader, &media_log); |
591 } | 593 } |
592 | 594 |
593 bool AVCDecoderConfigurationRecord::ParseInternal( | 595 bool AVCDecoderConfigurationRecord::ParseInternal(BufferReader* reader, |
594 BufferReader* reader, | 596 MediaLog* media_log) { |
595 const scoped_refptr<MediaLog>& media_log) { | |
596 RCHECK(reader->Read1(&version) && version == 1 && | 597 RCHECK(reader->Read1(&version) && version == 1 && |
597 reader->Read1(&profile_indication) && | 598 reader->Read1(&profile_indication) && |
598 reader->Read1(&profile_compatibility) && | 599 reader->Read1(&profile_compatibility) && |
599 reader->Read1(&avc_level)); | 600 reader->Read1(&avc_level)); |
600 | 601 |
601 uint8_t length_size_minus_one; | 602 uint8_t length_size_minus_one; |
602 RCHECK(reader->Read1(&length_size_minus_one)); | 603 RCHECK(reader->Read1(&length_size_minus_one)); |
603 length_size = (length_size_minus_one & 0x3) + 1; | 604 length_size = (length_size_minus_one & 0x3) + 1; |
604 | 605 |
605 RCHECK(length_size != 3); // Only values of 1, 2, and 4 are valid. | 606 RCHECK(length_size != 3); // Only values of 1, 2, and 4 are valid. |
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1461 SampleDependsOn IndependentAndDisposableSamples::sample_depends_on( | 1462 SampleDependsOn IndependentAndDisposableSamples::sample_depends_on( |
1462 size_t i) const { | 1463 size_t i) const { |
1463 if (i >= sample_depends_on_.size()) | 1464 if (i >= sample_depends_on_.size()) |
1464 return kSampleDependsOnUnknown; | 1465 return kSampleDependsOnUnknown; |
1465 | 1466 |
1466 return sample_depends_on_[i]; | 1467 return sample_depends_on_[i]; |
1467 } | 1468 } |
1468 | 1469 |
1469 } // namespace mp4 | 1470 } // namespace mp4 |
1470 } // namespace media | 1471 } // namespace media |
OLD | NEW |