After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 317872 - Cannot demux ASF/WMV files with auxillary (non-audio/video) streams
Cannot demux ASF/WMV files with auxillary (non-audio/video) streams
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
0.8.x
Other All
: Normal normal
: 0.10.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-10-03 21:41 UTC by Jason Petrone
Modified: 2006-02-17 14:26 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jason Petrone 2005-10-03 21:41:19 UTC
Please describe the problem:
The ASF file format makes provisions for streams that do not contain audio or
video.  These contain additional content such as text or scripting commands
(e.g. open a url in web browser).

When encountering such a stream GStreamer regards it as a fatal error.  Instead,
it should print a warning and continue on to the next stream.

Steps to reproduce:
Try playing this video:
  http://www.demonseed.net/gstasfdemux-jsnfix-sample.wmv




Actual results:
Without the patch the video will not play and a fatal error will be reported.

Expected results:
The video will play correctly.

Does this happen every time?
yes.

Other information:
Patch against gst-plugins-0.8.11/gst/asfdemux/gstasfdemux.c

--- gstasfdemux.c 2005-06-14 12:38:01.000000000 -0400
+++ gstasfdemux-FIXED.c 2005-09-28 18:39:12.000000000 -0400
@@ -1189,9 +1189,8 @@
         return FALSE;
       break;
     default:
-      GST_ELEMENT_ERROR (asf_demux, STREAM, WRONG_TYPE, (NULL),
-          ("unknown asf stream (id %08x)", (guint) stream_id));
-      return FALSE;
+      GST_WARNING ("unknown asf stream (id %08x)", (guint) stream_id);
+      gst_bytestream_flush (asf_demux->bs, *obj_size - 24 - sizeof(object));
   }

   return TRUE;
@@ -1252,7 +1251,8 @@

   switch (obj_id) {
     case ASF_OBJ_STREAM:
-      return gst_asf_demux_process_stream (asf_demux, &obj_size);
+      gst_asf_demux_process_stream (asf_demux, &obj_size);
+      return TRUE;
     case ASF_OBJ_DATA:
       gst_asf_demux_process_data (asf_demux, &obj_size);
       /* This is the last object */
Comment 1 Andy Wingo 2006-01-13 18:52:12 UTC
Patch looks OK. Ronald how does this look to you?
Comment 2 Edward Hervey 2006-02-17 10:28:48 UTC
patch applied to 0.10 version. It does solve some issues (it will play the recognized tracks) and allows the user to play the file.

2006-02-17  Edward Hervey  <edward@fluendo.com>

	* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_stream):
	Do not error out on non-recognized streams. Ignore them and allow
	playback of the other streams.

Comment 3 Ronald Bultje 2006-02-17 14:26:34 UTC
Guys, please keep backporting patches to 0.8 as long as someone is willing to do maintainance releases.