Replace some usage of EventWrapper with rtc::Event.

Bug: webrtc:3380
Change-Id: Id33b19bf107273e6f838aa633784db73d02ae2c2
Reviewed-on: https://webrtc-review.googlesource.com/c/107888
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25407}
This commit is contained in:
Niels Möller
2018-10-29 09:47:51 +01:00
committed by Commit Bot
parent 88d8d7d3f9
commit 2c16cc61c2
10 changed files with 74 additions and 101 deletions

View File

@ -29,7 +29,6 @@ typedef webrtc::adm_linux_alsa::AlsaSymbolTable WebRTCAlsaSymbolTable;
WebRTCAlsaSymbolTable* GetAlsaSymbolTable();
namespace webrtc {
class EventWrapper;
class AudioDeviceLinuxALSA : public AudioDeviceGeneric {
public:

View File

@ -14,7 +14,6 @@
#include "modules/audio_device/linux/latebindingsymboltable_linux.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "system_wrappers/include/event_wrapper.h"
WebRTCPulseSymbolTable* GetPulseSymbolTable() {
static WebRTCPulseSymbolTable* pulse_symbol_table =
@ -33,10 +32,10 @@ namespace webrtc {
AudioDeviceLinuxPulse::AudioDeviceLinuxPulse()
: _ptrAudioBuffer(NULL),
_timeEventRec(*EventWrapper::Create()),
_timeEventPlay(*EventWrapper::Create()),
_recStartEvent(*EventWrapper::Create()),
_playStartEvent(*EventWrapper::Create()),
_timeEventRec(false, false),
_timeEventPlay(false, false),
_recStartEvent(false, false),
_playStartEvent(false, false),
_inputDeviceIndex(0),
_outputDeviceIndex(0),
_inputDeviceIsSpecified(false),
@ -113,11 +112,6 @@ AudioDeviceLinuxPulse::~AudioDeviceLinuxPulse() {
delete[] _recDeviceName;
_recDeviceName = NULL;
}
delete &_recStartEvent;
delete &_playStartEvent;
delete &_timeEventRec;
delete &_timeEventPlay;
}
void AudioDeviceLinuxPulse::AttachAudioBuffer(AudioDeviceBuffer* audioBuffer) {
@ -1067,7 +1061,7 @@ int32_t AudioDeviceLinuxPulse::StartRecording() {
// The audio thread will signal when recording has started.
_timeEventRec.Set();
if (kEventTimeout == _recStartEvent.Wait(10000)) {
if (!_recStartEvent.Wait(10000)) {
{
rtc::CritScope lock(&_critSect);
_startRec = false;
@ -1182,7 +1176,7 @@ int32_t AudioDeviceLinuxPulse::StartPlayout() {
// The audio thread will signal when playout has started.
_timeEventPlay.Set();
if (kEventTimeout == _playStartEvent.Wait(10000)) {
if (!_playStartEvent.Wait(10000)) {
{
rtc::CritScope lock(&_critSect);
_startPlay = false;
@ -1996,14 +1990,8 @@ bool AudioDeviceLinuxPulse::RecThreadFunc(void* pThis) {
}
bool AudioDeviceLinuxPulse::PlayThreadProcess() {
switch (_timeEventPlay.Wait(1000)) {
case kEventSignaled:
break;
case kEventError:
RTC_LOG(LS_WARNING) << "EventWrapper::Wait() failed";
return true;
case kEventTimeout:
return true;
if (!_timeEventPlay.Wait(1000)) {
return true;
}
rtc::CritScope lock(&_critSect);
@ -2170,14 +2158,8 @@ bool AudioDeviceLinuxPulse::PlayThreadProcess() {
}
bool AudioDeviceLinuxPulse::RecThreadProcess() {
switch (_timeEventRec.Wait(1000)) {
case kEventSignaled:
break;
case kEventError:
RTC_LOG(LS_WARNING) << "EventWrapper::Wait() failed";
return true;
case kEventTimeout:
return true;
if (!_timeEventRec.Wait(1000)) {
return true;
}
rtc::CritScope lock(&_critSect);

View File

@ -20,6 +20,7 @@
#include "modules/audio_device/linux/audio_mixer_manager_pulse_linux.h"
#include "modules/audio_device/linux/pulseaudiosymboltable_linux.h"
#include "rtc_base/criticalsection.h"
#include "rtc_base/event.h"
#include "rtc_base/platform_thread.h"
#include "rtc_base/thread_annotations.h"
#include "rtc_base/thread_checker.h"
@ -103,7 +104,6 @@ typedef webrtc::adm_linux_pulse::PulseAudioSymbolTable WebRTCPulseSymbolTable;
WebRTCPulseSymbolTable* GetPulseSymbolTable();
namespace webrtc {
class EventWrapper;
class AudioDeviceLinuxPulse : public AudioDeviceGeneric {
public:
@ -262,10 +262,10 @@ class AudioDeviceLinuxPulse : public AudioDeviceGeneric {
AudioDeviceBuffer* _ptrAudioBuffer;
rtc::CriticalSection _critSect;
EventWrapper& _timeEventRec;
EventWrapper& _timeEventPlay;
EventWrapper& _recStartEvent;
EventWrapper& _playStartEvent;
rtc::Event _timeEventRec;
rtc::Event _timeEventPlay;
rtc::Event _recStartEvent;
rtc::Event _playStartEvent;
// TODO(pbos): Remove unique_ptr and use directly without resetting.
std::unique_ptr<rtc::PlatformThread> _ptrThreadPlay;