Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-45707

Gstreamer sometimes fails to send back EOS signal when stopping recording

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 5.5.1
    • 5.4.1, 5.5.0 Alpha
    • Multimedia
    • 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.

      Attachments

        For Gerrit Dashboard: QTBUG-45707
        # Subject Branch Project Status CR V

        Activity

          People

            ylopes Yoann Lopes
            rsalveti Ricardo Salveti de Araujo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes