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