blob: 9a81426b1163e5bb0758c3d2c2bdd334435c5acd [file] [log] [blame]
henrika5f6bf242017-11-01 11:06:56 +01001/*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef AUDIO_NULL_AUDIO_POLLER_H_
12#define AUDIO_NULL_AUDIO_POLLER_H_
13
Yves Gerey988cc082018-10-23 12:03:01 +020014#include <stdint.h>
15
henrika5f6bf242017-11-01 11:06:56 +010016#include "modules/audio_device/include/audio_device_defines.h"
Steve Anton10542f22019-01-11 09:11:00 -080017#include "rtc_base/message_handler.h"
18#include "rtc_base/message_queue.h"
henrika5f6bf242017-11-01 11:06:56 +010019#include "rtc_base/thread_checker.h"
20
21namespace webrtc {
22namespace internal {
23
24class NullAudioPoller final : public rtc::MessageHandler {
25 public:
26 explicit NullAudioPoller(AudioTransport* audio_transport);
Mirko Bonadei8fdcac32018-08-28 16:30:18 +020027 ~NullAudioPoller() override;
henrika5f6bf242017-11-01 11:06:56 +010028
29 protected:
30 void OnMessage(rtc::Message* msg) override;
31
32 private:
33 rtc::ThreadChecker thread_checker_;
34 AudioTransport* const audio_transport_;
35 int64_t reschedule_at_;
36};
37
38} // namespace internal
39} // namespace webrtc
40
41#endif // AUDIO_NULL_AUDIO_POLLER_H_