summaryrefslogtreecommitdiff
path: root/libavformat/mpegts.c
diff options
context:
space:
mode:
authorChristian Schmidt <schmidt@digadd.de>2012-09-06 16:43:24 +0200
committerLuca Barbato <lu_zero@gentoo.org>2012-09-12 23:43:53 +0200
commit07584eaf4a95db3f11d3bc411f9786932829e82b (patch)
treee8648d769532153cd03d1bab85c5e365eb19e4bb /libavformat/mpegts.c
parent62c9ae11a7f9716848de0c26df855d6b8071eb16 (diff)
mpegts: check substreams before discarding
Allow to extract the AC3 core from TrueHD with the "copy" codec. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavformat/mpegts.c')
-rw-r--r--libavformat/mpegts.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 40a983baeb..a3d5e8e835 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -784,7 +784,8 @@ static int mpegts_push_data(MpegTSFilter *filter,
code = pes->header[3] | 0x100;
av_dlog(pes->stream, "pid=%x pes_code=%#x\n", pes->pid, code);
- if ((pes->st && pes->st->discard == AVDISCARD_ALL) ||
+ if ((pes->st && pes->st->discard == AVDISCARD_ALL &&
+ (!pes->sub_st || pes->sub_st->discard == AVDISCARD_ALL)) ||
code == 0x1be) /* padding_stream */
goto skip;