[FFmpeg-devel] [PATCH] avcodec/dolby_e: set constant frame_size

Nicolas Gaullier nicolas.gaullier at cji.paris
Tue Dec 15 19:13:24 EET 2020


Fixes pts generation.

Setting frame_size in dolby_e_init() or get_audio_frame_duration()
can result in a bad duration value for the first packet if dolby_e is
muxed in a container having a different sample_rate (ex:
container @48KHz, DolbyE @44.8KHz).
Maybe adding a parser to dolby_e would fix the issue and makes it
possible to set frame_size at decoder init which seems the best place.
---
 libavcodec/dolby_e.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/dolby_e.c b/libavcodec/dolby_e.c
index 429612ec08..b0e6d6aee3 100644
--- a/libavcodec/dolby_e.c
+++ b/libavcodec/dolby_e.c
@@ -577,6 +577,7 @@ static int filter_frame(DBEContext *s, AVFrame *frame)
         reorder = ch_reorder_n;
 
     frame->nb_samples = FRAME_SAMPLES;
+    s->avctx->frame_size = FRAME_SAMPLES;
     if ((ret = ff_get_buffer(s->avctx, frame, 0)) < 0)
         return ret;
 
-- 
2.27.0.windows.1



More information about the ffmpeg-devel mailing list