GNOME Bugzilla – Bug 607842
Audio comes out with short breaks after resume pipeline (paused->playing)
Last modified: 2010-01-28 15:44:19 UTC
Overview: Audio comes out with short breaks after resume pipeline (paused->playing) Steps to Reproduce: 1) Make pipeline to play normal audio file such as mp3. 2) set pipeline to playing->pause ->playing Actual Results: 1) Sound are breaking shortly. 2) When you resume, short play->short mute->play Expected Results: Audio should played smoothly without any mute sound. Build Date & Platform: Build 2010-01-18 on Ubuntu 8.04 Build 2010-01-18 on ARM target Additional Builds and Platforms: This occurs both host (ubuntu 8.04) and ARM target Additional Information: I found that this happens after this commit (http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=6affcdd2ad04e66b197e097a3cfc24c1d4508bfe) It is strange that code in “case GST_STATE_CHANGE_PLAYING_TO_PAUSED:”is moved from downstream part to upstream part. When I rollbacked the location of that code to downstream part, audio breaks can’t be heard. I’m not sure the actual purpose of that code movement but I think this is bug.
I tried moving that code back but it still gives a gap for me. Are you using alsa or pulseaudio?
I get the error with pulsesink all the time but not with alsa only when I move the code to its previous location.
Created attachment 152488 [details] [review] proposed patch This patch also recalculates the start_time after chaining up to the parent. We still have to recalculate before chaining up because else we might call the state change of our children without setting the start_time on them.
commit 69c531784e2b220465df99848fc886bbebd666e5 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Thu Jan 28 15:55:27 2010 +0100 pipeline: Take start_time after chaining up too Refactor the code to take the current start_time when going to PAUSED. Make sure we also call the start_time update code after we chained up to the parent bin. Fixes #607842