VLC Crash On Resolution Change

This forum is about all development around libVLC.
Moriquendi
Blank Cone
Blank Cone
Posts: 74
Joined: 31 May 2011 16:22

VLC Crash On Resolution Change

Postby Moriquendi » 27 Oct 2017 08:22

Hi there,

I have .ts file and I tried to open it using VLC 2.1.5 first and VLC crashed. The log messages right before crash looks like in the image below;

https://pasteboard.co/GQPjDiK.jpg

The problem with my .ts file is that there are some parts that display resolution changes rapidly. Normally video is 1920x1080, but at some some point, the resolution rapidly changes to 1920x320 then 1920x364, etc.. This crash always occurs with VLC 2.1.5. Then I tried to open the same file with VLC 2.2.5.1 and 3.0.0 nightly builds. It worked with no problem. VLC 2.2.5.1 somehow managed to survive problematic frames(where resolution changed rapidly) by showing some black frames instead of crashing.

If VLC 2.2.5.1 is working fine, why am I opening this topic? Well, rarely (might happen in 30 minutes or after 2 hours), VLC 2.2.5.1 also crashes due to what I think is also rapid resolution changes. Instead of opening a local .ts file, I opened an UDP network stream (i.e. "udp://@:1234) where input source encoded .ts stream from a Go Pro 4 camera. Here is one of the logs I've taken right before VLC 2.2.5.1 crashed;

Code: Select all

_slice_header error [h264 @ 077e9960] mb_type 8160 in I slice too large at 2 29 [h264 @ 077e9960] error while decoding MB 2 29 [h264 @ 077e9960] deblocking filter parameters -40 10 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] deblocking_filter_idc 32 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] deblocking filter parameters 0 -512 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] negative number of zero coeffs at 62 19 [h264 @ 077e9960] error while decoding MB 62 19 [h264 @ 077e9960] mb_type 117 in P slice too large at 62 28 [h264 @ 077e9960] error while decoding MB 62 28 [h264 @ 077e9960] cbp too large (58) at 66 27 [h264 @ 077e9960] error while decoding MB 66 27 [h264 @ 077e9960] left block unavailable for requested intra mode at 0 0 [h264 @ 077e9960] error while decoding MB 0 0 [h264 @ 077e9960] deblocking_filter_idc 32 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] deblocking filter parameters 0 -214 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] corrupted macroblock 44 2 (total_coeff=-1) [h264 @ 077e9960] error while decoding MB 44 2 [h264 @ 077e9960] deblocking_filter_idc 32 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] mb_type 8155 in P slice too large at 68 16 [h264 @ 077e9960] error while decoding MB 68 16 [h264 @ 077e9960] deblocking_filter_idc 32 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] deblocking_filter_idc 32 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] deblocking filter parameters 8 -168 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] top block unavailable for requested intra mode at 88 0 [h264 @ 077e9960] error while decoding MB 88 0 [h264 @ 077e9960] left block unavailable for requested intra mode at 0 38 [h264 @ 077e9960] error while decoding MB 0 38 [h264 @ 077e9960] out of range intra chroma pred mode at 90 44 [h264 @ 077e9960] error while decoding MB 90 44 [h264 @ 077e9960] out of range intra chroma pred mode at 41 35 [h264 @ 077e9960] error while decoding MB 41 35 [h264 @ 077e9960] deblocking_filter_idc 32 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] P sub_mb_type 11 out of range at 2 44 [h264 @ 077e9960] error while decoding MB 2 44 [h264 @ 077e9960] out of range intra chroma pred mode at 65 2 [h264 @ 077e9960] error while decoding MB 65 2 [h264 @ 077e9960] cbp too large (78) at 42 44 [h264 @ 077e9960] error while decoding MB 42 44 [h264 @ 077e9960] mb_type 26 in P slice too large at 8 28 [h264 @ 077e9960] error while decoding MB 8 28 [h264 @ 077e9960] top block unavailable for requested intra mode at 46 0 [h264 @ 077e9960] error while decoding MB 46 0 [h264 @ 077e9960] P sub_mb_type 6 out of range at 37 8 [h264 @ 077e9960] error while decoding MB 37 8 [h264 @ 077e9960] top block unavailable for requested intra mode at 0 0 [h264 @ 077e9960] error while decoding MB 0 0 [h264 @ 077e9960] negative number of zero coeffs at 79 16 [h264 @ 077e9960] error while decoding MB 79 16 [h264 @ 077e9960] top block unavailable for requested intra4x4 mode -1 at 0 0 [h264 @ 077e9960] error while decoding MB 0 0 [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] out of range intra chroma pred mode at 4 0 [h264 @ 077e9960] error while decoding MB 4 0 [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] mmco: unref short failure [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] reference overflow 30 > 15 or 0 > 15 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] mmco: unref short failure [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] mb_type 1754 in P slice too large at 7 0 [h264 @ 077e9960] error while decoding MB 7 0 [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] deblocking filter parameters -1760 0 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] reference overflow 29 > 15 or 0 > 15 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] deblocking filter parameters 0 2692 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] deblocking filter parameters -1770 8 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] reference overflow 29 > 15 or 0 > 15 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] deblocking filter parameters 0 -1760 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] deblocking filter parameters 2652 0 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] reference overflow 29 > 15 or 0 > 15 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] deblocking filter parameters 0 -1760 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] deblocking filter parameters -1770 0 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] reference overflow 29 > 15 or 0 > 15 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] deblocking filter parameters 0 2692 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] deblocking filter parameters -1770 8 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] reference overflow 29 > 15 or 0 > 15 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] deblocking filter parameters 0 -1760 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] deblocking filter parameters 2652 0 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] reference overflow 29 > 15 or 0 > 15 [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one [h264 @ 077e9960] deblocking filter parameters 0 -1760 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal short term buffer state detected [h264 @ 077e9960] deblocking filter parameters -1770 0 out of range [h264 @ 077e9960] decode_slice_header error [h264 @ 077e9960] illegal modification_of_pic_nums_idc 14 [h264 @ 077e9960] decode_slice_heats demux error: libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 2) for PID 0 ts demux error: libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 2) for PID 256 core vout display error: Failed to set on top ts demux error: libdvbpsi error (PSI decoder): TS discontinuity (received 5, expected 4) for PID 0 ts demux error: libdvbpsi error (PSI decoder): TS discontinuity (received 5, expected 4) for PID 256
I've tried to change ffmpeg and x264 preferences in the advanced options, however I couldnt find a way to overcome this issue. Any help would be appriciated.

Cheers.

Rémi Denis-Courmont
Developer
Developer
Posts: 15267
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: VLC Crash On Resolution Change

Postby Rémi Denis-Courmont » 27 Oct 2017 18:16

VLC 2.1 is no longer supported.

The stream is evidently corrupt, possibly due to packet loss (though that's not an excuse for VLC crashing.)
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

Moriquendi
Blank Cone
Blank Cone
Posts: 74
Joined: 31 May 2011 16:22

Re: VLC Crash On Resolution Change

Postby Moriquendi » 30 Oct 2017 07:44

The stream is evidently corrupt, possibly due to packet loss (though that's not an excuse for VLC crashing.)
Exactly. The streaming process is through air, so packet losses are very common. Do you think I can minimize the number or times VLC crashes due to corrupted input? (Using VLC 2.2.5.1, nightly builds or any other builds you can recommend)

Rémi Denis-Courmont
Developer
Developer
Posts: 15267
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: VLC Crash On Resolution Change

Postby Rémi Denis-Courmont » 30 Oct 2017 17:17

It depends what is crashing, so can't really answer.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

Moriquendi
Blank Cone
Blank Cone
Posts: 74
Joined: 31 May 2011 16:22

Re: VLC Crash On Resolution Change

Postby Moriquendi » 01 Nov 2017 15:19

Ok.. Is there any way to catch resolution changes? I've looked at libvlc_event_e struct but I couldn't find anything useful. How does VLC Interface show "Display resolution" information in Tools-->Codec Information-->Codec tab. Does it use timer, constantly checking for media resolution or is there a callback function to do that?

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Crash On Resolution Change

Postby Jean-Baptiste Kempf » 11 Nov 2017 14:42

I don't think there is a simple way, no.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.


Return to “Development around libVLC”

Who is online

Users browsing this forum: No registered users and 17 guests