Index: media/blink/webmediaplayer_impl.cc |
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc |
index 408569c7560234a179ccfed3ed0b766ce0bf3aaf..3e359cbfb0a4c5f86e8eb27847df4e335ad5dc7f 100644 |
--- a/media/blink/webmediaplayer_impl.cc |
+++ b/media/blink/webmediaplayer_impl.cc |
@@ -848,6 +848,14 @@ void WebMediaPlayerImpl::OnEncryptedMediaInitData( |
base::saturated_cast<unsigned int>(init_data.size())); |
} |
+void WebMediaPlayerImpl::OnFFmpegMediaTracksUpdated( |
+ scoped_ptr<MediaTracks> tracks) { |
+ // For MSE/chunk_demuxer case the media track updates are handled by |
+ // WebSourceBufferImpl. |
+ DCHECK(demuxer_.get()); |
+ DCHECK(!chunk_demuxer_); |
+} |
+ |
void WebMediaPlayerImpl::OnWaitingForDecryptionKey() { |
encrypted_client_->didBlockPlaybackWaitingForKey(); |
@@ -1383,8 +1391,13 @@ void WebMediaPlayerImpl::StartPipeline() { |
DCHECK(data_source_); |
#if !defined(MEDIA_DISABLE_FFMPEG) |
+ Demuxer::MediaTracksUpdatedCB media_tracks_updated_cb = |
+ base::Bind(&WebMediaPlayerImpl::OnFFmpegMediaTracksUpdated, |
+ base::Unretained(this)); |
+ |
demuxer_.reset(new FFmpegDemuxer(media_task_runner_, data_source_.get(), |
- encrypted_media_init_data_cb, media_log_)); |
+ encrypted_media_init_data_cb, |
+ media_tracks_updated_cb, media_log_)); |
#else |
OnPipelineError(PipelineStatus::DEMUXER_ERROR_COULD_NOT_OPEN); |
return; |