[gstreamer-bugs] [Bug 159676] [playbin] audible click after 3s of playback using playbin

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Tue Mar 1 07:56:28 PST 2005


Please DO NOT reply to this by email. All additional comments should be made in
the comments box of this bug report.

 http://bugzilla.gnome.org/show_bug.cgi?id=159676
 GStreamer | gst-plugins | Ver: HEAD CVS





------- Additional Comments From Ronald Bultje  2005-03-01 10:56 -------
I can reproduce this, but only with mp3 (I missed that part when I looked at
this earlier). Here's an OSS log:

LOG   (0x8b82ad0 - 308247:11:37.381996000)             oss( 7853)
gstosssink.c(445):gst_osssink_chain:<sink> time: real 0:00:02.977777777, buffer:
0:00:02.977959183
LOG   (0x8b82ad0 - 308247:11:37.382695000)             oss( 7853)
gstosssink.c(445):gst_osssink_chain:<sink> time: real 0:00:03.004081632, buffer:
0:00:06.608979591
INFO  (0x8b82ad0 - 308247:11:37.382798000)             oss( 7853)
gstosssink.c(450):gst_osssink_chain:<sink> need sync: real 0:00:03.004081632,
buffer: 0:00:06.608979591
LOG   (0x8b82ad0 - 308247:11:41.004453000)             oss( 7853)
gstosssink.c(445):gst_osssink_chain:<sink> time: real 0:00:06.635079364, buffer:
0:00:06.635102040

A simple mad log shows that there is data in between, which is all lost between
mad and osssink (so somewhere at selector ! preroll_queue ! audioconvert !
audioscale). Looking at the preroll_queue, the input is lineair, but the output
isn't:

LOG   (0x9a38d78 - 308247:31:31.116598000)  queue_dataflow(10144)
gstqueue.c(855):gst_queue_get:<preroll_audio_src0> ___ONLY___ Got buffer of time
0:00:02.977959183
LOG   (0x9a38d78 - 308247:31:31.118246000)  queue_dataflow(10144)
gstqueue.c(855):gst_queue_get:<preroll_audio_src0> ___ONLY___ Got buffer of time
0:00:06.608979591

I think I see why. We are being interrupted while going back to PAUSED, while
we're still in the mad chain function. As we do this, we drop buffers for each
and every interrupt. Those start when the queue is full and end when the element
is PAUSED. All buffers are dropped in the mean time (see interrupt handling in
gst_queue_chain()).

------- You are receiving this mail because: -------
You are the assignee for the bug.
You are the QA contact for the bug.




More information about the Gstreamer-bugs mailing list