Chromium Code Reviews| Index: media/filters/ffmpeg_demuxer.cc |
| diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc |
| index 70c55963f1c9700c2c090f89a0e270bde58e07c1..ea2e70fa69b27913c7c66909e41a982370ec712e 100644 |
| --- a/media/filters/ffmpeg_demuxer.cc |
| +++ b/media/filters/ffmpeg_demuxer.cc |
| @@ -17,6 +17,7 @@ |
| #include "base/metrics/sparse_histogram.h" |
| #include "base/stl_util.h" |
| #include "base/strings/string_util.h" |
| +#include "base/strings/stringprintf.h" |
| #include "base/task_runner_util.h" |
| #include "base/time/time.h" |
| #include "media/base/audio_decoder_config.h" |
| @@ -503,6 +504,7 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, |
| if (codec_type == AVMEDIA_TYPE_AUDIO) { |
| if (found_audio_stream) |
| continue; |
| + |
| // Log the codec detected, whether it is supported or not. |
| UMA_HISTOGRAM_SPARSE_SLOWLY("Media.DetectedAudioCodec", |
| codec_context->codec_id); |
| @@ -510,12 +512,24 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, |
| // channel layout and sample format are valid. |
| AudioDecoderConfig audio_config; |
| AVStreamToAudioDecoderConfig(stream, &audio_config, false); |
| + |
| + // Logging |
| + media_log_->SetStringProperty("audio_codec_name", |
|
scherkus (not reviewing)
2013/08/02 23:18:19
sorry ... I mean moving this down to around lines
Ty Overby
2013/08/03 00:02:23
Didn't we discus this earlier? If it is down ther
scherkus (not reviewing)
2013/08/03 00:17:17
yeah, but that only works if you save each set of
|
| + codec_context->codec_name); |
| + media_log_->SetIntegerProperty("audio_sample_rate", |
| + codec_context->sample_rate); |
| + media_log_->SetIntegerProperty("audio_channels_count", |
| + codec_context->channels); |
| + media_log_->SetIntegerProperty("audio_samples_per_second", |
| + audio_config.samples_per_second()); |
|
scherkus (not reviewing)
2013/08/03 00:17:17
fix indent
|
| + |
| if (!audio_config.IsValidConfig()) |
| continue; |
| found_audio_stream = true; |
| } else if (codec_type == AVMEDIA_TYPE_VIDEO) { |
| if (found_video_stream) |
| continue; |
| + |
| // Log the codec detected, whether it is supported or not. |
| UMA_HISTOGRAM_SPARSE_SLOWLY("Media.DetectedVideoCodec", |
| codec_context->codec_id); |
| @@ -523,6 +537,24 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, |
| // frame size and visible size are valid. |
| VideoDecoderConfig video_config; |
| AVStreamToVideoDecoderConfig(stream, &video_config, false); |
| + |
| + // Logging |
| + std::string codec_name = avcodec_get_name(codec_context->codec_id); |
|
scherkus (not reviewing)
2013/08/02 23:18:19
ditto for all this logging -- move down to lines 6
|
| + media_log_->SetStringProperty("video_codec_name", codec_name); |
| + media_log_->SetIntegerProperty("width", codec_context->width); |
| + media_log_->SetIntegerProperty("height", codec_context->height); |
| + media_log_->SetIntegerProperty("coded_width", codec_context->coded_width); |
| + media_log_->SetIntegerProperty("coded_height", |
| + codec_context->coded_height); |
| + media_log_->SetStringProperty( |
| + "time_base", base::StringPrintf("%d/%d", |
| + codec_context->time_base.num, |
| + codec_context->time_base.den)); |
| + media_log_->SetStringProperty("video_format", |
| + VideoFrame::FormatToString(video_config.format())); |
| + media_log_->SetBooleanProperty("video_is_encrypted", |
| + video_config.is_encrypted()); |
| + |
| if (!video_config.IsValidConfig()) |
| continue; |
| found_video_stream = true; |
| @@ -579,6 +611,14 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, |
| if (bitrate_ > 0) |
| data_source_->SetBitrate(bitrate_); |
| + media_log_->SetBooleanProperty("found_audio_stream", found_audio_stream); |
| + media_log_->SetBooleanProperty("found_video_stream", found_video_stream); |
| + media_log_->SetDoubleProperty("max_duration", max_duration.InSecondsF()); |
| + media_log_->SetDoubleProperty("start_time", start_time_.InSecondsF()); |
| + media_log_->SetStringProperty("filesize_in_bytes", |
| + std::to_string(filesize_in_bytes)); |
|
scherkus (not reviewing)
2013/08/03 00:17:17
nit: use IntToString() from base/strings/string_nu
|
| + media_log_->SetIntegerProperty("bitrate", bitrate_); |
| + |
| status_cb.Run(PIPELINE_OK); |
| } |