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 686391 - pitch element breaks rtsp and chained oggs in totem
pitch element breaks rtsp and chained oggs in totem
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: GStreamer backend
3.6.x
Other Linux
: Normal critical
: ---
Assigned To: Maintainer alias for GStreamer component of Totem
Maintainer alias for GStreamer component of Totem
Depends on:
Blocks:
 
 
Reported: 2012-10-18 16:02 UTC by Bastien Nocera
Modified: 2012-11-02 23:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backend: Use scaletempo instead of soundpitch plugin (4.08 KB, patch)
2012-10-25 10:04 UTC, Bastien Nocera
committed Details | Review

Description Bastien Nocera 2012-10-18 16:02:52 UTC
This fails:
totem http://lobostv.lobocast.org.es:8004/lobostv.ogg
This works:
gst-launch-1.0 playbin uri=http://lobostv.lobocast.org.es:8004/lobostv.ogg

The difference is the use of the pitch element in Totem's audiosink pipeline:
http://git.gnome.org/browse/totem/tree/src/backend/bacon-video-widget.c#n6063
Comment 1 Bastien Nocera 2012-10-18 16:03:44 UTC
The public stream comes from:
http://dir.xiph.org/by_format/Ogg_Theora
(if it ends up not working, there might be a working replacement there)
Comment 2 Bastien Nocera 2012-10-18 16:04:48 UTC
Another reproducer:
gst-launch-1.0 playbin uri=http://lobostv.lobocast.org.es:8004/lobostv.ogg audio-sink='pitch ! pulsesink'
Comment 3 Tim-Philipp Müller 2012-10-18 16:43:23 UTC
For the above clip, I see pitch posting latency messages and then answering max-latency=3 minutes.

Also breaks chained oggs, where min-latency goes completely through the roof (GstClockTime underflow) after the chain switch.
Comment 4 Tim-Philipp Müller 2012-10-22 20:47:49 UTC
commit 0a574419085b1b65f88e518a397c290e7d2ca89f
Author: Tim-Philipp Müller <tim@centricular.net>
Date:   Mon Oct 22 21:41:20 2012 +0100

    pitch: fix for start times > 0
    
    Fixes buffering and playback of streams that start with
    a non-0 timestamp in totem (which has a 'pitch' element
    before pulsesink).
    
    Example URI: http://lobostv.lobocast.org.es:8004/lobostv.ogg
    
    Still breaks with chained oggs, on second chain.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=686391
Comment 5 Tim-Philipp Müller 2012-10-22 22:53:28 UTC
Bastian: please disable pitch for GNOME 3.6.x, it makes the rest of GStreamer 1.x that otherwise works just fine look bad!

Breaks RTSP playback too it seems, e.g.:
rtsp://ushqmed01.palm.com/rtsp_non-QT/video/3GP/3gp_H264_AAC-LC/H264_176x144_25fps_0100kbps_AAC-LC_048kbps_44khz_M.3gp
(I get completely bogus latency values in pitch that get added to the upstream query)

And here's a nice chained ogg, first chain switch around 23-24 seconds:
http://people.freedesktop.org/~tpm/samples/chained.ogg
Comment 6 Sebastian Dröge (slomo) 2012-10-23 13:10:37 UTC
Alternatively switch to the scaletempo plugin, which also gets rid of potential license problems.
Comment 7 Tim-Philipp Müller 2012-10-23 13:21:56 UTC
To be clear: please either remove the pitch element altogether from totem, or switch to the scaletempo element (in the stable series).

Consider the pitch element unfixable for all practical purposes.
Comment 8 Bastien Nocera 2012-10-25 10:04:01 UTC
Created attachment 227241 [details] [review]
backend: Use scaletempo instead of soundpitch plugin

The soundpitch plugin is irreparably broken, and the scaletempo
offers the same features without the bugs, or the need to change
the pitch ratio ourselves.
Comment 9 Bastien Nocera 2012-10-25 10:06:34 UTC
Just need to wait on the gst-plugins-bad 1.0.2 release now.
Comment 10 Bastien Nocera 2012-10-25 13:58:36 UTC
Attachment 227241 [details] pushed as 74a993f - backend: Use scaletempo instead of soundpitch plugin
Comment 11 Tim-Philipp Müller 2012-11-02 23:38:10 UTC
Let's try this again ;)

 commit 6afe1e2a9e464b2a42d78fc3fc327ffbf059eef0
 Author: Tim-Philipp Müller <tim@centricular.net>
 Date:   Fri Nov 2 23:29:25 2012 +0000

    backend: really use scaletempo instead of soundpitch plugin
    
    The soundpitch plugin is irreparably broken, and the scaletempo
    offers the same features without the bugs, or the need to change
    the pitch ratio ourselves.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=686391


Note also that you shouldn't be checking for elements in -bad via PKG_CHECK_MODULES(GST_PLUGINS_BAD, gstreamer-plugins-bad-1.0 >= 1.0.2), that .pc file might go away if any of the unstable libs in -bad go away. Better use the new element check m4 macro instead.