|
vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
|
Audio and Alsa Interface. More...
Classes | |
| class | cSoftHdAudio |
| Audio Interface. More... | |
| class | cPidController |
| PID Controller. More... | |
| class | cSoftHdRingbuffer |
| Ringbuffer (FIFO) Implementation. More... | |
Typedefs | |
| typedef volatile int | atomic_t |
| Atomic Wrapper Macros. | |
Functions | |
| static const char * | alsaToFFmpegChannel (const char *alsaName) |
| FFmpeg does not have channels called "RL" or "RR" So "rename" Alsas RL (rear left) and RR (rear right) to FFmpegs BL (back left) and BR (back right) to make the channelmap filter parser happy. | |
| static std::vector< std::string > | GetAlsaChannelLayoutAsArray (snd_pcm_t *pcmHandle) |
| Put Alsa channel layout in a dynamic array of strings. | |
| static std::vector< std::string > | GetFFmpegChannelLayoutAsArray (const AVChannelLayout &layout) |
| Put FFmpeg channel layout in a dynamic array of strings. | |
| static bool | LayoutsMatch (const std::vector< std::string > &ff, const std::vector< std::string > &alsa) |
| Check, if FFmpeg and Alsa channel layout match. | |
| static std::string | BuildChannelMapFilter (snd_pcm_t *pcmHandle, const AVChannelLayout &layout) |
| Build the "|"-separated mappings list for the channelmap filter. | |
| static void | AlsaNoopCallback (__attribute__((unused)) const char *file, __attribute__((unused)) int line, __attribute__((unused)) const char *function, __attribute__((unused)) int err, __attribute__((unused)) const char *fmt,...) |
| Empty log callback. | |
Audio and Alsa Interface.
Handles the audio stream and ALSA interface
| #define atomic_add | ( | val, | |
| ptr | |||
| ) | __atomic_add_fetch(ptr, val, __ATOMIC_SEQ_CST) |
Definition at line 32 of file ringbuffer.h.
| #define atomic_dec | ( | ptr | ) | __atomic_sub_fetch(ptr, 1, __ATOMIC_SEQ_CST) |
Definition at line 31 of file ringbuffer.h.
| #define atomic_inc | ( | ptr | ) | __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST) |
Definition at line 30 of file ringbuffer.h.
| #define atomic_read | ( | ptr | ) | __atomic_load_n(ptr, __ATOMIC_SEQ_CST) |
Definition at line 29 of file ringbuffer.h.
| #define atomic_set | ( | ptr, | |
| val | |||
| ) | __atomic_store_n(ptr, val, __ATOMIC_SEQ_CST) |
Definition at line 28 of file ringbuffer.h.
| #define atomic_sub | ( | val, | |
| ptr | |||
| ) | __atomic_sub_fetch(ptr, val, __ATOMIC_SEQ_CST) |
Definition at line 33 of file ringbuffer.h.
|
static |
Empty log callback.
Definition at line 1916 of file audio.cpp.
Referenced by cSoftHdAudio::AlsaInit().
FFmpeg does not have channels called "RL" or "RR" So "rename" Alsas RL (rear left) and RR (rear right) to FFmpegs BL (back left) and BR (back right) to make the channelmap filter parser happy.
Definition at line 325 of file audio.cpp.
Referenced by GetAlsaChannelLayoutAsArray().
|
static |
Build the "|"-separated mappings list for the channelmap filter.
| pcmHandle | current Alsa PCM Handle |
| layout | current FFmpeg channel layout |
Definition at line 416 of file audio.cpp.
References GetAlsaChannelLayoutAsArray(), GetFFmpegChannelLayoutAsArray(), L_SOUND, LayoutsMatch(), LOGDEBUG2, and LOGWARNING.
Referenced by cSoftHdAudio::InitFilter().
Put Alsa channel layout in a dynamic array of strings.
| pcmHandle | current Alsa PCM Handle |
Definition at line 342 of file audio.cpp.
References alsaToFFmpegChannel().
Referenced by cSoftHdAudio::AlsaSetup(), and BuildChannelMapFilter().
|
static |
Put FFmpeg channel layout in a dynamic array of strings.
| layout | current FFmpeg channel layout |
Definition at line 368 of file audio.cpp.
Referenced by BuildChannelMapFilter().
|
static |
Check, if FFmpeg and Alsa channel layout match.
| ff | Array of FFmpeg channel layout |
| alsa | Array of Alsa channel layout |
Definition at line 393 of file audio.cpp.
Referenced by BuildChannelMapFilter().