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

Unified Diff: webrtc/media/engine/webrtcvoiceengine.h

Issue 2705093002: Injectable audio encoders: WebRtcVoiceEngine and company (Closed)
Patch Set: audio_send_spec made optional<>, EnableAudioNetworkAdapter now called directly on encoder, VAD supp… Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/media/engine/webrtcvoiceengine.h
diff --git a/webrtc/media/engine/webrtcvoiceengine.h b/webrtc/media/engine/webrtcvoiceengine.h
index 33e53f1f394cfaa4cf1e86b3a3f6260921ae29bf..992ed2d12f7859a897c31f923d52cae5e95aa63f 100644
--- a/webrtc/media/engine/webrtcvoiceengine.h
+++ b/webrtc/media/engine/webrtcvoiceengine.h
@@ -27,6 +27,7 @@
#include "webrtc/media/base/rtputils.h"
#include "webrtc/media/engine/webrtccommon.h"
#include "webrtc/media/engine/webrtcvoe.h"
+#include "webrtc/modules/audio_coding/codecs/audio_encoder_factory.h"
#include "webrtc/modules/audio_processing/include/audio_processing.h"
#include "webrtc/pc/channel.h"
@@ -113,13 +114,15 @@ class WebRtcVoiceEngine final : public webrtc::TraceCallback {
webrtc::AudioProcessing* apm();
webrtc::voe::TransmitMixer* transmit_mixer();
- AudioCodecs CollectRecvCodecs() const;
+ AudioCodecs CollectCodecs(
+ const std::vector<webrtc::AudioCodecSpec>& specs) const;
rtc::ThreadChecker signal_thread_checker_;
rtc::ThreadChecker worker_thread_checker_;
// The audio device manager.
rtc::scoped_refptr<webrtc::AudioDeviceModule> adm_;
+ rtc::scoped_refptr<webrtc::AudioEncoderFactory> encoder_factory_;
rtc::scoped_refptr<webrtc::AudioDecoderFactory> decoder_factory_;
// Reference to the APM, owned by VoE.
webrtc::AudioProcessing* apm_ = nullptr;
@@ -284,7 +287,8 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
std::map<uint32_t, WebRtcAudioReceiveStream*> recv_streams_;
std::vector<webrtc::RtpExtension> recv_rtp_extensions_;
- webrtc::AudioSendStream::Config::SendCodecSpec send_codec_spec_;
+ rtc::Optional<webrtc::AudioSendStream::Config::SendCodecSpec>
+ send_codec_spec_;
RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(WebRtcVoiceMediaChannel);
};

Powered by Google App Engine
This is Rietveld 408576698