Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-07-27 12:13:53 +0300
committerAnton Khirnov <anton@khirnov.net>2015-08-02 09:43:51 +0300
commit14e558024642638085ae2bbeffc6087612e6a3f9 (patch)
tree82ead0d957226ef14801990791f80d2ee134c2fb /libavcodec/opus.h
parentfdbc544d29176ba69d67dd879df4696f0a19052e (diff)
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.h10
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;