summaryrefslogtreecommitdiff
path: root/libavdevice/alsa-audio.h
diff options
context:
space:
mode:
authorNicolas George <nicolas.george@normalesup.org>2011-03-10 12:10:34 +0100
committerAnton Khirnov <anton@khirnov.net>2011-06-23 08:49:48 +0200
commit147bcf27c4f8b22a386ea626f9455cf3f7cf0410 (patch)
treed471dd55b35516d8153ceee5fe82880c93415448 /libavdevice/alsa-audio.h
parent2359aeb52d2325ed6c28d4f7579e0999963bcec1 (diff)
ALSA: implement channel layout for playback.
Currently quad, 5.0, 5.1 and 7.1 are implemented. Implementing support for other formats/layouts and capture should be straightforward. 5.0 and 7.1 support by Carl Eugen Hoyos. Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavdevice/alsa-audio.h')
-rw-r--r--libavdevice/alsa-audio.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavdevice/alsa-audio.h b/libavdevice/alsa-audio.h
index 32c07426ef..1e0be1cac7 100644
--- a/libavdevice/alsa-audio.h
+++ b/libavdevice/alsa-audio.h
@@ -47,6 +47,9 @@ typedef struct {
int period_size; ///< bytes per sample * channels
int sample_rate; ///< sample rate set by user
int channels; ///< number of channels set by user
+ void (*reorder_func)(const void *, void *, int);
+ void *reorder_buf;
+ int reorder_buf_size; ///< in frames
} AlsaData;
/**
@@ -86,4 +89,6 @@ int ff_alsa_close(AVFormatContext *s1);
*/
int ff_alsa_xrun_recover(AVFormatContext *s1, int err);
+int ff_alsa_extend_reorder_buf(AlsaData *s, int size);
+
#endif /* AVDEVICE_ALSA_AUDIO_H */