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

Side by Side Diff: webrtc/media/engine/webrtcmediaengine.h

Issue 2888303003: Work-in-progress upload to add worker task queue to PC factory.
Patch Set: Rebase. Created 3 years, 7 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2011 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
11 #ifndef WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_ 11 #ifndef WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
12 #define WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_ 12 #define WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
13 13
14 #include <string> 14 #include <string>
15 #include <vector> 15 #include <vector>
16 16
17 #include "webrtc/call/call.h" 17 #include "webrtc/call/call.h"
18 #include "webrtc/config.h" 18 #include "webrtc/config.h"
19 #include "webrtc/media/base/mediaengine.h" 19 #include "webrtc/media/base/mediaengine.h"
20 20
21 namespace rtc {
22 class TaskQueue;
23 }
24
21 namespace webrtc { 25 namespace webrtc {
22 class AudioDecoderFactory; 26 class AudioDecoderFactory;
23 class AudioDeviceModule; 27 class AudioDeviceModule;
24 class AudioMixer; 28 class AudioMixer;
25 } 29 }
26 namespace cricket { 30 namespace cricket {
27 class WebRtcVideoDecoderFactory; 31 class WebRtcVideoDecoderFactory;
28 class WebRtcVideoEncoderFactory; 32 class WebRtcVideoEncoderFactory;
29 } 33 }
30 34
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 72
69 static MediaEngineInterface* Create( 73 static MediaEngineInterface* Create(
70 webrtc::AudioDeviceModule* adm, 74 webrtc::AudioDeviceModule* adm,
71 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>& 75 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
72 audio_encoder_factory, 76 audio_encoder_factory,
73 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& 77 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
74 audio_decoder_factory, 78 audio_decoder_factory,
75 WebRtcVideoEncoderFactory* video_encoder_factory, 79 WebRtcVideoEncoderFactory* video_encoder_factory,
76 WebRtcVideoDecoderFactory* video_decoder_factory, 80 WebRtcVideoDecoderFactory* video_decoder_factory,
77 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer); 81 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer);
82
83 static MediaEngineInterface* Create(
84 webrtc::AudioDeviceModule* adm,
85 const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
86 audio_encoder_factory,
87 const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
88 audio_decoder_factory,
89 WebRtcVideoEncoderFactory* video_encoder_factory,
90 WebRtcVideoDecoderFactory* video_decoder_factory,
91 rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
92 rtc::TaskQueue* low_priority_worker_queue);
78 }; 93 };
79 94
80 // Verify that extension IDs are within 1-byte extension range and are not 95 // Verify that extension IDs are within 1-byte extension range and are not
81 // overlapping. 96 // overlapping.
82 bool ValidateRtpExtensions(const std::vector<webrtc::RtpExtension>& extensions); 97 bool ValidateRtpExtensions(const std::vector<webrtc::RtpExtension>& extensions);
83 98
84 // Discard any extensions not validated by the 'supported' predicate. Duplicate 99 // Discard any extensions not validated by the 'supported' predicate. Duplicate
85 // extensions are removed if 'filter_redundant_extensions' is set, and also any 100 // extensions are removed if 'filter_redundant_extensions' is set, and also any
86 // mutually exclusive extensions (see implementation for details) are removed. 101 // mutually exclusive extensions (see implementation for details) are removed.
87 std::vector<webrtc::RtpExtension> FilterRtpExtensions( 102 std::vector<webrtc::RtpExtension> FilterRtpExtensions(
88 const std::vector<webrtc::RtpExtension>& extensions, 103 const std::vector<webrtc::RtpExtension>& extensions,
89 bool (*supported)(const std::string&), 104 bool (*supported)(const std::string&),
90 bool filter_redundant_extensions); 105 bool filter_redundant_extensions);
91 106
92 webrtc::Call::Config::BitrateConfig GetBitrateConfigForCodec( 107 webrtc::Call::Config::BitrateConfig GetBitrateConfigForCodec(
93 const Codec& codec); 108 const Codec& codec);
94 109
95 } // namespace cricket 110 } // namespace cricket
96 111
97 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_ 112 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
OLDNEW
« no previous file with comments | « webrtc/media/engine/nullwebrtcvideoengine_unittest.cc ('k') | webrtc/media/engine/webrtcmediaengine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698