diff options
author | wm4 <wm4@nowhere> | 2013-11-12 22:26:59 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-11-12 23:35:33 +0100 |
commit | cc5083cfe00e6872d0b52b6be917b80582c64e52 (patch) | |
tree | 18f8fb23046d670b208ec16f91db69fbb4b3d5dc /audio/audio.h | |
parent | e1656d369af03d24d8c0008910c805a29a0c27ec (diff) | |
download | mpv-cc5083cfe00e6872d0b52b6be917b80582c64e52.tar.bz2 mpv-cc5083cfe00e6872d0b52b6be917b80582c64e52.tar.xz |
mp_audio: use av_malloc (cargo cult for libav*)
libav* is generally freaking horrible, and might do bad things if the
data pointer passed to it are not aligned. One way to be sure that the
alignment is correct is allocating all pointers using av_malloc().
It's possible that this is not needed at all, though. For now it might
be better to keep this, since the mp_audio code is intended to replace
another buffer in dec_audio.c, which is currently av_malloc() allocated.
The original reason why this uses av_malloc() is apparently because
libavcodec used to directly encode into mplayer buffers, which is not
the case anymore, and thus (probably) doesn't make sense anymore.
(The commit subject uses the word "cargo cult", after all.)
Diffstat (limited to 'audio/audio.h')
-rw-r--r-- | audio/audio.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/audio/audio.h b/audio/audio.h index b5cae0c83c..54ac2d5aac 100644 --- a/audio/audio.h +++ b/audio/audio.h @@ -36,6 +36,9 @@ struct mp_audio { int spf; // sub-samples per sample on each plane int num_planes; // number of planes int bps; // size of sub-samples (af_fmt2bits(format) / 8) + + // private + int allocated[MP_NUM_CHANNELS]; // use mp_audio_get_allocated_size() }; void mp_audio_set_format(struct mp_audio *mpa, int format); |