Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Side by Side Diff: media/renderers/default_renderer_factory.cc

Issue 2543633006: To M56: Use ffmpeg for opus decoding, no need to maintain our decoder. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/filters/opus_audio_decoder.cc ('k') | media/test/pipeline_integration_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "media/renderers/default_renderer_factory.h" 5 #include "media/renderers/default_renderer_factory.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/single_thread_task_runner.h" 11 #include "base/single_thread_task_runner.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "media/base/decoder_factory.h" 13 #include "media/base/decoder_factory.h"
14 #include "media/base/media_log.h" 14 #include "media/base/media_log.h"
15 #include "media/filters/gpu_video_decoder.h" 15 #include "media/filters/gpu_video_decoder.h"
16 #include "media/filters/opus_audio_decoder.h"
17 #include "media/renderers/audio_renderer_impl.h" 16 #include "media/renderers/audio_renderer_impl.h"
18 #include "media/renderers/gpu_video_accelerator_factories.h" 17 #include "media/renderers/gpu_video_accelerator_factories.h"
19 #include "media/renderers/renderer_impl.h" 18 #include "media/renderers/renderer_impl.h"
20 #include "media/renderers/video_renderer_impl.h" 19 #include "media/renderers/video_renderer_impl.h"
21 20
22 #if !defined(MEDIA_DISABLE_FFMPEG) 21 #if !defined(MEDIA_DISABLE_FFMPEG)
23 #include "media/filters/ffmpeg_audio_decoder.h" 22 #include "media/filters/ffmpeg_audio_decoder.h"
24 #if !defined(DISABLE_FFMPEG_VIDEO_DECODERS) 23 #if !defined(DISABLE_FFMPEG_VIDEO_DECODERS)
25 #include "media/filters/ffmpeg_video_decoder.h" 24 #include "media/filters/ffmpeg_video_decoder.h"
26 #endif 25 #endif
(...skipping 19 matching lines...) Expand all
46 ScopedVector<AudioDecoder> DefaultRendererFactory::CreateAudioDecoders( 45 ScopedVector<AudioDecoder> DefaultRendererFactory::CreateAudioDecoders(
47 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner) { 46 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner) {
48 // Create our audio decoders and renderer. 47 // Create our audio decoders and renderer.
49 ScopedVector<AudioDecoder> audio_decoders; 48 ScopedVector<AudioDecoder> audio_decoders;
50 49
51 #if !defined(MEDIA_DISABLE_FFMPEG) 50 #if !defined(MEDIA_DISABLE_FFMPEG)
52 audio_decoders.push_back( 51 audio_decoders.push_back(
53 new FFmpegAudioDecoder(media_task_runner, media_log_)); 52 new FFmpegAudioDecoder(media_task_runner, media_log_));
54 #endif 53 #endif
55 54
56 audio_decoders.push_back(new OpusAudioDecoder(media_task_runner));
57
58 // Use an external decoder only if we cannot otherwise decode in the 55 // Use an external decoder only if we cannot otherwise decode in the
59 // renderer. 56 // renderer.
60 if (decoder_factory_) 57 if (decoder_factory_)
61 decoder_factory_->CreateAudioDecoders(media_task_runner, &audio_decoders); 58 decoder_factory_->CreateAudioDecoders(media_task_runner, &audio_decoders);
62 59
63 return audio_decoders; 60 return audio_decoders;
64 } 61 }
65 62
66 ScopedVector<VideoDecoder> DefaultRendererFactory::CreateVideoDecoders( 63 ScopedVector<VideoDecoder> DefaultRendererFactory::CreateVideoDecoders(
67 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, 64 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 std::unique_ptr<VideoRenderer> video_renderer(new VideoRendererImpl( 113 std::unique_ptr<VideoRenderer> video_renderer(new VideoRendererImpl(
117 media_task_runner, worker_task_runner, video_renderer_sink, 114 media_task_runner, worker_task_runner, video_renderer_sink,
118 CreateVideoDecoders(media_task_runner, request_surface_cb, gpu_factories), 115 CreateVideoDecoders(media_task_runner, request_surface_cb, gpu_factories),
119 true, gpu_factories, media_log_)); 116 true, gpu_factories, media_log_));
120 117
121 return base::MakeUnique<RendererImpl>( 118 return base::MakeUnique<RendererImpl>(
122 media_task_runner, std::move(audio_renderer), std::move(video_renderer)); 119 media_task_runner, std::move(audio_renderer), std::move(video_renderer));
123 } 120 }
124 121
125 } // namespace media 122 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/opus_audio_decoder.cc ('k') | media/test/pipeline_integration_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698