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 558c558 < format, start, stop, position); --- > format, start, stop/applied_rate, position);
Created attachment 147017 [details] [review] Improved patch Improves the patch by updating also start and position values.
Created attachment 147019 [details] [review] Improved patch Fixing previous patch.
Fixed. commit 892555955a0fc175768b7b684b5f00fb34496baf Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk> 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. Fixes #599903 Based on patch by: Bastian Hecht <hechtb@gmail.com>