Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.4.1, 5.5.0 Alpha
-
None
-
Ubuntu Touch, running Utopic and Vivid (Qt 5.4.1).
-
e0b9217d27509ded76daf6b18e1ed4c0fab280c7
Description
On Ubuntu Touch, when stressing audio recording via QAudioRecorder (over gstreamer), I noticed that sometimes it fails to stop the recording stream (recording continues forever until you force closing it).
It seems there is a race when waiting for the EOS signal, as sometimes Gstreamer will never send the required EOS signal that QtMultimedia uses in order to set the pipeline to null (finally stopping the recording).
Once I changed the logic in qgstreamercapturesession.cpp to first set the pipeline to playing and then trigger EOS, I couldn't reproduce the issue anymore, making it able to stop recording all the time.
The patch I used for bug https://bugs.launchpad.net/ubuntu/+source/qtmultimedia-opensource-src/+bug/1433563 is attached to this bug.
Was able to reproduce this issue with Gstreamer 0.10 and 1.0.