path: root/audio/audio.h
diff options
authorwm4 <wm4@nowhere>2013-04-05 20:39:52 +0200
committerwm4 <wm4@nowhere>2013-05-12 21:24:54 +0200
commit7971bb87cb46f90152913de6ac673ae3bd1637a3 (patch)
tree7929e829c5960425270f4f0c017d84c37872ac5b /audio/audio.h
parentf7a427676c0fe3c12509e3d9a243301f93626b0a (diff)
af: use mp_chmap for mp_audio, include channel map in format negotiation
Now af_lavrresample pretends to reorder the channels, although it doesn't yet, and nothing sets non-standard layouts either.
Diffstat (limited to 'audio/audio.h')
1 files changed, 5 insertions, 1 deletions
diff --git a/audio/audio.h b/audio/audio.h
index f39069cf73..902b5a1b40 100644
--- a/audio/audio.h
+++ b/audio/audio.h
@@ -19,20 +19,24 @@
#define MP_AUDIO_H
#include "format.h"
+#include "chmap.h"
// Audio data chunk
struct mp_audio {
void *audio; // data buffer
int len; // buffer length (in bytes)
int rate; // sample rate
- int nch; // number of channels, use mp_audio_set_channels() to set
+ struct mp_chmap channels; // channel layout, use mp_audio_set_*() to set
int format; // format (AF_FORMAT_...), use mp_audio_set_format() to set
// Redundant fields, for convenience
+ int nch; // number of channels (redundant with chmap)
int bps; // bytes per sample (redundant with format)
void mp_audio_set_format(struct mp_audio *mpa, int format);
void mp_audio_set_num_channels(struct mp_audio *mpa, int num_channels);
+void mp_audio_set_channels_old(struct mp_audio *mpa, int num_channels);
+void mp_audio_set_channels(struct mp_audio *mpa, const struct mp_chmap *chmap);
void mp_audio_copy_config(struct mp_audio *dst, const struct mp_audio *src);