rhythmbox r5703 - in trunk: . backends/gstreamer
- From: jmatthew svn gnome org
- To: svn-commits-list gnome org
- Subject: rhythmbox r5703 - in trunk: . backends/gstreamer
- Date: Wed, 14 May 2008 09:30:01 +0100 (BST)
Author: jmatthew
Date: Wed May 14 08:30:00 2008
New Revision: 5703
URL: http://svn.gnome.org/viewvc/rhythmbox?rev=5703&view=rev
Log:
2008-05-14 Jonathan Matthew <jmatthew clown>
* backends/gstreamer/rb-player-gst-xfade.c (create_stream),
(stream_src_blocked_cb):
Increase the maximum buffer count of the preroll queue to 1000 (from
200) while prerolling, as a tiny fraction of all ogg vorbis files produce
more than 200 buffers in the first second of decoded output. This
allows prerolling to complete for these files. From #484210.
Modified:
trunk/ChangeLog
trunk/backends/gstreamer/rb-player-gst-xfade.c
Modified: trunk/backends/gstreamer/rb-player-gst-xfade.c
==============================================================================
--- trunk/backends/gstreamer/rb-player-gst-xfade.c (original)
+++ trunk/backends/gstreamer/rb-player-gst-xfade.c Wed May 14 08:30:00 2008
@@ -2048,9 +2048,14 @@
return NULL;
}
/* decode at least a second during prerolling, to hopefully avoid underruns.
- * we clear this when prerolling is finished.
+ * we clear this when prerolling is finished. bump the max buffer count up
+ * a bit (from 200) as with some formats it often takes more buffers to
+ * make up a whole second. don't really want to remove it altogether, though.
*/
- g_object_set (stream->preroll, "min-threshold-time", GST_SECOND, NULL);
+ g_object_set (stream->preroll,
+ "min-threshold-time", GST_SECOND,
+ "max-size-buffers", 1000,
+ NULL);
/* probably could stand to make this check a bit smarter..
*/
@@ -2314,7 +2319,10 @@
GError *error = NULL;
stream->src_blocked = TRUE;
- g_object_set (stream->preroll, "min-threshold-time", G_GINT64_CONSTANT (0), NULL);
+ g_object_set (stream->preroll,
+ "min-threshold-time", G_GINT64_CONSTANT (0),
+ "max-size-buffers", 200, /* back to normal value */
+ NULL);
/* update stream state */
switch (stream->state) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]