diff options
author | Anton Khirnov <anton@khirnov.net> | 2015-07-27 11:13:53 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2015-08-02 08:43:51 +0200 |
commit | 14e558024642638085ae2bbeffc6087612e6a3f9 (patch) | |
tree | 82ead0d957226ef14801990791f80d2ee134c2fb /libavcodec/opus.h | |
parent | fdbc544d29176ba69d67dd879df4696f0a19052e (diff) | |
download | ffmpeg-14e558024642638085ae2bbeffc6087612e6a3f9.tar.gz |
opusdec: properly handle mismatching configurations in multichannel streams
The substreams can have different resampling delays, so an additional
level of buffering is needed to synchronize them.
Bug-Id: 876
Diffstat (limited to 'libavcodec/opus.h')
-rw-r--r-- | libavcodec/opus.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/opus.h b/libavcodec/opus.h index 94993d623e..55c91fa012 100644 --- a/libavcodec/opus.h +++ b/libavcodec/opus.h @@ -173,6 +173,16 @@ typedef struct ChannelMap { typedef struct OpusContext { OpusStreamContext *streams; + + /* current output buffers for each streams */ + float **out; + int *out_size; + /* Buffers for synchronizing the streams when they have different + * resampling delays */ + AVAudioFifo **sync_buffers; + /* number of decoded samples for each stream */ + int *decoded_samples; + int nb_streams; int nb_stereo_streams; |