GNOME Bugzilla – Bug 166491
[oggdemux] doesn't play a chained OGG with early EOS
Last modified: 2005-11-21 16:56:09 UTC
Version details: Debian Distribution/Version: Debian/sid gst-launch-0.8 gnomevfssrc location=/home/lool/foo.ogg ! \ spider ! volume ! audioscale ! audioconvert ! $(gconftool-2 \ -g /system/gstreamer/0.8/default/audiosink) doesn't produce any sound, while: ogg123 /home/lool/foo.ogg works. Asking for some debug showed: EXECUTION du tube en cours ... WARN (0x8050928 - 307701:07:44.578336000) GST_SCHEDULING( 8221) gstpad.c(3178):_invent_event: needed to invent a DISCONT 0x805f438 (no time) for gnomevfssrc0:src => sink_ident:sink WARN (0x8050928 - 307701:07:44.581954000) default( 8221) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=5 WARN (0x8050928 - 307701:07:44.582807000) default( 8221) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=11 WARN (0x8050928 - 307701:07:44.583149000) default( 8221) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=12 WARN (0x8050928 - 307701:07:44.583484000) default( 8221) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=13 WARN (0x8050928 - 307701:07:44.583868000) default( 8221) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=15 WARN (0x8050928 - 307701:07:44.584248000) default( 8221) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=16 ... WARN (0x8050928 - 307701:08:08.705537000) default( 8224) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=13 WARN (0x8050928 - 307701:08:08.705597000) default( 8224) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=15 WARN (0x8050928 - 307701:08:08.705654000) default( 8224) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=16 WARN (0x8050928 - 307701:08:08.705674000) default( 8224) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=17 WARN (0x8050928 - 307701:08:08.705694000) default( 8224) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=18 WARN (0x8050928 - 307701:08:08.705713000) default( 8224) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=19 WARN (0x8050928 - 307701:08:08.860458000) GST_SCHEDULING( 8224) gstpad.c(3178):_invent_event: needed to invent a DISCONT 0x805f438 (no time) for sink_ident:src => oggdemux0:sink WARN (0x8050928 - 307701:08:09.288815000) GST_SCHEDULING( 8224) gstpad.c(3178):_invent_event: needed to invent a DISCONT 0x805f438 (no time) for oggdemux0:serial_11857 => vorbisdec0:sink Execution ended after 7025 iterations (sum 1373615000 ns, average 195532 ns, min 24000 ns, max 622818000 ns). I then tried to force ogg demux: bee% gst-launch-0.8 --gst-debug-no-color --gst-debug-level=2 gnomevfssrc location=/home/lool/foo.ogg ! \ oggdemux name=mux '{' mux. ! queue ! vorbisdec ! audioconvert ! $(gconftool-2 \ -g /system/gstreamer/0.8/default/audiosink) '}' 2>&1 | tail -10 WARN (0x8050958 - 307701:12:01.482455000) default( 8244) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=13 WARN (0x8050958 - 307701:12:01.482518000) default( 8244) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=15 WARN (0x8050958 - 307701:12:01.482540000) default( 8244) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=16 WARN (0x8050958 - 307701:12:01.482561000) default( 8244) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=17 WARN (0x8050958 - 307701:12:01.482581000) default( 8244) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=18 WARN (0x8050958 - 307701:12:01.482601000) default( 8244) gstffmpegcodecmap.c(836):gst_ffmpeg_pixfmt_to_caps: No caps found for pix_fmt=19 (process:8244): GStreamer-WARNING **: Unhandled state change from PLAYING to READY WARN (0x8050958 - 307701:12:01.745611000) GST_SCHEDULING( 8244) gstpad.c(3178):_invent_event: needed to invent a DISCONT 0x805f468 (no time) for mux:serial_11857 => queue0:sink Execution ended after 7024 iterations (sum 1357306000 ns, average 193238 ns, min 24000 ns, max 660113000 ns). I'd be interested in knowing how I should debug this further. :) The OGG file is at: <http://people.debian.org/~kraai/foo.ogg> This is Debian bug <http://bugs.debian.org/292463>.
This file has an eos on the 3rd packet and then starts a new ogg.
I suppose the playbin container and the other applications such as totem or rhythmbox don't play it because of the chained OGG problem? Should this be merged with other chained ogg bugs?
Chained ogg has been fixed a while ago. It may be crashing out because the EOS becomes too early (data only starts at packet 4).
This file reads perfectly fine with gstreamer-0.9/0.10 This pipeline works : gst-launch-0.9 filesrc location=foo.ogg ! decodebin ! audioconvert ! alsasink python gst-python/examples/gstfile.py foo.ogg gives the following info: Mime Type : application/ogg Length : 109m 45s 528 Audio: 109m 45s 528 Video: 0m 0s 0 Audio : 2 channels(s) : 44100Hz @ 32bits (float) Codec : Vorbis Additional information : minimum-bitrate : 80 encoder-version : 0 artist : Copyright Vs Community at Ravensbourne College bitrate : 160003 nominal-bitrate : 160003 maximum-bitrate : 192 encoder : Xiph.Org libVorbis I 20030909 title : 1100 BST till 1900 BST
fixed in 0.9, therefore closing !