[FFmpeg-trac] #655(avformat:new): asf parser go into the trobule
FFmpeg
trac at avcodec.org
Tue Nov 15 04:34:39 CET 2011
#655: asf parser go into the trobule
----------------------------------+----------------------------------
Reporter: qrtt1 | Type: defect
Status: new | Priority: normal
Component: avformat | Version: 0.8.6
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+----------------------------------
I try to play mms://72.13.93.186/campcartoon with my android player which
is implemented by our staff.
We use ffmpeg to decode a/v frames, and most mms streams are playing well.
TubTub.com (mms://72.13.93.186/campcartoon) is always going wrong after
playing for a while.
I cannot figure out what does matter with it. There are some log messages
shown by ffmpeg.
When asf parser emitted error messages, my screen doesn't look good.
We can reproduce it in ffplay on x86 machine.
Here are log messages from adb logcat
{{{
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header 0 at:10661828
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf skip 1435 (unknown stream)
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header b4 at:10663272
I/libffmpeg( 2421): [asf @ 0x384b00] invalid padsize 15554 at:10663276
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header 31 at:10663286
I/libffmpeg( 2421): [asf @ 0x384b00] invalid padsize 56873 at:10663288
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header e2 at:10663310
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad non zero
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header f at:10663354
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header 4 at:10664880
I/libffmpeg( 2421): [asf @ 0x384b00] packet_obj_size invalid
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size
(4062 147 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size
(4209 1410 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size
(5619 1410 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size
(7029 445 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] freeing incomplete packet size 8292,
new 1272
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 39040 > 39008
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 22 DC, 22 AC, 22 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 27354 > 27352
at 8x5
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 341 DC, 341 AC, 341 MV
errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 32514 > 32512
at 22x18
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 2 DC, 2 AC, 2 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 37293 > 37272
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 92 DC, 92 AC, 92 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 40398 > 40392
at 0x13
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 149 DC, 149 AC, 149 MV
errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 23513 > 23456
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 213 DC, 213 AC, 213 MV
errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 22230 > 22208
at 4x18
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 20 DC, 20 AC, 20 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 22809 > 22800
at 15x7
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 284 DC, 284 AC, 284 MV
errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 15884 > 15864
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 279 DC, 279 AC, 279 MV
errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 16257 > 16240
at 6x5
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 343 DC, 343 AC, 343 MV
errors
}}}
The bad video picture will become to normal in x86 devices, but
'ff_mspel_motion' got crashed on Android (arm).
Here is my workaround to prevent from the negative array index:
https://github.com/qrtt1/ffmpeg_icy/commit/8f8bfb9ce74691cebdc704a7b65b38a8e0fee69f
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/655>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list