Crashes when playing multi-stream ogg audio files.

Bug #32858 reported by Francesco Accattapà
56
This bug affects 4 people
Affects Status Importance Assigned to Milestone
GStreamer
Fix Released
Medium
gstreamer0.10 (Ubuntu)
Fix Released
Medium
Ubuntu Desktop Bugs

Bug Description

totem-gstreamer crashes when playing an ogg file with multiple logical streams (I don't know if this is the correct definition, ogginfo output will follow); in particular it plays only the first stream and then crashes when I close it. The interesting thing is that the nautilus audio preview works fine.

I also tried with "gst-launch-0.10 playbin" (don't know if it is useful, I thought more useless info was better than less useful info). The file is hosted at http://gstreamer.freedesktop.org/media/small/multi.ogg, and this is the output of ogginfo:

----------------------------------------------------------------------------------------
Processing file "/home/france/Desktop/multi.ogg"...

New logical stream (#1, serial: 5aeacdaf): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20020717 (1.0)
Channels: 2
Rate: 44100

Nominal bitrate: 112.001000 kb/s
Upper bitrate not set
Lower bitrate not set
User comments section follows...
        ARTIST=The Afghan Whigs
        TITLE=Dark End Of The Street
        INFO=original
Vorbis stream 1:
        Total data length: 33488 bytes
        Playback length: 0m:02.612s
        Average bitrate: 102.557000 kb/s
Logical stream 1 ended
New logical stream (#2, serial: 6f816d38): type vorbis
Vorbis headers parsed for stream 2, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20020717 (1.0)
Channels: 2
Rate: 44100

Nominal bitrate: 112.001000 kb/s
Upper bitrate not set
Lower bitrate not set
User comments section follows...
        ARTIST=sgihW nahgfA ehT
        TITLE=teertS ehT fO ndE kraD
        INFO=reversed
Vorbis stream 2:
        Total data length: 33447 bytes
        Playback length: 0m:02.612s
        Average bitrate: 102.431438 kb/s
Logical stream 2 ended
New logical stream (#3, serial: 471e5f41): type vorbis
Vorbis headers parsed for stream 3, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20020717 (1.0)
Channels: 2
Rate: 32000

Nominal bitrate: 112.000000 kb/s
Upper bitrate not set
Lower bitrate not set
User comments section follows...
        ARTIST=The Afghan Whigs
        TITLE=Dark End Of The Street
        INFO=resampled to 32000Hz
Vorbis stream 3:
        Total data length: 30399 bytes
        Playback length: 0m:02.612s
        Average bitrate: 93.096756 kb/s
Logical stream 3 ended
New logical stream (#4, serial: 38721419): type vorbis
Vorbis headers parsed for stream 4, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20020717 (1.0)
Channels: 1
Rate: 44100

Nominal bitrate: 64.000000 kb/s
Upper bitrate not set
Lower bitrate not set
User comments section follows...
        ARTIST=The Afghan Whigs
        TITLE=The Dark End Of The Street
        INFO=mono
Vorbis stream 4:
        Total data length: 18957 bytes
        Playback length: 0m:02.612s
        Average bitrate: 58.055813 kb/s
Logical stream 4 ended
----------------------------------------------------------------------------------------

I'm adding the totem and gst-launch-0.10 backtraces as attachments, because they are rather long.

I'm using the current dapper with gstreamer0.10-plugins-base version 0.10.3-1ubuntu1, gstreamer0.10-plugins-good version 0.10.2-2ubuntu1, libgstreamer0.10-0 version 0.10.3-1ubuntu2, totem-gstreamer version 1.3.91-0ubuntu2 on an iBook G4, all rebuilt as recommended in https://wiki.ubuntu.com/DebuggingProgramCrash.

Revision history for this message
Francesco Accattapà (callipeo) wrote : Totem backtrace

The totem backtrace.

Revision history for this message
Francesco Accattapà (callipeo) wrote : gst-launch-0.10 backtrace

The gst-launch-0.10 backtrace.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote : I can reproduce this too

Same problem here. It plays for a bit then the gstreamer program playing it crashes (tested with totem and rhythmbox on an up to date dapper).

Revision history for this message
Sebastien Bacher (seb128) wrote :

What audiosink do you use (gstreamer-properties), could you try with an another one?

Revision history for this message
Francesco Accattapà (callipeo) wrote :

Uhm... now that I tried again I can no longer reproduce the crash, though the problem that totem only plays the first stream still remains. I used autoaudiosink, but I tried alsasink and esdsink ad it goes the same.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Do you have it if you use autosink again?

Revision history for this message
Francesco Accattapà (callipeo) wrote :

Well, I can't no longer reproduce the crash, but totem still plays only the first stream.

Revision history for this message
Sebastien Bacher (seb128) wrote :
Changed in gstreamer0.10:
assignee: nobody → desktop-bugs
status: Unconfirmed → Confirmed
Changed in gstreamer:
status: Confirmed → In Progress
Changed in gstreamer:
status: In Progress → Fix Released
Revision history for this message
SK (stephantom) wrote :

This bug is now fixed in upstream by using the new playbin2 (which does multistream oggs). But according to (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415572) playback applications must be fixed to use it instead of playbin.
Should separate bugs be filed for totem/rhythmbox and the like?

Changed in gstreamer0.10:
status: Confirmed → Fix Committed
Revision history for this message
SK (stephantom) wrote :

Just for reference/tracking purposes: Upstream is working in this report (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=448215) towards porting rhythmbox to playbin2.

Revision history for this message
WHiZZi (bart-bartvandenakker) wrote :

It seems to be fixed in Debian Lenny. I've tried the same stream on a up2date Debian Lenny and an Ubuntu Hardy. The Ubuntu just stops (Rhythmbox crashes, Totem only stops working) while the Debian Lenny machine keeps playing (AND updates the ID-info)

On Ubuntu Hardy, this works (as, the stream continues to play)
$ gst-launch-0.10 playbin uri="http://private.url/stream.ogg"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
Buffering, setting pipeline to PAUSED ...
Prerolled, waiting for buffering to finish...
Done buffering, setting pipeline to PLAYING ...
Buffering, setting pipeline to PAUSED ...
Done buffering, setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
WARNING: from element /playbin0/abin/audiosink/audiosink-actual-sink-pulse: Compensating for audio synchronisation problems
Additional debug info:
gstbaseaudiosink.c(1190): gst_base_audio_sink_render (): /playbin0/abin/audiosink/audiosink-actual-sink-pulse:
Unexpected discontinuity in audio timestamps of more than half a second (0:00:03.043265306), resyncing

Revision history for this message
Sebastien Bacher (seb128) wrote :

the new version is available in ubuntu now

Changed in gstreamer0.10:
status: Fix Committed → Fix Released
Revision history for this message
era (era) wrote :

Reopening, as I cannot get it to work on Intrepid.

vnix$ gst-launch-0.10 playbin uri=http://gstreamer.freedesktop.org/media/small/multi.ogg
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPlayBin:playbin0/GstSoupHTTPSrc:source: Internal data flow error.
Additional debug info:
gstbasesrc.c(2234): gst_base_src_loop (): /GstPlayBin:playbin0/GstSoupHTTPSrc:source:
streaming task paused, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...

vnix$ uname -a
Linux nonesvch 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:06 UTC 2008 x86_64 GNU/Linux

vnix$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"

Changed in gstreamer0.10:
status: Fix Released → Confirmed
Revision history for this message
era (era) wrote :

Should bug #97720 be marked as a duplicate as well, by the way?

Revision history for this message
Sebastien Bacher (seb128) wrote :

don't reopen a closed bug because you have a similar issue

Changed in gstreamer0.10:
status: Confirmed → Fix Released
Changed in gstreamer:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.