| Index: webkit/glue/webmediaplayer_impl.cc
|
| diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc
|
| index 098cd6132406a8be9cb264364fc687b9cf6717bf..61bb454353d0a6cd5e03493b1e6727f4719e5456 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();
|
| }
|
|
|
|
|