GNOME Bugzilla – Bug 391365
[oggdemux] internal stream error on OggFlac
Last modified: 2007-01-08 14:03:08 UTC
After (compiling/)installing the latest stable packages on SuSE 10.2 AMD64, gstreamer still fails to render OGG encasulated Flacs: (the test-flac was encoded with V.1.1.2) #~> rpm -qa | grep gstreamer gstreamer010-plugins-base-32bit-0.10.10-8 gstreamer010-plugins-bad-doc-0.10.4-0.pm.1 gstreamer010-devel-0.10.11-0.pm.1 gstreamer010-plugins-good-debuginfo-0.10.5-0.pm.2 gstreamer010-32bit-0.10.10-8 gstreamer010-plugins-ugly-0.10.5-0.pm.1 gstreamer010-0.10.11-0.pm.1 gstreamer010-plugins-base-doc-0.10.11-0.pm.1 gstreamer010-plugins-bad-0.10.4-0.pm.1 gstreamer010-plugins-ugly-doc-0.10.5-0.pm.1 gstreamer010-plugins-base-0.10.11-0.pm.1 gstreamer010-doc-0.10.11-0.pm.1 gstreamer010-plugins-base-oil-0.10.11-0.pm.1 gstreamer010-plugins-good-extra-0.10.5-0.pm.2 gstreamer010-plugins-good-0.10.5-0.pm.2 gstreamer010-plugins-base-debuginfo-0.10.11-0.pm.1 gstreamer010-plugins-base-visual-0.10.11-0.pm.1 gstreamer010-plugins-base-devel-0.10.11-0.pm.1 gstreamer010-debuginfo-0.10.11-0.pm.1 gstreamer010-plugins-good-doc-0.10.5-0.pm.2 #~> gst-launch-0.10 -v -t filesrc location=test.ogg ! decodebin ! audioconvert ! audioresample ! osssink Setting pipeline to PAUSED ... /pipeline0/decodebin0/typefind.src: caps = application/ogg Pipeline is PREROLLING ... FEHLER: Von Element /pipeline0/decodebin0/oggdemux0: Internal data stream error. Zusätzliche Debugginginformation: gstoggdemux.c(3105): gst_ogg_demux_loop (): /pipeline0/decodebin0/oggdemux0: stream stopped, reason not-linked ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... /pipeline0/decodebin0/oggdemux0.serial_6e923a32: caps = NULL /pipeline0/decodebin0/typefind.src: caps = NULL FREEING pipeline ...
Created attachment 79111 [details] GST_DEBUG=*:5 playbin output
Could you make the file (or the beginning of the file, use 'head --bytes=3m foo.flac > foo-head.flac' or so) available somewhere by any chance? The problem seems to be that the typefinding doesn't find the four marker bytes 'fLaC' right at the beginning of the first ogg packet. Could you do $ head --bytes=512k flac-in.ogg > header.ogg and attach the header.ogg file?
Created attachment 79136 [details] Requested header.ogg First of all a Happy New Year to everyone! The attached OGG is a 1kHz sinewave produced with Audacity, encoded with commandline 'flac --ogg test.wav' version 1.1.2 on SuSE AMD64. My music was encoded on Windows-2k commandline flac 1.1.2 where I tripped across the error. The hole file can be downloaded from http://www.darkcenturies.de/test.ogg Thank you for your help, Günter
Created attachment 79638 [details] [review] fixed typefindfunction As you already pointed out, it is a problem with the typefind function - FLAC-in-OGG has a different header than FLAC standalone see: http://flac.sourceforge.net/ogg_mapping.html the attached mini-patch (in gst/typefind/gsttypefindfunctions.c) solves the problem for me (I have not programmed for about ten years) Hope it helps, Günter Thelen.
Thanks, committed with minor changes: 2007-01-08 Tim-Philipp Müller <tim at centricular dot net> Patch by: Günter Thelen <daedalus dot inc at gmx net> * gst/typefind/gsttypefindfunctions.c: (flac_type_find), (plugin_init): Add typefinder for flac-in-ogg in conformance with the ogg-mapping on flac.sf.net (there appear to be other versions of the first ogg page in the wild) (#391365).