Index: media/filters/stream_parser_factory.cc |
diff --git a/media/filters/stream_parser_factory.cc b/media/filters/stream_parser_factory.cc |
index 26325f3d822b1ac198b414e3010de517d082c787..772d1e57cc44a1fd2043639dc0dd28f5975ad7c4 100644 |
--- a/media/filters/stream_parser_factory.cc |
+++ b/media/filters/stream_parser_factory.cc |
@@ -35,9 +35,8 @@ |
namespace media { |
-typedef bool (*CodecIDValidatorFunction)( |
- const std::string& codecs_id, |
- const scoped_refptr<MediaLog>& media_log); |
+typedef bool (*CodecIDValidatorFunction)(const std::string& codecs_id, |
+ MediaLog* media_log); |
struct CodecInfo { |
enum Type { |
@@ -73,7 +72,7 @@ struct CodecInfo { |
typedef StreamParser* (*ParserFactoryFunction)( |
const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log); |
+ MediaLog* media_log); |
struct SupportedTypeInfo { |
const char* type; |
@@ -103,13 +102,13 @@ static const CodecInfo* kAudioWebMCodecs[] = { |
}; |
static StreamParser* BuildWebMParser(const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
return new WebMStreamParser(); |
} |
#if BUILDFLAG(USE_PROPRIETARY_CODECS) |
bool CheckIfMp4Vp9DemuxingEnabled(const std::string& codec_id, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
return base::CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kEnableVp9InMp4); |
} |
@@ -120,7 +119,7 @@ static const int kAACSBRObjectType = 5; |
static const int kAACPSObjectType = 29; |
static int GetMP4AudioObjectType(const std::string& codec_id, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
// From RFC 6381 section 3.3 (ISO Base Media File Format Name Space): |
// When the first element of a ['codecs' parameter value] is 'mp4a' ..., |
// the second element is a hexadecimal representation of the MP4 Registration |
@@ -143,8 +142,7 @@ static int GetMP4AudioObjectType(const std::string& codec_id, |
return -1; |
} |
-bool ValidateMP4ACodecID(const std::string& codec_id, |
- const scoped_refptr<MediaLog>& media_log) { |
+bool ValidateMP4ACodecID(const std::string& codec_id, MediaLog* media_log) { |
int audio_object_type = GetMP4AudioObjectType(codec_id, media_log); |
if (audio_object_type == kAACLCObjectType || |
audio_object_type == kAACSBRObjectType || |
@@ -237,7 +235,7 @@ static const CodecInfo* kAudioMP4Codecs[] = {&kMPEG4AACCodecInfo, |
NULL}; |
static StreamParser* BuildMP4Parser(const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
std::set<int> audio_object_types; |
bool has_sbr = false; |
@@ -281,7 +279,7 @@ static const CodecInfo* kAudioMP3Codecs[] = { |
}; |
static StreamParser* BuildMP3Parser(const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
return new MPEG1AudioStreamParser(); |
} |
@@ -293,7 +291,7 @@ static const CodecInfo* kAudioADTSCodecs[] = { |
}; |
static StreamParser* BuildADTSParser(const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
return new ADTSStreamParser(); |
} |
@@ -317,7 +315,7 @@ static const CodecInfo* kVideoMP2TCodecs[] = {&kH264AVC1CodecInfo, |
NULL}; |
static StreamParser* BuildMP2TParser(const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
bool has_sbr = false; |
for (size_t i = 0; i < codecs.size(); ++i) { |
std::string codec_id = codecs[i]; |
@@ -404,7 +402,7 @@ static bool VerifyCodec( |
static bool CheckTypeAndCodecs( |
const std::string& type, |
const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log, |
+ MediaLog* media_log, |
ParserFactoryFunction* factory_function, |
std::vector<CodecInfo::HistogramTag>* audio_codecs, |
std::vector<CodecInfo::HistogramTag>* video_codecs) { |
@@ -464,14 +462,17 @@ static bool CheckTypeAndCodecs( |
} |
bool StreamParserFactory::IsTypeSupported( |
- const std::string& type, const std::vector<std::string>& codecs) { |
- return CheckTypeAndCodecs(type, codecs, new MediaLog(), NULL, NULL, NULL); |
+ const std::string& type, |
+ const std::vector<std::string>& codecs) { |
+ // TODO(wolenetz): Questionable MediaLog usage, http://crbug.com/712310 |
+ MediaLog media_log; |
+ return CheckTypeAndCodecs(type, codecs, &media_log, NULL, NULL, NULL); |
} |
std::unique_ptr<StreamParser> StreamParserFactory::Create( |
const std::string& type, |
const std::vector<std::string>& codecs, |
- const scoped_refptr<MediaLog>& media_log) { |
+ MediaLog* media_log) { |
std::unique_ptr<StreamParser> stream_parser; |
ParserFactoryFunction factory_function; |
std::vector<CodecInfo::HistogramTag> audio_codecs; |