Index: media/filters/ffmpeg_demuxer.cc |
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc |
index ac79358c49f7d2542f6979bc838418d696c587b4..02e50eedbba2224c9c1ef240987dde02f70fd09a 100644 |
--- a/media/filters/ffmpeg_demuxer.cc |
+++ b/media/filters/ffmpeg_demuxer.cc |
@@ -1332,6 +1332,14 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, |
track_label = streams_[i]->GetMetadata("title"); |
} |
+ if (codec_type == AVMEDIA_TYPE_AUDIO) { |
+ streams_[i]->set_enabled(detected_audio_track_count == 1, |
+ base::TimeDelta()); |
+ } else if (codec_type == AVMEDIA_TYPE_VIDEO) { |
+ streams_[i]->set_enabled(detected_video_track_count == 1, |
+ base::TimeDelta()); |
+ } |
+ |
if ((codec_type == AVMEDIA_TYPE_AUDIO && |
media_tracks->getAudioConfig(track_id).IsValidConfig()) || |
(codec_type == AVMEDIA_TYPE_VIDEO && |
@@ -1650,6 +1658,13 @@ void FFmpegDemuxer::OnEnabledAudioTracksChanged( |
FFmpegDemuxerStream* stream = track_id_to_demux_stream_map_[id]; |
DCHECK(stream); |
DCHECK_EQ(DemuxerStream::AUDIO, stream->type()); |
+ // TODO(servolk): Remove after multiple enabled audio tracks are supported |
+ // by the media::RendererImpl. |
+ if (!enabled_streams.empty()) { |
+ MEDIA_LOG(INFO, media_log_) |
+ << "Only one enabled audio track is supported, ignoring track " << id; |
+ continue; |
+ } |
enabled_streams.insert(stream); |
} |