diff mbox series

[FFmpeg-devel,02/11] avformat/matroskadec: Simplify check for RealAudio

Message ID 20200423030741.12158-2-andreas.rheinhardt@gmail.com
State Accepted
Commit c6f60b90f00da7d942a7dbeb513ed284953f6f20
Headers show
Series [FFmpeg-devel,01/11] avformat/matroskadec: Reject sipr flavor > 3
Related show

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

Andreas Rheinhardt April 23, 2020, 3:07 a.m. UTC
They need a special parsing mode and in order to find out whether this
mode is in use, several checks have to be performed. They can all be
combined into one: If the buffer that is only used to assemble their
packets has been allocated, use the RealAudio parsing mode.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 libavformat/matroskadec.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 8c65e98e77..668323ba08 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -3617,11 +3617,7 @@  static int matroska_parse_block(MatroskaDemuxContext *matroska, AVBufferRef *buf
     for (n = 0; n < laces; n++) {
         int64_t lace_duration = block_duration*(n+1) / laces - block_duration*n / laces;
 
-        if ((st->codecpar->codec_id == AV_CODEC_ID_RA_288 ||
-             st->codecpar->codec_id == AV_CODEC_ID_COOK   ||
-             st->codecpar->codec_id == AV_CODEC_ID_SIPR   ||
-             st->codecpar->codec_id == AV_CODEC_ID_ATRAC3) &&
-            st->codecpar->block_align && track->audio.sub_packet_size) {
+        if (track->audio.buf) {
             res = matroska_parse_rm_audio(matroska, track, st, data,
                                           lace_size[n],
                                           timecode, pos);