GNOME Bugzilla – Bug 599903
Scaletempo plugin stops early when playing slowly
Last modified: 2009-11-06 00:47:05 UTC
The scaletempo plugin stops before reaching the end of a stream for rates < 1.
To be more specific:
When playing at a rate of 0.5, the pipeline stops at about half of the stream.
I tinkered a bit around (I disabled the forwarding of eos signals) and I think that the decoder initiates the false stop.
This does not happen when playing at rates < 1 without scaletempo.
This also happens with the demo application that ships with plugins-bad: gst-plugins-bad/tests/examples/scaletempo
Built from git repository on 10/28/2009
I just tried the example application with a mp3 I had around and it worked (no early stop).
What file format are you using? Can you attach a sample that fails?
Created attachment 146494 [details]
A short ogg/vorbis audio sample
espeak generated file saying "Short audio sample that fails" (more or less :)
I had no error using mp3s too.
When a new new_segment_event arrives, scaletempo doesn't calculate the stop argument correctly when forwarding it downstream.
Created attachment 147012 [details] [review]
Patch for correct calculation
< format, start, stop, position);
> format, start, stop/applied_rate, position);
Created attachment 147017 [details] [review]
Improves the patch by updating also start and position values.
Created attachment 147019 [details] [review]
Fixing previous patch.
Author: Thiago Santos <email@example.com>
Date: Thu Nov 5 13:40:38 2009 -0300
scaletempo: properly update new segments
Scaletempo was missing an update of 'stop' in
new segment parameters when pushing it downstream,
which caused files to end earlier when rate < 1.
Based on patch by: Bastian Hecht <firstname.lastname@example.org>