| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "webkit/media/webmediaplayer_impl.h" | 5 #include "webkit/media/webmediaplayer_impl.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 setPreload(GetClient()->preload()); | 214 setPreload(GetClient()->preload()); |
| 215 | 215 |
| 216 SetNetworkState(WebKit::WebMediaPlayer::Loading); | 216 SetNetworkState(WebKit::WebMediaPlayer::Loading); |
| 217 SetReadyState(WebKit::WebMediaPlayer::HaveNothing); | 217 SetReadyState(WebKit::WebMediaPlayer::HaveNothing); |
| 218 media_log_->AddEvent(media_log_->CreateLoadEvent(url.spec())); | 218 media_log_->AddEvent(media_log_->CreateLoadEvent(url.spec())); |
| 219 | 219 |
| 220 // Media streams pipelines can start immediately. | 220 // Media streams pipelines can start immediately. |
| 221 if (BuildMediaStreamCollection(url, media_stream_client_, | 221 if (BuildMediaStreamCollection(url, media_stream_client_, |
| 222 message_loop_factory_.get(), | 222 message_loop_factory_.get(), |
| 223 filter_collection_.get())) { | 223 filter_collection_.get())) { |
| 224 StartPipeline(gurl); | 224 StartPipeline(); |
| 225 return; | 225 return; |
| 226 } | 226 } |
| 227 | 227 |
| 228 // Media source pipelines can start immediately. | 228 // Media source pipelines can start immediately. |
| 229 if (BuildMediaSourceCollection(url, GetClient()->sourceURL(), proxy_, | 229 if (BuildMediaSourceCollection(url, GetClient()->sourceURL(), proxy_, |
| 230 message_loop_factory_.get(), | 230 message_loop_factory_.get(), |
| 231 filter_collection_.get())) { | 231 filter_collection_.get())) { |
| 232 StartPipeline(gurl); | 232 StartPipeline(); |
| 233 return; | 233 return; |
| 234 } | 234 } |
| 235 | 235 |
| 236 // Otherwise it's a regular request which requires resolving the URL first. | 236 // Otherwise it's a regular request which requires resolving the URL first. |
| 237 proxy_->set_data_source( | 237 proxy_->set_data_source( |
| 238 new BufferedDataSource(main_loop_, frame_, media_log_)); | 238 new BufferedDataSource(main_loop_, frame_, media_log_)); |
| 239 proxy_->data_source()->Initialize(url, base::Bind( | 239 proxy_->data_source()->Initialize(url, base::Bind( |
| 240 &WebMediaPlayerImpl::DataSourceInitialized, | 240 &WebMediaPlayerImpl::DataSourceInitialized, |
| 241 base::Unretained(this), gurl)); | 241 base::Unretained(this), gurl)); |
| 242 } | 242 } |
| (...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 817 const GURL& gurl, | 817 const GURL& gurl, |
| 818 media::PipelineStatus status) { | 818 media::PipelineStatus status) { |
| 819 DCHECK_EQ(main_loop_, MessageLoop::current()); | 819 DCHECK_EQ(main_loop_, MessageLoop::current()); |
| 820 | 820 |
| 821 if (status != media::PIPELINE_OK) { | 821 if (status != media::PIPELINE_OK) { |
| 822 SetNetworkState(WebKit::WebMediaPlayer::FormatError); | 822 SetNetworkState(WebKit::WebMediaPlayer::FormatError); |
| 823 Repaint(); | 823 Repaint(); |
| 824 return; | 824 return; |
| 825 } | 825 } |
| 826 | 826 |
| 827 // TODO(scherkus): this is leftover from removing DemuxerFactory -- instead |
| 828 // our DataSource should report this information. See http://crbug.com/120426 |
| 829 bool local_source = !gurl.SchemeIs("http") && !gurl.SchemeIs("https"); |
| 830 |
| 827 BuildDefaultCollection(proxy_->data_source(), | 831 BuildDefaultCollection(proxy_->data_source(), |
| 832 local_source, |
| 828 message_loop_factory_.get(), | 833 message_loop_factory_.get(), |
| 829 filter_collection_.get()); | 834 filter_collection_.get()); |
| 830 StartPipeline(gurl); | 835 StartPipeline(); |
| 831 } | 836 } |
| 832 | 837 |
| 833 void WebMediaPlayerImpl::StartPipeline(const GURL& gurl) { | 838 void WebMediaPlayerImpl::StartPipeline() { |
| 834 started_ = true; | 839 started_ = true; |
| 835 pipeline_->Start( | 840 pipeline_->Start( |
| 836 filter_collection_.Pass(), | 841 filter_collection_.Pass(), |
| 837 gurl.spec(), | |
| 838 base::Bind(&WebMediaPlayerProxy::PipelineEndedCallback, proxy_.get()), | 842 base::Bind(&WebMediaPlayerProxy::PipelineEndedCallback, proxy_.get()), |
| 839 base::Bind(&WebMediaPlayerProxy::PipelineErrorCallback, proxy_.get()), | 843 base::Bind(&WebMediaPlayerProxy::PipelineErrorCallback, proxy_.get()), |
| 840 base::Bind(&WebMediaPlayerProxy::NetworkEventCallback, proxy_.get()), | 844 base::Bind(&WebMediaPlayerProxy::NetworkEventCallback, proxy_.get()), |
| 841 base::Bind(&WebMediaPlayerProxy::PipelineInitializationCallback, | 845 base::Bind(&WebMediaPlayerProxy::PipelineInitializationCallback, |
| 842 proxy_.get())); | 846 proxy_.get())); |
| 843 } | 847 } |
| 844 | 848 |
| 845 void WebMediaPlayerImpl::SetNetworkState( | 849 void WebMediaPlayerImpl::SetNetworkState( |
| 846 WebKit::WebMediaPlayer::NetworkState state) { | 850 WebKit::WebMediaPlayer::NetworkState state) { |
| 847 DCHECK_EQ(main_loop_, MessageLoop::current()); | 851 DCHECK_EQ(main_loop_, MessageLoop::current()); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 903 return audio_source_provider_; | 907 return audio_source_provider_; |
| 904 } | 908 } |
| 905 | 909 |
| 906 void WebMediaPlayerImpl::IncrementExternallyAllocatedMemory() { | 910 void WebMediaPlayerImpl::IncrementExternallyAllocatedMemory() { |
| 907 DCHECK_EQ(main_loop_, MessageLoop::current()); | 911 DCHECK_EQ(main_loop_, MessageLoop::current()); |
| 908 incremented_externally_allocated_memory_ = true; | 912 incremented_externally_allocated_memory_ = true; |
| 909 v8::V8::AdjustAmountOfExternalAllocatedMemory(kPlayerExtraMemory); | 913 v8::V8::AdjustAmountOfExternalAllocatedMemory(kPlayerExtraMemory); |
| 910 } | 914 } |
| 911 | 915 |
| 912 } // namespace webkit_media | 916 } // namespace webkit_media |
| OLD | NEW |