| Index: webkit/media/filter_helpers.cc
 | 
| diff --git a/webkit/media/filter_helpers.cc b/webkit/media/filter_helpers.cc
 | 
| index f665f84f2a4813cf207786cd00b5e0c0e0d70e5b..d1499a56da54abaf7a1c179e1503da8a922b8743 100644
 | 
| --- a/webkit/media/filter_helpers.cc
 | 
| +++ b/webkit/media/filter_helpers.cc
 | 
| @@ -7,10 +7,10 @@
 | 
|  #include "base/bind.h"
 | 
|  #include "media/base/filter_collection.h"
 | 
|  #include "media/base/message_loop_factory.h"
 | 
| -#include "media/filters/chunk_demuxer_factory.h"
 | 
| -#include "media/filters/dummy_demuxer_factory.h"
 | 
| +#include "media/filters/chunk_demuxer.h"
 | 
| +#include "media/filters/dummy_demuxer.h"
 | 
|  #include "media/filters/ffmpeg_audio_decoder.h"
 | 
| -#include "media/filters/ffmpeg_demuxer_factory.h"
 | 
| +#include "media/filters/ffmpeg_demuxer.h"
 | 
|  #include "media/filters/ffmpeg_video_decoder.h"
 | 
|  #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h"
 | 
|  #include "webkit/media/media_stream_client.h"
 | 
| @@ -60,9 +60,9 @@ bool BuildMediaStreamCollection(const WebKit::WebURL& url,
 | 
|    // that the MediaStream represents a local webcam. This will need to
 | 
|    // change in the future when GetVideoDecoder is no longer hardcoded to
 | 
|    // only return CaptureVideoDecoders.
 | 
| -  scoped_ptr<media::DemuxerFactory> demuxer_factory(
 | 
| -      new media::DummyDemuxerFactory(true, false, true));
 | 
| -  filter_collection->SetDemuxerFactory(demuxer_factory.Pass());
 | 
| +  //
 | 
| +  // See http://crbug.com/120426 for details.
 | 
| +  filter_collection->SetDemuxer(new media::DummyDemuxer(true, false, true));
 | 
|  
 | 
|    return true;
 | 
|  }
 | 
| @@ -77,9 +77,7 @@ bool BuildMediaSourceCollection(
 | 
|    if (media_source_url.isEmpty() || url != media_source_url)
 | 
|      return false;
 | 
|  
 | 
| -  scoped_ptr<media::DemuxerFactory> demuxer_factory(
 | 
| -      new media::ChunkDemuxerFactory(client));
 | 
| -  filter_collection->SetDemuxerFactory(demuxer_factory.Pass());
 | 
| +  filter_collection->SetDemuxer(new media::ChunkDemuxer(client));
 | 
|  
 | 
|    AddDefaultDecodersToCollection(message_loop_factory, filter_collection,
 | 
|                                   video_decoder);
 | 
| @@ -88,13 +86,14 @@ bool BuildMediaSourceCollection(
 | 
|  
 | 
|  void BuildDefaultCollection(
 | 
|      const scoped_refptr<media::DataSource>& data_source,
 | 
| +    bool local_source,
 | 
|      media::MessageLoopFactory* message_loop_factory,
 | 
|      media::FilterCollection* filter_collection,
 | 
|      scoped_refptr<media::FFmpegVideoDecoder>* video_decoder) {
 | 
| -  scoped_ptr<media::DemuxerFactory> demuxer_factory(
 | 
| -      new media::FFmpegDemuxerFactory(
 | 
| -          data_source, message_loop_factory->GetMessageLoop("PipelineThread")));
 | 
| -  filter_collection->SetDemuxerFactory(demuxer_factory.Pass());
 | 
| +  filter_collection->SetDemuxer(new media::FFmpegDemuxer(
 | 
| +      message_loop_factory->GetMessageLoop("PipelineThread"),
 | 
| +      data_source,
 | 
| +      local_source));
 | 
|  
 | 
|    AddDefaultDecodersToCollection(message_loop_factory, filter_collection,
 | 
|                                   video_decoder);
 | 
| 
 |