waitcondition timeout too long for short samples

Bug #1115277 reported by Harald Sitter
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
phonon-backend-gstreamer (Ubuntu)
Fix Released
Medium
Harald Sitter
Precise
Won't Fix
Medium
Harald Sitter
Quantal
Won't Fix
Medium
Harald Sitter
Raring
Fix Released
Medium
Harald Sitter

Bug Description

[Impact]
pairs uses *one* mediaobject to play multiple sounds from a qbuffer. To achieve sane results it only calls setCurrentSource iff the mediaobject is not in playing state. Iff it is in playing state a one-source-queue is maintained, so that only the most recent sound would be played after the present one.
Assuming on second length of the sound what happens is that phonon starts playing, then immediately gets the callback to queue a new track. It emits the queued signal and locks for 3 seconds. So, for a period of <=4 && >=3 seconds the MO is in playing state but not actually playing anything.
During this period pairs will enqueue tracks but they will not be played. This ultimately results in sounds being dropped.

This is resolved by using a dynamic timeout rather than a fixed seconds amount. The timeout now depends on how much time is remaining in the present playback thus prevent the pipeline to be locked for longer than what it has buffers to play.

[Test Case]
Play pairs.

[Regression Potential]
None.

Changed in phonon-backend-gstreamer (Ubuntu Quantal):
status: New → Incomplete
status: Incomplete → Triaged
Changed in phonon-backend-gstreamer (Ubuntu Precise):
status: New → Triaged
Changed in phonon-backend-gstreamer (Ubuntu Quantal):
importance: Undecided → Medium
Changed in phonon-backend-gstreamer (Ubuntu Precise):
importance: Undecided → Medium
assignee: nobody → Harald Sitter (apachelogger)
Changed in phonon-backend-gstreamer (Ubuntu Quantal):
assignee: nobody → Harald Sitter (apachelogger)
Changed in phonon-backend-gstreamer (Ubuntu Raring):
status: Fix Committed → Fix Released
Changed in phonon-backend-gstreamer (Ubuntu Quantal):
status: Triaged → In Progress
Changed in phonon-backend-gstreamer (Ubuntu Precise):
status: Triaged → In Progress
Revision history for this message
Scott Kitterman (kitterman) wrote : Please test proposed package

Hello Harald, or anyone else affected,

Accepted into quantal-proposed. The package will build now and be available in a few hours in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in phonon-backend-gstreamer (Ubuntu Quantal):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote : [phonon-backend-gstreamer/precise] verification still needed

The fix for this bug has been awaiting testing feedback in the -proposed repository for precise for more than 90 days. Please test this fix and update the bug appropriately with the results. In the event that the fix for this bug is still not verified 15 days from now, the package will be removed from the -proposed repository.

tags: added: removal-candidate
Rolf Leggewie (r0lf)
Changed in phonon-backend-gstreamer (Ubuntu Precise):
status: In Progress → Won't Fix
Rolf Leggewie (r0lf)
Changed in phonon-backend-gstreamer (Ubuntu Quantal):
status: Fix Committed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.