summaryrefslogtreecommitdiff
path: root/libavformat/rmdec.c
diff options
context:
space:
mode:
authorLaurent Aimar <fenrir@videolan.org>2011-09-17 21:17:45 +0000
committerAnton Khirnov <anton@khirnov.net>2011-09-19 12:37:31 +0200
commit3e033da84782e12ed529e6a88dd53b6a72199e8e (patch)
tree165fca03ce0df87d531c78b2969690dcd2636c26 /libavformat/rmdec.c
parent63d64228a7f31d534e3bcae87cbd37f4a0ae2dd6 (diff)
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@khirnov.net>
Diffstat (limited to 'libavformat/rmdec.c')
-rw-r--r--libavformat/rmdec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index 02ff7e93f0..4b891817af 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -813,7 +813,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);