[gstreamer-bugs] [Bug 328487] New: mpegdemux loops infinitely with corrupt MPEG file

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue Jan 24 12:52:12 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=328487
 GStreamer | gst-plugins-ugly | Ver: HEAD CVS

           Summary: mpegdemux loops infinitely with corrupt MPEG file
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: gst-plugins-ugly
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: fabrizio.ge at tiscali.it
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Steps to reproduce:
1. type "touch zero.mpg" in order to have a zero-length file
2. launch the pipeline "gst-launch-0.10 filesrc location=zero.mpg ! mpegdemux
.video_00 ! ffdec_mpeg2video ! xvimagesink"
3. all the threads get stuck 


Stack trace:


Other information:
I discovered this bug because I have some .mpg files whose first 4 bytes are 00
00 01 B3, and not 00 00 01 BA as real MPEG PS files should be. GStreamer does
not play those, and this could be right (although FFmpeg and Windows Media
Player do play them, so making GStreamer's MPEG demuxer more tolerant could be
an option).

However, what is unacceptable is that GStreamer never exits. Apparently,
gst_packetize_read tries unsuccessfully to find the sequence 00 00 01 BA, at
the
end of the file it returns GST_FLOW_RESEND, and gst_mpeg_parse_chain returns
GST_FLOW_OK.
This happens for all non-MPEG files fed to the MPEG demuxer, not only with MPEG
files starting with 00 00 01 B3: even with empty files or files made of all
zeros


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list