Index: media/base/pipeline_impl.cc |
diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc |
index 5f4705b5d2639c6b4b2dd65bceacc72178d26d9c..2c9d6e8d0c2fc2b35e665dbf1c8a452b7fd8cc6d 100644 |
--- a/media/base/pipeline_impl.cc |
+++ b/media/base/pipeline_impl.cc |
@@ -68,6 +68,7 @@ void PipelineImpl::Start(Demuxer* demuxer, |
const PipelineStatusCB& seek_cb, |
const PipelineMetadataCB& metadata_cb, |
const BufferingStateCB& buffering_state_cb, |
+ const NaturalSizeChangedCB& natural_size_changed_cb, |
const base::Closure& duration_change_cb, |
const AddTextTrackCB& add_text_track_cb, |
const base::Closure& waiting_for_decryption_key_cb) { |
@@ -88,6 +89,7 @@ void PipelineImpl::Start(Demuxer* demuxer, |
seek_cb_ = seek_cb; |
metadata_cb_ = metadata_cb; |
buffering_state_cb_ = buffering_state_cb; |
+ natural_size_changed_cb_ = natural_size_changed_cb; |
duration_change_cb_ = duration_change_cb; |
add_text_track_cb_ = add_text_track_cb; |
waiting_for_decryption_key_cb_ = waiting_for_decryption_key_cb; |
@@ -842,6 +844,7 @@ void PipelineImpl::InitializeRenderer(const PipelineStatusCB& done_cb) { |
demuxer_, done_cb, |
base::Bind(&PipelineImpl::OnUpdateStatistics, weak_this_), |
base::Bind(&PipelineImpl::BufferingStateChanged, weak_this_), |
+ base::Bind(&PipelineImpl::OnNaturalSizeChanged, weak_this_), |
base::Bind(&PipelineImpl::OnRendererEnded, weak_this_), |
base::Bind(&PipelineImpl::OnError, weak_this_), |
waiting_for_decryption_key_cb_); |
@@ -869,4 +872,10 @@ void PipelineImpl::BufferingStateChanged(BufferingState new_buffering_state) { |
buffering_state_cb_.Run(new_buffering_state); |
} |
+void PipelineImpl::OnNaturalSizeChanged(const gfx::Size& size) { |
+ DVLOG(1) << __FUNCTION__ << "(" << size.ToString() << ")"; |
+ DCHECK(task_runner_->BelongsToCurrentThread()); |
+ natural_size_changed_cb_.Run(size); |
+} |
+ |
} // namespace media |