[FFmpeg-cvslog] rmdec: use the deinterleaving mode and not the codec when creating audio packets.

Laurent Aimar git at videolan.org
Wed Sep 21 21:08:39 CEST 2011


ffmpeg | branch: release/0.8 | Laurent Aimar <fenrir at videolan.org> | Sat Sep 17 21:17:45 2011 +0000| [27128d82faf17cbf476cf5f750722612639bdcd7] | committer: Michael Niedermayer

rmdec: use the deinterleaving mode and not the codec when creating audio packets.

It prevents crashes due to non initialized fields.

Signed-off-by: Anton Khirnov <anton at khirnov.net>
(cherry picked from commit 3e033da84782e12ed529e6a88dd53b6a72199e8e)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=27128d82faf17cbf476cf5f750722612639bdcd7
---

 libavformat/rmdec.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index cacca9b..525e276 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -801,7 +801,8 @@ ff_rm_retrieve_cache (AVFormatContext *s, AVIOContext *pb,
 
     assert (rm->audio_pkt_cnt > 0);
 
-    if (st->codec->codec_id == CODEC_ID_AAC)
+    if (ast->deint_id == DEINT_ID_VBRF ||
+        ast->deint_id == DEINT_ID_VBRS)
         av_get_packet(pb, pkt, ast->sub_packet_lengths[ast->sub_packet_cnt - rm->audio_pkt_cnt]);
     else {
         av_new_packet(pkt, st->codec->block_align);



More information about the ffmpeg-cvslog mailing list