Remove DemuxerFactory and URL parameter from Pipeline.

Since Demuxers still require asynchronous initialization DemuxerFactory::Build() has been replaced with Demuxer::Initialize(). Since FFmpegDemuxer is the only Demuxer requiring a DataSource it is now passed in via FFmpegDemuxer's constructor.

Now that Demuxer::set_host() is guaranteed to be called prior to initialization we're able to tighten up some code inside ChunkDemuxer. We should still nuke set_host() (see bug 111585) but I'll leave that for a future CL.

BUG=110804, 110809

Review URL: https://chromiumcodereview.appspot.com/9860027

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130165 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc
index 6283c65..146f2839 100644
--- a/webkit/media/webmediaplayer_impl.cc
+++ b/webkit/media/webmediaplayer_impl.cc
@@ -221,7 +221,7 @@
   if (BuildMediaStreamCollection(url, media_stream_client_,
                                  message_loop_factory_.get(),
                                  filter_collection_.get())) {
-    StartPipeline(gurl);
+    StartPipeline();
     return;
   }
 
@@ -231,8 +231,8 @@
                                  message_loop_factory_.get(),
                                  filter_collection_.get(),
                                  &video_decoder)) {
-    StartPipeline(gurl);
     proxy_->set_video_decoder(video_decoder);
+    StartPipeline();
     return;
   }
 
@@ -827,20 +827,24 @@
     return;
   }
 
+  // TODO(scherkus): this is leftover from removing DemuxerFactory -- instead
+  // our DataSource should report this information. See http://crbug.com/120426
+  bool local_source = !gurl.SchemeIs("http") && !gurl.SchemeIs("https");
+
   scoped_refptr<media::FFmpegVideoDecoder> video_decoder;
   BuildDefaultCollection(proxy_->data_source(),
+                         local_source,
                          message_loop_factory_.get(),
                          filter_collection_.get(),
                          &video_decoder);
   proxy_->set_video_decoder(video_decoder);
-  StartPipeline(gurl);
+  StartPipeline();
 }
 
-void WebMediaPlayerImpl::StartPipeline(const GURL& gurl) {
+void WebMediaPlayerImpl::StartPipeline() {
   started_ = true;
   pipeline_->Start(
       filter_collection_.Pass(),
-      gurl.spec(),
       base::Bind(&WebMediaPlayerProxy::PipelineEndedCallback, proxy_.get()),
       base::Bind(&WebMediaPlayerProxy::PipelineErrorCallback, proxy_.get()),
       base::Bind(&WebMediaPlayerProxy::NetworkEventCallback, proxy_.get()),