[gstreamer-bugs] [Bug 620790] New: Error: GStreamer encountered a general stream error. when trying to play .mkv file

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Jun 6 17:59:20 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=620790
  GStreamer | gst-plugins-good | 0.10.23

           Summary: Error: GStreamer encountered a general stream error.
                    when trying to play .mkv file
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.23
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: ispiked at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


I have a .mkv file that give me the following error at certain spots while
playing:

** Message: Error: GStreamer encountered a general stream error.
matroska-demux.c(5241): gst_matroska_demux_loop ():
/GstPlayBin2:play/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0:
stream stopped, reason error

Here is a snippet when running with GST_DEBUG:

0:01:43.966809686 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4603:gst_matroska_demux_parse_cluster:<matroskademux0> Parsing
BlockGroup element at offset 39861370 finished with 'ok'
0:01:43.966823649 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0xae - ignoring
0:01:43.966833411 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0xae - ignoring
0:01:43.966842950 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0xae - ignoring
0:01:43.966851692 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0xae - ignoring
0:01:43.966860534 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0x8d - ignoring
0:01:43.966869107 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0x8d - ignoring
0:01:43.966878043 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0x7374 - ignoring
0:01:43.966886784 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0x7374 - ignoring
0:01:43.966900885 28033  0x84e37f8 DEBUG                basesrc
gstbasesrc.c:1989:gst_base_src_update_length:<source> reading offset 39874377,
length 65536, size 1173002147, segment.stop -1, maxsize 1173002147
0:01:43.966913888 28033  0x84e37f8 DEBUG                basesrc
gstbasesrc.c:2079:gst_base_src_get_range:<source> calling create offset
39874377 length 65536, time 0
0:01:43.966965144 28033  0x84e37f8 DEBUG                basesrc
gstbasesrc.c:1953:gst_base_src_do_sync:<source> no sync needed
0:01:43.966977919 28033  0x84e37f8 DEBUG                basesrc
gstbasesrc.c:2120:gst_base_src_get_range:<source> buffer ok
0:01:43.966989562 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0xe0 - ignoring
0:01:43.966999557 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0xe0 - ignoring
0:01:43.967008604 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0xae - ignoring
0:01:43.967017374 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0xae - ignoring
0:01:43.967026135 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0xe0 - ignoring
0:01:43.967034941 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0xe0 - ignoring
0:01:43.967043733 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0xaa - ignoring
0:01:43.967052351 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0xaa - ignoring
0:01:43.967061099 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:4618:gst_matroska_demux_parse_cluster: Unknown Cluster
subelement 0x6d6d - ignoring
0:01:43.967069868 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4625:gst_matroska_demux_parse_cluster: Skipping Cluster
subelement 0x6d6d - ignoring
0:01:43.967078910 28033  0x84e37f8 ERROR               ebmlread
ebml-read.c:362:gst_ebml_read_element_id:<matroskademux0> Invalid EBML ID size
tag (0xa) at position 39883176 (0x26091a8)
0:01:43.967098506 28033  0x84e37f8 DEBUG          matroskademux
matroska-demux.c:4650:gst_matroska_demux_parse_cluster:<matroskademux0> Parsing
Cluster element at offset 39883176 finished with 'error'
0:01:43.967110158 28033  0x84e37f8 DEBUG               GST_PADS
gstpad.c:5250:gst_pad_pause_task:<matroskademux0:sink> pause task
0:01:43.967120871 28033  0x84e37f8 DEBUG                   task
gsttask.c:608:gst_task_set_state:<task0> Changing task 0x851f038 to state 2
0:01:43.967132846 28033  0x84e37f8 WARN           matroskademux
matroska-demux.c:5241:gst_matroska_demux_loop:<matroskademux0> error: stream
stopped, reason error
0:01:43.967144764 28033  0x84e37f8 DEBUG            GST_MESSAGE
gstelement.c:1732:gst_element_message_full:<matroskademux0> start
0:01:43.967187292 28033  0x84e37f8 INFO        GST_ERROR_SYSTEM
gstelement.c:1763:gst_element_message_full:<matroskademux0> posting message:
GStreamer encountered a general stream error.
0:01:43.967208171 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:309:gst_bus_post:<bus4> [msg 0x8520100] posting on bus, type error,
GstMessageError, gerror=(GstGError)NULL,
debug=(string)"matroska-demux.c\(5241\):\ gst_matroska_demux_loop\ \(\):\
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0:\012stream\
stopped\,\ reason\ error"; from source <matroskademux0>
0:01:43.967235736 28033  0x84e37f8 DEBUG                    bin
gstbin.c:2994:gst_bin_handle_message_func:<decodebin20> [msg 0x8520100]
handling child matroskademux0 message of type error
0:01:43.967247003 28033  0x84e37f8 DEBUG                    bin
gstbin.c:3268:gst_bin_handle_message_func:<decodebin20> posting message upward
0:01:43.967257492 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:309:gst_bus_post:<bus3> [msg 0x8520100] posting on bus, type error,
GstMessageError, gerror=(GstGError)NULL,
debug=(string)"matroska-demux.c\(5241\):\ gst_matroska_demux_loop\ \(\):\
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0:\012stream\
stopped\,\ reason\ error"; from source <matroskademux0>
0:01:43.967280143 28033  0x84e37f8 DEBUG                    bin
gstbin.c:2994:gst_bin_handle_message_func:<uridecodebin0> [msg 0x8520100]
handling child matroskademux0 message of type error
0:01:43.967291073 28033  0x84e37f8 DEBUG                    bin
gstbin.c:3268:gst_bin_handle_message_func:<uridecodebin0> posting message
upward
0:01:43.967301278 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:309:gst_bus_post:<bus0> [msg 0x8520100] posting on bus, type error,
GstMessageError, gerror=(GstGError)NULL,
debug=(string)"matroska-demux.c\(5241\):\ gst_matroska_demux_loop\ \(\):\
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0:\012stream\
stopped\,\ reason\ error"; from source <matroskademux0>
0:01:43.967324601 28033  0x84e37f8 DEBUG                    bin
gstbin.c:2994:gst_bin_handle_message_func:<playbin20> [msg 0x8520100] handling
child matroskademux0 message of type error
0:01:43.967335337 28033  0x84e37f8 DEBUG                    bin
gstbin.c:3268:gst_bin_handle_message_func:<playbin20> posting message upward
0:01:43.967345643 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:309:gst_bus_post:<bus1> [msg 0x8520100] posting on bus, type error,
GstMessageError, gerror=(GstGError)NULL,
debug=(string)"matroska-demux.c\(5241\):\ gst_matroska_demux_loop\ \(\):\
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0:\012stream\
stopped\,\ reason\ error"; from source <matroskademux0>
0:01:43.967366124 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:339:gst_bus_post:<bus1> [msg 0x8520100] pushing on async queue
0:01:43.967376708 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:344:gst_bus_post:<bus1> [msg 0x8520100] pushed on async queue
0:01:43.967391719 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:335:gst_bus_post:<bus0> [msg 0x8520100] dropped
0:01:43.967403211 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:335:gst_bus_post:<bus3> [msg 0x8520100] dropped
0:01:43.967421685 28033  0x84e37f8 DEBUG                GST_BUS
gstbus.c:335:gst_bus_post:<bus4> [msg 0x8520100] dropped
0:01:43.967432452 28033  0x84e37f8 INFO        GST_ERROR_SYSTEM
gstelement.c:1786:gst_element_message_full:<matroskademux0> posted error
message: GStreamer encountered a general stream error.
0:01:43.967444011 28033  0x84e37f8 DEBUG              GST_EVENT
gstevent.c:269:gst_event_new: creating new event 0x85320c8 eos 86

The relevant error seems to be:

0:01:43.967078910 28033  0x84e37f8 ERROR               ebmlread
ebml-read.c:362:gst_ebml_read_element_id:<matroskademux0> Invalid EBML ID size
tag (0xa) at position 39883176 (0x26091a8)

I ran the .mkv file through mkvinfo and noticed the following output right
around the time the crash occurs:

|+ Cluster
| + Cluster timecode: 102.432s
| + Block group
|  + Block (track number 2, 8 frame(s), timecode 102.432s = 00:01:42.432)
|   + Frame with size 1792
|   + Frame with size 1792
|   + Frame with size 1792
|   + Frame with size 1792
|   + Frame with size 1792
|   + Frame with size 1792
|   + Frame with size 1792
|   + Frame with size 1792
| + Block group
|  + Block (track number 1, 1 frame(s), timecode 102.436s = 00:01:42.436)
|   + Frame with size 26852
|  + Reference block: -42.000000ms
| + Block group
|  + Block (track number 1, 1 frame(s), timecode 102.561s = 00:01:42.561)
|   + Frame with size 29119
|  + (Unknown element: DummyElement; ID: 0xff size: 3)
| + (Unknown element: DummyElement; ID: 0xff size: 53)
| + (Unknown element: DummyElement; ID: 0xff size: 20)
| + (Unknown element: DummyElement; ID: 0xff size: 98)
| + (Unknown element: DummyElement; ID: 0xff size: 12836)
| + (Unknown element: DummyElement; ID: 0xff size: 48)
| + (Unknown element: DummyElement; ID: 0xff size: 43)
| + (Unknown element: DummyElement; ID: 0xff size: 48)
| + (Unknown element: DummyElement; ID: 0xff size: 98)
| + (Unknown element: DummyElement; ID: 0xff size: 8562)
| + (Unknown element: DummyElement; ID: 0xff size: 13349)

What is the problem here? Is there an error in the .mkv file itself? Can
gstreamer handle it more gracefully? I have reason to believe (but no proof)
that the Matroska codec used on Windows can decode this just fine.

-- 
Configure bugmail: https://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