diff options
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/media/buffered_data_source.cc | 5 | ||||
-rw-r--r-- | webkit/glue/media/buffered_data_source.h | 2 | ||||
-rw-r--r-- | webkit/glue/media/buffered_data_source_unittest.cc | 6 | ||||
-rw-r--r-- | webkit/glue/media/simple_data_source.cc | 6 | ||||
-rw-r--r-- | webkit/glue/media/web_data_source_factory.cc | 9 | ||||
-rw-r--r-- | webkit/glue/webmediaplayer_impl.cc | 81 | ||||
-rw-r--r-- | webkit/glue/webmediaplayer_impl.h | 35 |
7 files changed, 77 insertions, 67 deletions
diff --git a/webkit/glue/media/buffered_data_source.cc b/webkit/glue/media/buffered_data_source.cc index 135c49e..2622255 100644 --- a/webkit/glue/media/buffered_data_source.cc +++ b/webkit/glue/media/buffered_data_source.cc @@ -412,14 +412,15 @@ void BufferedDataSource::DoneRead_Locked(int error) { read_buffer_ = 0; } -void BufferedDataSource::DoneInitialization_Locked(media::PipelineError error) { +void BufferedDataSource::DoneInitialization_Locked( + media::PipelineStatus status) { DCHECK(MessageLoop::current() == render_loop_); DCHECK(initialize_callback_.get()); lock_.AssertAcquired(); scoped_ptr<media::PipelineStatusCallback> initialize_callback( initialize_callback_.release()); - initialize_callback->Run(error); + initialize_callback->Run(status); } ///////////////////////////////////////////////////////////////////////////// diff --git a/webkit/glue/media/buffered_data_source.h b/webkit/glue/media/buffered_data_source.h index 9e043b0..5ab3035 100644 --- a/webkit/glue/media/buffered_data_source.h +++ b/webkit/glue/media/buffered_data_source.h @@ -98,7 +98,7 @@ class BufferedDataSource : public WebDataSource { void DoneRead_Locked(int error); // Calls |initialize_callback_| and reset it. - void DoneInitialization_Locked(media::PipelineError error); + void DoneInitialization_Locked(media::PipelineStatus status); // Callback method for |loader_| if URL for the resource requested is using // HTTP protocol. This method is called when response for initial request is diff --git a/webkit/glue/media/buffered_data_source_unittest.cc b/webkit/glue/media/buffered_data_source_unittest.cc index 9763678..dd5c891 100644 --- a/webkit/glue/media/buffered_data_source_unittest.cc +++ b/webkit/glue/media/buffered_data_source_unittest.cc @@ -168,7 +168,7 @@ class BufferedDataSourceTest : public testing::Test { .WillByDefault(Return(partial_response)); ON_CALL(*loader_, url()) .WillByDefault(ReturnRef(gurl_)); - media::PipelineError expected_init_error = media::PIPELINE_OK; + media::PipelineStatus expected_init_status = media::PIPELINE_OK; if (initialized_ok) { // Expected loaded or not. EXPECT_CALL(host_, SetLoaded(loaded)); @@ -184,13 +184,13 @@ class BufferedDataSourceTest : public testing::Test { EXPECT_CALL(host_, SetStreaming(true)); } } else { - expected_init_error = media::PIPELINE_ERROR_NETWORK; + expected_init_status = media::PIPELINE_ERROR_NETWORK; EXPECT_CALL(*loader_, Stop()); } // Actual initialization of the data source. data_source_->Initialize(url, - media::NewExpectedStatusCallback(expected_init_error)); + media::NewExpectedStatusCallback(expected_init_status)); message_loop_->RunAllPending(); if (initialized_ok) { diff --git a/webkit/glue/media/simple_data_source.cc b/webkit/glue/media/simple_data_source.cc index ca258d4..186f6d7 100644 --- a/webkit/glue/media/simple_data_source.cc +++ b/webkit/glue/media/simple_data_source.cc @@ -321,12 +321,12 @@ void SimpleDataSource::CancelTask() { void SimpleDataSource::DoneInitialization_Locked(bool success) { lock_.AssertAcquired(); - media::PipelineError error = media::PIPELINE_ERROR_NETWORK; + media::PipelineStatus status = media::PIPELINE_ERROR_NETWORK; if (success) { state_ = INITIALIZED; UpdateHostState(); - error = media::PIPELINE_OK; + status = media::PIPELINE_OK; } else { state_ = UNINITIALIZED; url_loader_.reset(); @@ -334,7 +334,7 @@ void SimpleDataSource::DoneInitialization_Locked(bool success) { scoped_ptr<media::PipelineStatusCallback> initialize_callback( initialize_callback_.release()); - initialize_callback->Run(error); + initialize_callback->Run(status); } void SimpleDataSource::UpdateHostState() { diff --git a/webkit/glue/media/web_data_source_factory.cc b/webkit/glue/media/web_data_source_factory.cc index f9036c7..d98e2da 100644 --- a/webkit/glue/media/web_data_source_factory.cc +++ b/webkit/glue/media/web_data_source_factory.cc @@ -21,7 +21,7 @@ class WebDataSourceFactory::BuildRequest virtual void DoStart(); private: - void InitDone(media::PipelineError error); + void InitDone(media::PipelineStatus status); scoped_refptr<WebDataSource> data_source_; WebDataSourceBuildObserverHack* build_observer_; @@ -84,17 +84,18 @@ void WebDataSourceFactory::BuildRequest::DoStart() { data_source_->Initialize(url(), NewCallback(this, &BuildRequest::InitDone)); } -void WebDataSourceFactory::BuildRequest::InitDone(media::PipelineError error) { +void WebDataSourceFactory::BuildRequest::InitDone( + media::PipelineStatus status) { scoped_refptr<WebDataSource> data_source; - data_source = (error == media::PIPELINE_OK) ? data_source_ : NULL; + data_source = (status == media::PIPELINE_OK) ? data_source_ : NULL; data_source_ = NULL; if (build_observer_ && data_source.get()) { build_observer_->Run(data_source.get()); } - RequestComplete(error, data_source); + RequestComplete(status, data_source); // Don't do anything after this line. This object is deleted by // RequestComplete(). } diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc index 098cd61..61bb454 100644 --- a/webkit/glue/webmediaplayer_impl.cc +++ b/webkit/glue/webmediaplayer_impl.cc @@ -33,6 +33,7 @@ using WebKit::WebCanvas; using WebKit::WebRect; using WebKit::WebSize; +using media::PipelineStatus; namespace { @@ -171,29 +172,31 @@ void WebMediaPlayerImpl::Proxy::Detach() { } } -void WebMediaPlayerImpl::Proxy::PipelineInitializationCallback() { - render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, - &WebMediaPlayerImpl::Proxy::PipelineInitializationTask)); +void WebMediaPlayerImpl::Proxy::PipelineInitializationCallback( + PipelineStatus status) { + render_loop_->PostTask(FROM_HERE, NewRunnableMethod( + this, &WebMediaPlayerImpl::Proxy::PipelineInitializationTask, status)); } -void WebMediaPlayerImpl::Proxy::PipelineSeekCallback() { - render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, - &WebMediaPlayerImpl::Proxy::PipelineSeekTask)); +void WebMediaPlayerImpl::Proxy::PipelineSeekCallback(PipelineStatus status) { + render_loop_->PostTask(FROM_HERE, NewRunnableMethod( + this, &WebMediaPlayerImpl::Proxy::PipelineSeekTask, status)); } -void WebMediaPlayerImpl::Proxy::PipelineEndedCallback() { - render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, - &WebMediaPlayerImpl::Proxy::PipelineEndedTask)); +void WebMediaPlayerImpl::Proxy::PipelineEndedCallback(PipelineStatus status) { + render_loop_->PostTask(FROM_HERE, NewRunnableMethod( + this, &WebMediaPlayerImpl::Proxy::PipelineEndedTask, status)); } -void WebMediaPlayerImpl::Proxy::PipelineErrorCallback() { - render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, - &WebMediaPlayerImpl::Proxy::PipelineErrorTask)); +void WebMediaPlayerImpl::Proxy::PipelineErrorCallback(PipelineStatus error) { + DCHECK_NE(error, media::PIPELINE_OK); + render_loop_->PostTask(FROM_HERE, NewRunnableMethod( + this, &WebMediaPlayerImpl::Proxy::PipelineErrorTask, error)); } -void WebMediaPlayerImpl::Proxy::NetworkEventCallback() { - render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, - &WebMediaPlayerImpl::Proxy::NetworkEventTask)); +void WebMediaPlayerImpl::Proxy::NetworkEventCallback(PipelineStatus status) { + render_loop_->PostTask(FROM_HERE, NewRunnableMethod( + this, &WebMediaPlayerImpl::Proxy::NetworkEventTask, status)); } void WebMediaPlayerImpl::Proxy::AddDataSource(WebDataSource* data_source) { @@ -213,38 +216,39 @@ void WebMediaPlayerImpl::Proxy::RepaintTask() { } } -void WebMediaPlayerImpl::Proxy::PipelineInitializationTask() { +void WebMediaPlayerImpl::Proxy::PipelineInitializationTask( + PipelineStatus status) { DCHECK(MessageLoop::current() == render_loop_); if (webmediaplayer_) { - webmediaplayer_->OnPipelineInitialize(); + webmediaplayer_->OnPipelineInitialize(status); } } -void WebMediaPlayerImpl::Proxy::PipelineSeekTask() { +void WebMediaPlayerImpl::Proxy::PipelineSeekTask(PipelineStatus status) { DCHECK(MessageLoop::current() == render_loop_); if (webmediaplayer_) { - webmediaplayer_->OnPipelineSeek(); + webmediaplayer_->OnPipelineSeek(status); } } -void WebMediaPlayerImpl::Proxy::PipelineEndedTask() { +void WebMediaPlayerImpl::Proxy::PipelineEndedTask(PipelineStatus status) { DCHECK(MessageLoop::current() == render_loop_); if (webmediaplayer_) { - webmediaplayer_->OnPipelineEnded(); + webmediaplayer_->OnPipelineEnded(status); } } -void WebMediaPlayerImpl::Proxy::PipelineErrorTask() { +void WebMediaPlayerImpl::Proxy::PipelineErrorTask(PipelineStatus error) { DCHECK(MessageLoop::current() == render_loop_); if (webmediaplayer_) { - webmediaplayer_->OnPipelineError(); + webmediaplayer_->OnPipelineError(error); } } -void WebMediaPlayerImpl::Proxy::NetworkEventTask() { +void WebMediaPlayerImpl::Proxy::NetworkEventTask(PipelineStatus status) { DCHECK(MessageLoop::current() == render_loop_); if (webmediaplayer_) { - webmediaplayer_->OnNetworkEvent(); + webmediaplayer_->OnNetworkEvent(status); } } @@ -744,9 +748,9 @@ void WebMediaPlayerImpl::Repaint() { GetClient()->repaint(); } -void WebMediaPlayerImpl::OnPipelineInitialize() { +void WebMediaPlayerImpl::OnPipelineInitialize(PipelineStatus status) { DCHECK(MessageLoop::current() == main_loop_); - if (pipeline_->GetError() == media::PIPELINE_OK) { + if (status == media::PIPELINE_OK) { // Only keep one time range starting from 0. WebKit::WebTimeRanges new_buffered(static_cast<size_t>(1)); new_buffered[0].start = 0.0f; @@ -763,7 +767,7 @@ void WebMediaPlayerImpl::OnPipelineInitialize() { SetNetworkState(WebKit::WebMediaPlayer::Loaded); } } else { - // TODO(hclam): should use pipeline_->GetError() to determine the state + // TODO(hclam): should use |status| to determine the state // properly and reports error using MediaError. // WebKit uses FormatError to indicate an error for bogus URL or bad file. // Since we are at the initialization stage we can safely treat every error @@ -775,9 +779,9 @@ void WebMediaPlayerImpl::OnPipelineInitialize() { Repaint(); } -void WebMediaPlayerImpl::OnPipelineSeek() { +void WebMediaPlayerImpl::OnPipelineSeek(PipelineStatus status) { DCHECK(MessageLoop::current() == main_loop_); - if (pipeline_->GetError() == media::PIPELINE_OK) { + if (status == media::PIPELINE_OK) { // Update our paused time. if (paused_) { paused_time_ = pipeline_->GetCurrentTime(); @@ -789,17 +793,20 @@ void WebMediaPlayerImpl::OnPipelineSeek() { } } -void WebMediaPlayerImpl::OnPipelineEnded() { +void WebMediaPlayerImpl::OnPipelineEnded(PipelineStatus status) { DCHECK(MessageLoop::current() == main_loop_); - if (pipeline_->GetError() == media::PIPELINE_OK) { + if (status == media::PIPELINE_OK) { GetClient()->timeChanged(); } } -void WebMediaPlayerImpl::OnPipelineError() { +void WebMediaPlayerImpl::OnPipelineError(PipelineStatus error) { DCHECK(MessageLoop::current() == main_loop_); - switch (pipeline_->GetError()) { + switch (error) { case media::PIPELINE_OK: + LOG(DFATAL) << "PIPELINE_OK isn't an error!"; + break; + case media::PIPELINE_ERROR_INITIALIZATION_FAILED: case media::PIPELINE_ERROR_REQUIRED_FILTER_MISSING: case media::PIPELINE_ERROR_COULD_NOT_RENDER: @@ -830,9 +837,9 @@ void WebMediaPlayerImpl::OnPipelineError() { Repaint(); } -void WebMediaPlayerImpl::OnNetworkEvent() { +void WebMediaPlayerImpl::OnNetworkEvent(PipelineStatus status) { DCHECK(MessageLoop::current() == main_loop_); - if (pipeline_->GetError() == media::PIPELINE_OK) { + if (status == media::PIPELINE_OK) { if (pipeline_->IsNetworkActive()) { SetNetworkState(WebKit::WebMediaPlayer::Loading); } else { @@ -892,7 +899,7 @@ void WebMediaPlayerImpl::Destroy() { } } -void WebMediaPlayerImpl::PipelineStoppedCallback() { +void WebMediaPlayerImpl::PipelineStoppedCallback(PipelineStatus status) { pipeline_stopped_.Signal(); } diff --git a/webkit/glue/webmediaplayer_impl.h b/webkit/glue/webmediaplayer_impl.h index e7acf27..ef356b5 100644 --- a/webkit/glue/webmediaplayer_impl.h +++ b/webkit/glue/webmediaplayer_impl.h @@ -111,11 +111,11 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer, void AbortDataSources(); // Methods for PipelineImpl -> WebMediaPlayerImpl communication. - void PipelineInitializationCallback(); - void PipelineSeekCallback(); - void PipelineEndedCallback(); - void PipelineErrorCallback(); - void NetworkEventCallback(); + void PipelineInitializationCallback(media::PipelineStatus status); + void PipelineSeekCallback(media::PipelineStatus status); + void PipelineEndedCallback(media::PipelineStatus status); + void PipelineErrorCallback(media::PipelineStatus error); + void NetworkEventCallback(media::PipelineStatus status); // Returns the message loop used by the proxy. MessageLoop* message_loop() { return render_loop_; } @@ -132,19 +132,20 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer, void RepaintTask(); // Notify |webmediaplayer_| that initialization has finished. - void PipelineInitializationTask(); + void PipelineInitializationTask(media::PipelineStatus status); // Notify |webmediaplayer_| that a seek has finished. - void PipelineSeekTask(); + void PipelineSeekTask(media::PipelineStatus status); // Notify |webmediaplayer_| that the media has ended. - void PipelineEndedTask(); + void PipelineEndedTask(media::PipelineStatus status); - // Notify |webmediaplayer_| that a pipeline error has been set. - void PipelineErrorTask(); + // Notify |webmediaplayer_| that a pipeline error has occurred during + // playback. + void PipelineErrorTask(media::PipelineStatus error); // Notify |webmediaplayer_| that there's a network event. - void NetworkEventTask(); + void NetworkEventTask(media::PipelineStatus status); // The render message loop where WebKit lives. MessageLoop* render_loop_; @@ -261,15 +262,15 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer, void Repaint(); - void OnPipelineInitialize(); + void OnPipelineInitialize(media::PipelineStatus status); - void OnPipelineSeek(); + void OnPipelineSeek(media::PipelineStatus status); - void OnPipelineEnded(); + void OnPipelineEnded(media::PipelineStatus status); - void OnPipelineError(); + void OnPipelineError(media::PipelineStatus error); - void OnNetworkEvent(); + void OnNetworkEvent(media::PipelineStatus status); private: // Helpers that set the network/ready state and notifies the client if @@ -282,7 +283,7 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer, // Callback executed after |pipeline_| stops which signals Destroy() // to continue. - void PipelineStoppedCallback(); + void PipelineStoppedCallback(media::PipelineStatus status); // Getter method to |client_|. WebKit::WebMediaPlayerClient* GetClient(); |