2020#include < pc/video_track_source_proxy.h>
2121#include < rtc_base/ssl_adapter.h>
2222
23+ #include " capturer/libcamera_capturer.h"
24+ #include " capturer/v4l2_capturer.h"
2325#include " common/logging.h"
2426#include " common/utils.h"
25- #include " capturer/v4l2_capturer.h"
26- #include " capturer/libcamera_capturer.h"
2727#include " customized_video_encoder_factory.h"
2828#include " track/v4l2dma_track_source.h"
2929
@@ -46,7 +46,7 @@ std::shared_ptr<PaCapturer> Conductor::AudioSource() const { return audio_captur
4646std::shared_ptr<VideoCapturer> Conductor::VideoSource () const { return video_capture_source_; }
4747
4848void Conductor::InitializeTracks () {
49- if (audio_track_ == nullptr ) {
49+ if (audio_track_ == nullptr && !args. no_audio ) {
5050 audio_capture_source_ = PaCapturer::Create (args);
5151 auto options = peer_connection_factory_->CreateAudioSource (cricket::AudioOptions ());
5252 audio_track_ = peer_connection_factory_->CreateAudioTrack (" audio_track" , options.get ());
@@ -280,8 +280,12 @@ void Conductor::InitializePeerConnectionFactory() {
280280 cricket::MediaEngineDependencies media_dependencies;
281281 media_dependencies.task_queue_factory = dependencies.task_queue_factory .get ();
282282
283- media_dependencies.adm = webrtc::AudioDeviceModule::Create (
284- webrtc::AudioDeviceModule::kLinuxPulseAudio , dependencies.task_queue_factory .get ());
283+ webrtc::AudioDeviceModule::AudioLayer audio_layer = webrtc::AudioDeviceModule::kLinuxPulseAudio ;
284+ if (args.no_audio ) {
285+ audio_layer = webrtc::AudioDeviceModule::kDummyAudio ;
286+ }
287+ media_dependencies.adm =
288+ webrtc::AudioDeviceModule::Create (audio_layer, dependencies.task_queue_factory .get ());
285289 media_dependencies.audio_encoder_factory = webrtc::CreateBuiltinAudioEncoderFactory ();
286290 media_dependencies.audio_decoder_factory = webrtc::CreateBuiltinAudioDecoderFactory ();
287291 media_dependencies.audio_processing = webrtc::AudioProcessingBuilder ().Create ();
0 commit comments