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 391365 - [oggdemux] internal stream error on OggFlac
[oggdemux] internal stream error on OggFlac
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.11
Other Linux
: Normal normal
: 0.10.12
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-12-31 17:13 UTC by Günter Thelen
Modified: 2007-01-08 14:03 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
GST_DEBUG=*:5 playbin output (235.83 KB, application/x-bzip)
2006-12-31 17:16 UTC, Günter Thelen
  Details
Requested header.ogg (512.00 KB, application/ogg)
2007-01-01 12:27 UTC, Günter Thelen
  Details
fixed typefindfunction (2.35 KB, patch)
2007-01-07 15:48 UTC, Günter Thelen
committed Details | Review

Description Günter Thelen 2006-12-31 17:13:19 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 ...
Comment 1 Günter Thelen 2006-12-31 17:16:05 UTC
Created attachment 79111 [details]
 GST_DEBUG=*:5 playbin output
Comment 2 Tim-Philipp Müller 2006-12-31 17:44:36 UTC
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?

Comment 3 Günter Thelen 2007-01-01 12:27:46 UTC
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
Comment 4 Günter Thelen 2007-01-07 15:48:58 UTC
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.
Comment 5 Tim-Philipp Müller 2007-01-08 14:03:08 UTC
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).