rmdec: use the deinterleaving mode and not the codec when creating audio packets.
authorLaurent Aimar <fenrir@videolan.org>
Sat, 17 Sep 2011 21:17:45 +0000 (21:17 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 21 Sep 2011 18:56:53 +0000 (20:56 +0200)
It prevents crashes due to non initialized fields.

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

libavformat/rmdec.c

index cacca9b..525e276 100644 (file)
@@ -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);