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

Side by Side Diff: media/filters/stream_parser_factory.cc

Issue 2773793002: Allow mp3 audio codec for mpeg2ts containers in MSE (Closed)
Patch Set: CR feedback Created 3 years, 9 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
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/formats/mp2t/mp2t_stream_parser.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/filters/stream_parser_factory.h" 5 #include "media/filters/stream_parser_factory.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 &kADTSCodecInfo, 291 &kADTSCodecInfo,
292 NULL 292 NULL
293 }; 293 };
294 294
295 static StreamParser* BuildADTSParser(const std::vector<std::string>& codecs, 295 static StreamParser* BuildADTSParser(const std::vector<std::string>& codecs,
296 const scoped_refptr<MediaLog>& media_log) { 296 const scoped_refptr<MediaLog>& media_log) {
297 return new ADTSStreamParser(); 297 return new ADTSStreamParser();
298 } 298 }
299 299
300 #if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER) 300 #if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
301 static const CodecInfo* kVideoMP2TCodecs[] = { 301 // These codec ids correspond to object types registered with MP4RA and are the
302 &kH264AVC1CodecInfo, 302 // same as MP3 audio codec ids in media/base/mime_util_internal.cc.
303 &kH264AVC3CodecInfo, 303 // From http://www.mp4ra.org/object.html:
304 &kMPEG4AACCodecInfo, 304 // 69 Audio ISO/IEC 13818-3
305 &kMPEG2AACLCCodecInfo, 305 // 6B Audio ISO/IEC 11172-3
306 NULL 306 static const CodecInfo kMPEG2TS_MP3CodecInfo1 = {
307 }; 307 "mp4a.69", CodecInfo::AUDIO, NULL, CodecInfo::HISTOGRAM_MP3};
308 static const CodecInfo kMPEG2TS_MP3CodecInfo2 = {
309 "mp4a.6B", CodecInfo::AUDIO, NULL, CodecInfo::HISTOGRAM_MP3};
310
311 static const CodecInfo* kVideoMP2TCodecs[] = {&kH264AVC1CodecInfo,
312 &kH264AVC3CodecInfo,
313 &kMPEG2TS_MP3CodecInfo1,
314 &kMPEG2TS_MP3CodecInfo2,
315 &kMPEG4AACCodecInfo,
316 &kMPEG2AACLCCodecInfo,
317 NULL};
308 318
309 static StreamParser* BuildMP2TParser(const std::vector<std::string>& codecs, 319 static StreamParser* BuildMP2TParser(const std::vector<std::string>& codecs,
310 const scoped_refptr<MediaLog>& media_log) { 320 const scoped_refptr<MediaLog>& media_log) {
311 bool has_sbr = false; 321 bool has_sbr = false;
312 for (size_t i = 0; i < codecs.size(); ++i) { 322 for (size_t i = 0; i < codecs.size(); ++i) {
313 std::string codec_id = codecs[i]; 323 std::string codec_id = codecs[i];
314 if (base::MatchPattern(codec_id, kMPEG4AACCodecInfo.pattern)) { 324 if (base::MatchPattern(codec_id, kMPEG4AACCodecInfo.pattern)) {
315 int audio_object_type = GetMP4AudioObjectType(codec_id, media_log); 325 int audio_object_type = GetMP4AudioObjectType(codec_id, media_log);
316 if (audio_object_type == kAACSBRObjectType || 326 if (audio_object_type == kAACSBRObjectType ||
317 audio_object_type == kAACPSObjectType) { 327 audio_object_type == kAACPSObjectType) {
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 CodecInfo::HISTOGRAM_MAX + 1); 492 CodecInfo::HISTOGRAM_MAX + 1);
483 } 493 }
484 494
485 stream_parser.reset(factory_function(codecs, media_log)); 495 stream_parser.reset(factory_function(codecs, media_log));
486 } 496 }
487 497
488 return stream_parser; 498 return stream_parser;
489 } 499 }
490 500
491 } // namespace media 501 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/formats/mp2t/mp2t_stream_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698