[FFmpeg-trac] #1719(avformat:new): MPEG-TS demuxer : don't parse a PAT (and clear programs) if its version number is the same as the previous one
FFmpeg
trac at avcodec.org
Wed Sep 5 15:34:38 CEST 2012
#1719: MPEG-TS demuxer : don't parse a PAT (and clear programs) if its version
number is the same as the previous one
-------------------------------------+-------------------------------------
Reporter: aurelien | Type: defect
Status: new | Priority: normal
Component: avformat | Version: git-
Keywords: mpegts | master
demuxer pat pmt | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
{{{
ffmpeg -i euronews_long_pmt_over_pat.ts
ffmpeg version N-44162-gfc15f58 Copyright (c) 2000-2012 the FFmpeg
developers
built on Sep 5 2012 12:24:04 with gcc 4.7 (Debian 4.7.1-2)
configuration: --prefix=/home/aurelien/local --enable-postproc --enable-
nonfree --enable-gpl --enable-libopencore-amrnb --enable-libfaac --enable-
libmp3lame --enable-shared --enable-libxvid --enable-libx264 --extra-
cflags=-I/home/aurelien/local/include --extra-
ldflags=-L/home/aurelien/local/lib --enable-version3 --disable-
optimizations --enable-libfreetype --disable-stripping --enable-libaacplus
--enable-libfaac
libavutil 51. 70.100 / 51. 70.100
libavcodec 54. 55.100 / 54. 55.100
libavformat 54. 25.104 / 54. 25.104
libavdevice 54. 2.100 / 54. 2.100
libavfilter 3. 15.103 / 3. 15.103
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[mpegts @ 0x1b61240] probed stream 1 failed
[mpegts @ 0x1b61240] max_analyze_duration 5000000 reached at 5016000
[mpegts @ 0x1b61240] Could not find codec parameters for stream 1
(Unknown: none): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[mpegts @ 0x1b61240] PES packet size mismatch
Last message repeated 9 times
Input #0, mpegts, from '/home/dump/euronews_long_pmt_over_pat.ts':
Duration: 00:02:59.27, start: 10770.595789, bitrate: 4407 kb/s
Program 8202
Metadata:
service_name : ARM_1
service_provider: GlobeCast
[...]
No Program
Stream #0:0[0x8c6]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:1[0x300]: Unknown: none
Stream #0:2[0x8ad]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR
64:45 DAR 16:9], 3240 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:3[0x8c1]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:4[0x8bf]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:5[0x8c0]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:6[0x8bd]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:7[0x8be]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:8[0x8bb]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:9[0x8ba]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:10[0x8bc]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:11[0x8b9]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:12[0x8b8]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream #0:13[0x8b7]: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
The stream looks like :
[PAT]
[PAT]
[PAT]
[PMT_first packet]
[PAT]
[PAT]
[PAT]
[PMT_last_packet]
[etc...]
}}}
In pat_cb(), clear_programs() is called unconditionally so the when the
second half of the PMT is received it will be discarded.
The attached patch fixes that.
The sample is on the ffmpeg ftp : euronews_long_pmt_over_pat.ts
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1719>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list