• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright 2004 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 WEBRTC_SOUND_ALSASYMBOLTABLE_H_
12 #define WEBRTC_SOUND_ALSASYMBOLTABLE_H_
13 
14 #include <alsa/asoundlib.h>
15 
16 #include "webrtc/base/latebindingsymboltable.h"
17 
18 namespace rtc {
19 
20 #define ALSA_SYMBOLS_CLASS_NAME AlsaSymbolTable
21 // The ALSA symbols we need, as an X-Macro list.
22 // This list must contain precisely every libasound function that is used in
23 // alsasoundsystem.cc.
24 #define ALSA_SYMBOLS_LIST \
25   X(snd_device_name_free_hint) \
26   X(snd_device_name_get_hint) \
27   X(snd_device_name_hint) \
28   X(snd_pcm_avail_update) \
29   X(snd_pcm_close) \
30   X(snd_pcm_delay) \
31   X(snd_pcm_drop) \
32   X(snd_pcm_open) \
33   X(snd_pcm_prepare) \
34   X(snd_pcm_readi) \
35   X(snd_pcm_recover) \
36   X(snd_pcm_set_params) \
37   X(snd_pcm_start) \
38   X(snd_pcm_stream) \
39   X(snd_pcm_wait) \
40   X(snd_pcm_writei) \
41   X(snd_strerror)
42 
43 #define LATE_BINDING_SYMBOL_TABLE_CLASS_NAME ALSA_SYMBOLS_CLASS_NAME
44 #define LATE_BINDING_SYMBOL_TABLE_SYMBOLS_LIST ALSA_SYMBOLS_LIST
45 #include "webrtc/base/latebindingsymboltable.h.def"
46 
47 }  // namespace rtc
48 
49 #endif  // WEBRTC_SOUND_ALSASYMBOLTABLE_H_
50