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