|
FFmpeg
|
ALSA input and output: common code. More...
#include <alsa/asoundlib.h>#include "avdevice.h"#include "libavutil/avassert.h"#include "libavutil/channel_layout.h"#include "alsa-audio.h"Go to the source code of this file.
Macros | |
| #define | MAKE_REORDER_FUNC(NAME, TYPE, CHANNELS, LAYOUT, MAP) |
| #define | MAKE_REORDER_FUNCS(CHANNELS, LAYOUT, MAP) |
| #define | FORMAT_I8 0 |
| #define | FORMAT_I16 1 |
| #define | FORMAT_I32 2 |
| #define | FORMAT_F32 3 |
| #define | PICK_REORDER(layout) |
Functions | |
| static av_cold snd_pcm_format_t | codec_id_to_pcm_format (int codec_id) |
| MAKE_REORDER_FUNCS (5, out_50, out[0]=in[0];out[1]=in[1];out[2]=in[3];out[3]=in[4];out[4]=in[2];) | |
| MAKE_REORDER_FUNCS (6, out_51, out[0]=in[0];out[1]=in[1];out[2]=in[4];out[3]=in[5];out[4]=in[2];out[5]=in[3];) | |
| MAKE_REORDER_FUNCS (8, out_71, out[0]=in[0];out[1]=in[1];out[2]=in[4];out[3]=in[5];out[4]=in[2];out[5]=in[3];out[6]=in[6];out[7]=in[7];) | |
| static av_cold int | find_reorder_func (AlsaData *s, int codec_id, uint64_t layout, int out) |
| av_cold int | ff_alsa_open (AVFormatContext *ctx, snd_pcm_stream_t mode, unsigned int *sample_rate, int channels, enum AVCodecID *codec_id) |
| Open an ALSA PCM. | |
| av_cold int | ff_alsa_close (AVFormatContext *s1) |
| Close the ALSA PCM. | |
| int | ff_alsa_xrun_recover (AVFormatContext *s1, int err) |
| Try to recover from ALSA buffer underrun. | |
| int | ff_alsa_extend_reorder_buf (AlsaData *s, int min_size) |
ALSA input and output: common code.
Definition in file alsa-audio-common.c.
| #define MAKE_REORDER_FUNC | ( | NAME, | |
| TYPE, | |||
| CHANNELS, | |||
| LAYOUT, | |||
| MAP | |||
| ) |
| #define MAKE_REORDER_FUNCS | ( | CHANNELS, | |
| LAYOUT, | |||
| MAP | |||
| ) |
Definition at line 80 of file alsa-audio-common.c.
| #define FORMAT_I8 0 |
Definition at line 114 of file alsa-audio-common.c.
Referenced by find_reorder_func().
| #define FORMAT_I16 1 |
Definition at line 115 of file alsa-audio-common.c.
Referenced by find_reorder_func().
| #define FORMAT_I32 2 |
Definition at line 116 of file alsa-audio-common.c.
Referenced by find_reorder_func().
| #define FORMAT_F32 3 |
Definition at line 117 of file alsa-audio-common.c.
Referenced by find_reorder_func().
| #define PICK_REORDER | ( | layout | ) |
Definition at line 119 of file alsa-audio-common.c.
Referenced by find_reorder_func().
|
static |
Definition at line 38 of file alsa-audio-common.c.
Referenced by ff_alsa_open().
| MAKE_REORDER_FUNCS | ( | 5 | , |
| out_50 | , | ||
| out | [0] = in[0];out[1]=in[1];out[2]=in[3];out[3]=in[4];out[4]=in[2]; |
||
| ) |
| MAKE_REORDER_FUNCS | ( | 6 | , |
| out_51 | , | ||
| out | [0] = in[0];out[1]=in[1];out[2]=in[4];out[3]=in[5];out[4]=in[2];out[5]=in[3]; |
||
| ) |
| MAKE_REORDER_FUNCS | ( | 8 | , |
| out_71 | , | ||
| out | [0] = in[0];out[1]=in[1];out[2]=in[4];out[3]=in[5];out[4]=in[2];out[5]=in[3];out[6]=in[6];out[7]=in[7]; |
||
| ) |
|
static |
Definition at line 127 of file alsa-audio-common.c.
Referenced by ff_alsa_open().
| av_cold int ff_alsa_open | ( | AVFormatContext * | s, |
| snd_pcm_stream_t | mode, | ||
| unsigned int * | sample_rate, | ||
| int | channels, | ||
| enum AVCodecID * | codec_id | ||
| ) |
Open an ALSA PCM.
| s | media file handle |
| mode | either SND_PCM_STREAM_CAPTURE or SND_PCM_STREAM_PLAYBACK |
| sample_rate | in: requested sample rate; out: actually selected sample rate |
| channels | number of channels |
| codec_id | in: requested AVCodecID or AV_CODEC_ID_NONE; out: actually selected AVCodecID, changed only if AV_CODEC_ID_NONE was requested |
Definition at line 167 of file alsa-audio-common.c.
Referenced by audio_read_header(), and audio_write_header().
| av_cold int ff_alsa_close | ( | AVFormatContext * | s1 | ) |
Close the ALSA PCM.
| s1 | media file handle |
Definition at line 299 of file alsa-audio-common.c.
| int ff_alsa_xrun_recover | ( | AVFormatContext * | s1, |
| int | err | ||
| ) |
Try to recover from ALSA buffer underrun.
| s1 | media file handle |
| err | error code reported by the previous ALSA call |
Definition at line 310 of file alsa-audio-common.c.
Referenced by audio_read_packet(), and audio_write_packet().
| int ff_alsa_extend_reorder_buf | ( | AlsaData * | s, |
| int | min_size | ||
| ) |
Definition at line 331 of file alsa-audio-common.c.
Referenced by audio_write_packet().
1.8.2