From ee562d874c6b324cbe58c38d006e7176aa58ec04 Mon Sep 17 00:00:00 2001 From: Yves Gerey Date: Wed, 8 Aug 2018 16:39:44 +0200 Subject: [PATCH] Don't depend on X11 when rtc_use_x11=false. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL makes X11 optional for audio_device_pulse_linux. Apply the same guards than for audio_device_alsa_linux. Cf commit 75f18fca8eef7c27073923c46ff73be5ba0e0491. Bug: webrtc:9569 Change-Id: Iaddbfb62112c504531376bad0db8f04caa4350c7 Reviewed-on: https://webrtc-review.googlesource.com/93030 Reviewed-by: Mirko Bonadei Reviewed-by: Patrik Höglund Commit-Queue: Yves Gerey Cr-Commit-Position: refs/heads/master@{#24274} --- modules/audio_device/linux/audio_device_pulse_linux.cc | 8 ++++++++ modules/audio_device/linux/audio_device_pulse_linux.h | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/modules/audio_device/linux/audio_device_pulse_linux.cc b/modules/audio_device/linux/audio_device_pulse_linux.cc index 7dda66f79b..2f343bae06 100644 --- a/modules/audio_device/linux/audio_device_pulse_linux.cc +++ b/modules/audio_device/linux/audio_device_pulse_linux.cc @@ -155,12 +155,14 @@ AudioDeviceGeneric::InitStatus AudioDeviceLinuxPulse::Init() { return InitStatus::OTHER_ERROR; } +#if defined(WEBRTC_USE_X11) // Get X display handle for typing detection _XDisplay = XOpenDisplay(NULL); if (!_XDisplay) { RTC_LOG(LS_WARNING) << "failed to open X display, typing detection will not work"; } +#endif // RECORDING _ptrThreadRec.reset(new rtc::PlatformThread( @@ -212,10 +214,12 @@ int32_t AudioDeviceLinuxPulse::Terminate() { return -1; } +#if defined(WEBRTC_USE_X11) if (_XDisplay) { XCloseDisplay(_XDisplay); _XDisplay = NULL; } +#endif _initialized = false; _outputDeviceIsSpecified = false; @@ -2280,6 +2284,7 @@ bool AudioDeviceLinuxPulse::RecThreadProcess() { } bool AudioDeviceLinuxPulse::KeyPressed() const { +#if defined(WEBRTC_USE_X11) char szKey[32]; unsigned int i = 0; char state = 0; @@ -2297,5 +2302,8 @@ bool AudioDeviceLinuxPulse::KeyPressed() const { // Save old state memcpy((char*)_oldKeyState, (char*)szKey, sizeof(_oldKeyState)); return (state != 0); +#else + return false; +#endif } } // namespace webrtc diff --git a/modules/audio_device/linux/audio_device_pulse_linux.h b/modules/audio_device/linux/audio_device_pulse_linux.h index d16c13f6f8..854c7c6f2f 100644 --- a/modules/audio_device/linux/audio_device_pulse_linux.h +++ b/modules/audio_device/linux/audio_device_pulse_linux.h @@ -19,7 +19,10 @@ #include "rtc_base/platform_thread.h" #include "rtc_base/thread_checker.h" +#if defined(WEBRTC_USE_X11) #include +#endif + #include // We define this flag if it's missing from our headers, because we want to be @@ -328,7 +331,9 @@ class AudioDeviceLinuxPulse : public AudioDeviceGeneric { pa_buffer_attr _recBufferAttr; char _oldKeyState[32]; +#if defined(WEBRTC_USE_X11) Display* _XDisplay; +#endif }; } // namespace webrtc