From: İşbaran A. <is...@gm...> - 2009-09-08 14:20:56
|
Hello everyone, i've accidentally sent this message to vlc development list, redirecting here cause i guess its related to libmpeg2 -------- Original Message -------- Subject: segfault on bad pictures / low link power Date: Tue, 08 Sep 2009 15:31:17 +0300 From: İşbaran Akçayır <is...@gm...> To: Mailing list for VLC media player developers <vlc...@vi...> Hello, Since i dont know when trac is going online, i'm posting this here with all debug i could get. I'm using vlc in a udp rtsp multicast mpeg2 network, and this is what happens if link power is low, after some time (1-3 minutes) pictures/video are distorted with green mosaics. I can reproduce this with previous versions of vlc and current 1.0 release. Tried on Pardus and Ubuntu Linux so far. here is gdb out: http://pastebin.com/f3a8493c I can produce any other information you need Best regards, işbaran |
From: Keith W. <ke...@MI...> - 2009-09-08 14:41:12
|
Hello İşbaran, If you feed libmpeg2 bad data (e.g., if you're dropping packets and not replacing them), you will certainly see green blotches -- that's generally what you see when there's missing intraframe data. (There are more sophisticated ways of doing error concealment in the presence of unreliable transport, but this is the basic behavior.) You shouldn't be able to make libmpeg2 segfault, though -- it should simply detect the invalid elementary stream. Can you capture the exact data you're feeding into it (after the UDP reception) and find a replicable segfault? Then we can debug it. Otherwise, no offense, it's probably a bug in VLC. :-) Best, Keith On Tue, 8 Sep 2009, İşbaran Akçayır wrote: > Hello everyone, > > i've accidentally sent this message to vlc development list, redirecting > here cause i guess its related to libmpeg2 > > -------- Original Message -------- > Subject: segfault on bad pictures / low link power > Date: Tue, 08 Sep 2009 15:31:17 +0300 > From: İşbaran Akçayır <is...@gm...> > To: Mailing list for VLC media player developers <vlc...@vi...> > > Hello, > > Since i dont know when trac is going online, i'm posting this here with > all debug i could get. > > I'm using vlc in a udp rtsp multicast mpeg2 network, and this is what > happens if link power is low, after some time (1-3 minutes) > pictures/video are distorted with green mosaics. > > I can reproduce this with previous versions of vlc and current 1.0 > release. Tried on Pardus and Ubuntu Linux so far. > > here is gdb out: > > http://pastebin.com/f3a8493c > > I can produce any other information you need > > Best regards, > işbaran > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Libmpeg2-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmpeg2-devel |
From: İşbaran A. <is...@gm...> - 2009-09-22 07:57:23
|
2009/9/8 Keith Winstein <ke...@mi...> > Hello İşbaran, > Helloes again, If you feed libmpeg2 bad data (e.g., if you're dropping packets and not > replacing them), you will certainly see green blotches -- that's generally > what you see when there's missing intraframe data. > > (There are more sophisticated ways of doing error concealment in the > presence of unreliable transport, but this is the basic behavior.) > > You shouldn't be able to make libmpeg2 segfault, though -- it should simply > detect the invalid elementary stream. Can you capture the exact data you're > feeding into it (after the UDP reception) and find a replicable segfault? > Then we can debug it. Otherwise, no offense, it's probably a bug in VLC. :-) > It's been a while, sorry, i didnt have time for video stuff, but now i captured some video that causes crash with vlc, splitted it so you can instantly see the crash :) Can you please check if you can reproduce this crash, and comment on what is causing this ? http://www.ish.kodzilla.org/minimum-crash.mpeg Best, > Keith Thank you, best regards işbaran ps: dammit i first forgot to add video, than to "reply all" :S |
From: Keith W. <ke...@MI...> - 2009-09-22 18:59:36
|
Hi İşbaran, That video doesn't crash mpeg2dec or libmpeg2. It does have a heck of a lot of corruption! And it is unusual in that it's encoded using field pictures instead of frame pictures. As a practical matter, you need to reconsider how you're sending this stuff if you want to get usable video. You need forward error correction, retransmissions (like what TCP would give you), more link power per bit, or something. On the theory for the crash, my hunch is that VLC is not engineered to be robust against streams that use field pictures and don't observe the required field sequence. (E.g., you have to follow a top-field picture with a bottom-field picture, and this stream has so much invalid data that it doesn't always do that.) Why are you using field pictures anyway? This is a pretty nasty stream and it is going to touch a lot of code paths that free software is not well tested on. Anyway, as a formal matter, mpeg2dec seems to be handling this properly (and not crashing). If you want to stop VLC from crashing, my guess is you need to switch to frame pictures. (You can still encode interlaced video this way, of course!) And if you actually want usable video, you need some of the practical improvements above... Happy hunting, Keith On Tue, 22 Sep 2009, İşbaran Akçayır wrote: > 2009/9/8 Keith Winstein <ke...@mi...> > Hello İşbaran, > > > Helloes again, > > If you feed libmpeg2 bad data (e.g., if you're dropping > packets and not replacing them), you will certainly see green > blotches -- that's generally what you see when there's > missing intraframe data. > > (There are more sophisticated ways of doing error concealment > in the presence of unreliable transport, but this is the > basic behavior.) > > You shouldn't be able to make libmpeg2 segfault, though -- it > should simply detect the invalid elementary stream. Can you > capture the exact data you're feeding into it (after the UDP > reception) and find a replicable segfault? Then we can debug > it. Otherwise, no offense, it's probably a bug in VLC. :-) > > > It's been a while, sorry, i didnt have time for video stuff, but now i > captured some video that causes crash with vlc, splitted it so you can > instantly see the crash :) > > Can you please check if you can reproduce this crash, and comment on what > is causing this ? > > http://www.ish.kodzilla.org/minimum-crash.mpeg > > Best, > Keith > > > Thank you, best regards > işbaran > > ps: dammit i first forgot to add video, than to "reply all" :S > > |