OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 audio_decoder_factory, | 46 audio_decoder_factory, |
47 audio_mixer) { | 47 audio_mixer) { |
48 #endif | 48 #endif |
49 video_.SetExternalDecoderFactory(video_decoder_factory); | 49 video_.SetExternalDecoderFactory(video_decoder_factory); |
50 video_.SetExternalEncoderFactory(video_encoder_factory); | 50 video_.SetExternalEncoderFactory(video_encoder_factory); |
51 } | 51 } |
52 }; | 52 }; |
53 | 53 |
54 } // namespace cricket | 54 } // namespace cricket |
55 | 55 |
56 cricket::MediaEngineInterface* CreateWebRtcMediaEngine( | 56 std::unique_ptr<cricket::MediaEngineInterface> CreateWebRtcMediaEngine( |
57 webrtc::AudioDeviceModule* adm, | 57 webrtc::AudioDeviceModule* adm, |
58 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& | 58 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& |
59 audio_decoder_factory, | 59 audio_decoder_factory, |
60 cricket::WebRtcVideoEncoderFactory* video_encoder_factory, | 60 cricket::WebRtcVideoEncoderFactory* video_encoder_factory, |
61 cricket::WebRtcVideoDecoderFactory* video_decoder_factory, | 61 cricket::WebRtcVideoDecoderFactory* video_decoder_factory, |
62 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { | 62 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { |
63 return new cricket::WebRtcMediaEngine2(adm, audio_decoder_factory, | 63 return std::unique_ptr<cricket::MediaEngineInterface>( |
64 video_encoder_factory, | 64 new cricket::WebRtcMediaEngine2(adm, audio_decoder_factory, |
65 video_decoder_factory, audio_mixer); | 65 video_encoder_factory, |
| 66 video_decoder_factory, audio_mixer)); |
66 } | 67 } |
67 | 68 |
68 void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) { | 69 void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) { |
69 delete media_engine; | 70 delete media_engine; |
70 } | 71 } |
71 | 72 |
72 namespace cricket { | 73 namespace cricket { |
73 | 74 |
74 // TODO(ossu): Backwards-compatible interface. Will be deprecated once the | 75 // TODO(ossu): Backwards-compatible interface. Will be deprecated once the |
75 // audio decoder factory is fully plumbed and used throughout WebRTC. | 76 // audio decoder factory is fully plumbed and used throughout WebRTC. |
76 // See: crbug.com/webrtc/6000 | 77 // See: crbug.com/webrtc/6000 |
77 MediaEngineInterface* WebRtcMediaEngineFactory::Create( | 78 std::unique_ptr<MediaEngineInterface> WebRtcMediaEngineFactory::Create( |
78 webrtc::AudioDeviceModule* adm, | 79 webrtc::AudioDeviceModule* adm, |
79 WebRtcVideoEncoderFactory* video_encoder_factory, | 80 WebRtcVideoEncoderFactory* video_encoder_factory, |
80 WebRtcVideoDecoderFactory* video_decoder_factory) { | 81 WebRtcVideoDecoderFactory* video_decoder_factory) { |
81 return CreateWebRtcMediaEngine( | 82 return CreateWebRtcMediaEngine( |
82 adm, webrtc::CreateBuiltinAudioDecoderFactory(), video_encoder_factory, | 83 adm, webrtc::CreateBuiltinAudioDecoderFactory(), video_encoder_factory, |
83 video_decoder_factory, nullptr); | 84 video_decoder_factory, nullptr); |
84 } | 85 } |
85 | 86 |
86 MediaEngineInterface* WebRtcMediaEngineFactory::Create( | 87 std::unique_ptr<MediaEngineInterface> WebRtcMediaEngineFactory::Create( |
87 webrtc::AudioDeviceModule* adm, | 88 webrtc::AudioDeviceModule* adm, |
88 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& | 89 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& |
89 audio_decoder_factory, | 90 audio_decoder_factory, |
90 WebRtcVideoEncoderFactory* video_encoder_factory, | 91 WebRtcVideoEncoderFactory* video_encoder_factory, |
91 WebRtcVideoDecoderFactory* video_decoder_factory) { | 92 WebRtcVideoDecoderFactory* video_decoder_factory) { |
92 return CreateWebRtcMediaEngine(adm, audio_decoder_factory, | 93 return CreateWebRtcMediaEngine(adm, audio_decoder_factory, |
93 video_encoder_factory, video_decoder_factory, | 94 video_encoder_factory, video_decoder_factory, |
94 nullptr); | 95 nullptr); |
95 } | 96 } |
96 | 97 |
97 // Used by PeerConnectionFactory to create a media engine passed into | 98 // Used by PeerConnectionFactory to create a media engine passed into |
98 // ChannelManager. | 99 // ChannelManager. |
99 MediaEngineInterface* WebRtcMediaEngineFactory::Create( | 100 std::unique_ptr<MediaEngineInterface> WebRtcMediaEngineFactory::Create( |
100 webrtc::AudioDeviceModule* adm, | 101 webrtc::AudioDeviceModule* adm, |
101 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& | 102 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& |
102 audio_decoder_factory, | 103 audio_decoder_factory, |
103 WebRtcVideoEncoderFactory* video_encoder_factory, | 104 WebRtcVideoEncoderFactory* video_encoder_factory, |
104 WebRtcVideoDecoderFactory* video_decoder_factory, | 105 WebRtcVideoDecoderFactory* video_decoder_factory, |
105 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { | 106 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { |
106 return CreateWebRtcMediaEngine(adm, audio_decoder_factory, | 107 return CreateWebRtcMediaEngine(adm, audio_decoder_factory, |
107 video_encoder_factory, video_decoder_factory, | 108 video_encoder_factory, video_decoder_factory, |
108 audio_mixer); | 109 audio_mixer); |
109 } | 110 } |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 } | 209 } |
209 if (codec.GetParam(kCodecParamMaxBitrate, &bitrate_kbps) && | 210 if (codec.GetParam(kCodecParamMaxBitrate, &bitrate_kbps) && |
210 bitrate_kbps > 0) { | 211 bitrate_kbps > 0) { |
211 config.max_bitrate_bps = bitrate_kbps * 1000; | 212 config.max_bitrate_bps = bitrate_kbps * 1000; |
212 } else { | 213 } else { |
213 config.max_bitrate_bps = -1; | 214 config.max_bitrate_bps = -1; |
214 } | 215 } |
215 return config; | 216 return config; |
216 } | 217 } |
217 } // namespace cricket | 218 } // namespace cricket |
OLD | NEW |