REPRODUCIBILITY (% or how often): 100%
BUILD ID: Sailfish OS 3.3.0.16 (Rokua)
HARDWARE (Jolla1, Tablet, XA2,…): Sony Xperia X
UI LANGUAGE: Ger
REGRESSION: (compared to previous public release: Yes, No, ?): maybe
DESCRIPTION:
When playing audio aat higher playbackRates than 1 with the QMediaPlayer the pitch goes up, below 1 it goes down. The pitch should be compensated.
PRECONDITIONS:
have a qmediaplayer
STEPS TO REPRODUCE:
play audio
change playback rate
EXPECTED RESULT:
pitch stays the same and audio is faster/slower
ACTUAL RESULT:
pitch goes up/down
ADDITIONAL INFORMATION:
This issue might have been introduced with SFOS 3.3
It looks like a gstreamer plugin is missing which should do the pitchcompensation in the gstreamer pipeline.
In the latest IRC meeting topic, you suggested that it should be done by adding a pitch-adjustment element to the pipeline, but our version of QtMultimedia doesn’t allow that. Is that something that could always be present in the pipeline, but basically just passthrough if it’s not set to change the pitch? I’m wondering if that could be added to QtMultimedia, so you wouldn’t need to modify the pipeline,
Hi, sorry for not attending to the meeting and thanks for being open to discuss this here. scaletempo could be added to the pipeline and automatically pitch all playbacks.
I would even say that this would be a good default, as for a mediaplayer I’d expect, that if i change the speed, the audio is pitched correctly.
However, this is a breaking change. I don’t know if the speed property is used in some places to pitch the sound on purpose, if yes, this would introduce a regression.
If you think that is not the case, I think it would be the simplest solution to add scaletempo to the default pipeline.
I tried to do the changes and compiled it with the platform sdk and the mer-5.6 branch, but had no success yet.
The changes should be simple, but I’m not sure I did the right things to insert scaletempo as a new element into the pipeline…
However, my compilation also is different from what i have on my phone, at least the sizes are vastly different, so I am not sure if i added some linking problems with that now…
Is there a chance, that someone with experience with this sort of stuff could take a look, @abranson ?
Great! I’ll PR that and see if any other sailors can see potential problems. Might be upstreamable even? I doubt that pitch adjustment through playback speed is useful for anyone. There are better ways to adjust the pitch, and I think scaletempo gives the expected behaviour with seek.
Yeah, all this was too late to get in before branching of 4.1.0, and wasn’t really critical enough to get cherry-picked into it. It’s definitely in the next release.