Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Side by Side Diff: media/formats/mp4/hevc.cc

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Actually fix fuzzers. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/hevc.h" 5 #include "media/formats/mp4/hevc.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 30 matching lines...) Expand all
41 41
42 HEVCDecoderConfigurationRecord::~HEVCDecoderConfigurationRecord() {} 42 HEVCDecoderConfigurationRecord::~HEVCDecoderConfigurationRecord() {}
43 FourCC HEVCDecoderConfigurationRecord::BoxType() const { return FOURCC_HVCC; } 43 FourCC HEVCDecoderConfigurationRecord::BoxType() const { return FOURCC_HVCC; }
44 44
45 bool HEVCDecoderConfigurationRecord::Parse(BoxReader* reader) { 45 bool HEVCDecoderConfigurationRecord::Parse(BoxReader* reader) {
46 return ParseInternal(reader, reader->media_log()); 46 return ParseInternal(reader, reader->media_log());
47 } 47 }
48 48
49 bool HEVCDecoderConfigurationRecord::Parse(const uint8_t* data, int data_size) { 49 bool HEVCDecoderConfigurationRecord::Parse(const uint8_t* data, int data_size) {
50 BufferReader reader(data, data_size); 50 BufferReader reader(data, data_size);
51 return ParseInternal(&reader, new MediaLog()); 51 // TODO(wolenetz): Questionable MediaLog usage, http://crbug.com/712310
52 MediaLog media_log;
53 return ParseInternal(&reader, &media_log);
chcunningham 2017/04/18 23:29:12 same story - should be easy to fix this one
DaleCurtis 2017/04/18 23:55:46 This one's actually used by https://cs.chromium.or
52 } 54 }
53 55
54 HEVCDecoderConfigurationRecord::HVCCNALArray::HVCCNALArray() 56 HEVCDecoderConfigurationRecord::HVCCNALArray::HVCCNALArray()
55 : first_byte(0) {} 57 : first_byte(0) {}
56 58
57 HEVCDecoderConfigurationRecord::HVCCNALArray::HVCCNALArray( 59 HEVCDecoderConfigurationRecord::HVCCNALArray::HVCCNALArray(
58 const HVCCNALArray& other) = default; 60 const HVCCNALArray& other) = default;
59 61
60 HEVCDecoderConfigurationRecord::HVCCNALArray::~HVCCNALArray() {} 62 HEVCDecoderConfigurationRecord::HVCCNALArray::~HVCCNALArray() {}
61 63
62 bool HEVCDecoderConfigurationRecord::ParseInternal( 64 bool HEVCDecoderConfigurationRecord::ParseInternal(BufferReader* reader,
63 BufferReader* reader, 65 MediaLog* media_log) {
64 const scoped_refptr<MediaLog>& media_log) {
65 uint8_t profile_indication = 0; 66 uint8_t profile_indication = 0;
66 uint32_t general_constraint_indicator_flags_hi = 0; 67 uint32_t general_constraint_indicator_flags_hi = 0;
67 uint16_t general_constraint_indicator_flags_lo = 0; 68 uint16_t general_constraint_indicator_flags_lo = 0;
68 uint8_t misc = 0; 69 uint8_t misc = 0;
69 RCHECK(reader->Read1(&configurationVersion) && configurationVersion == 1 && 70 RCHECK(reader->Read1(&configurationVersion) && configurationVersion == 1 &&
70 reader->Read1(&profile_indication) && 71 reader->Read1(&profile_indication) &&
71 reader->Read4(&general_profile_compatibility_flags) && 72 reader->Read4(&general_profile_compatibility_flags) &&
72 reader->Read4(&general_constraint_indicator_flags_hi) && 73 reader->Read4(&general_constraint_indicator_flags_hi) &&
73 reader->Read2(&general_constraint_indicator_flags_lo) && 74 reader->Read2(&general_constraint_indicator_flags_lo) &&
74 reader->Read1(&general_level_idc) && 75 reader->Read1(&general_level_idc) &&
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 // count for that first subsample. 244 // count for that first subsample.
244 RCHECK(HEVC::InsertParamSetsAnnexB(*hevc_config_, frame_buf, subsamples)); 245 RCHECK(HEVC::InsertParamSetsAnnexB(*hevc_config_, frame_buf, subsamples));
245 } 246 }
246 247
247 DCHECK(HEVC::IsValidAnnexB(*frame_buf, *subsamples)); 248 DCHECK(HEVC::IsValidAnnexB(*frame_buf, *subsamples));
248 return true; 249 return true;
249 } 250 }
250 251
251 } // namespace mp4 252 } // namespace mp4
252 } // namespace media 253 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698