>> Is there some internal constant which reads from the buffers in lots of 4kB?
> 
> http://git.xmms.se/xmms2/xmms2-devel/tree/src/xmms/xform.c#n88

Ahh.  So am I right in assuming then that the minimum output buffer size would 
have to be READ_CHUNK*2?  That would mean at all times there would either be 
>=4096 bytes available to be read, or >=4096 bytes free.

Would something like the below patch be sufficient?  It seems to solve the 
problem for me.

Cheers,
Adam.

--

diff --git a/src/includepriv/xmmspriv/xmms_xform.h 
b/src/includepriv/xmmspriv/xmms_xform.h
index 03c4310..b4d7f62 100644
--- a/src/includepriv/xmmspriv/xmms_xform.h
+++ b/src/includepriv/xmmspriv/xmms_xform.h
@@ -22,6 +22,8 @@
 #include "xmmspriv/xmms_streamtype.h"
 #include "xmmspriv/xmms_plugin.h"
 
+#define READ_CHUNK 4096
+
 typedef struct xmms_xform_object_St xmms_xform_object_t;
 
 xmms_xform_object_t *xmms_xform_object_init (void);
diff --git a/src/xmms/output.c b/src/xmms/output.c
index 474a646..605e9b6 100644
--- a/src/xmms/output.c
+++ b/src/xmms/output.c
@@ -945,6 +945,10 @@ xmms_output_new (xmms_output_plugin_t *plugin, 
xmms_playlist_t *playlist, xmms_m
 
        prop = xmms_config_property_register ("output.buffersize", "32768", 
NULL, NULL);
        size = xmms_config_property_get_int (prop);
+       if (size < READ_CHUNK * 2) {
+               XMMS_DBG ("output.buffersize %d too small!", size);
+               size = READ_CHUNK * 2;
+       }
        XMMS_DBG ("Using buffersize %d", size);
 
        output->filler_mutex = g_mutex_new ();
diff --git a/src/xmms/xform.c b/src/xmms/xform.c
index 43cb96e..32ab6a8 100644
--- a/src/xmms/xform.c
+++ b/src/xmms/xform.c
@@ -84,8 +84,6 @@ typedef struct xmms_xform_hotspot_St {
        xmmsv_t *obj;
 } xmms_xform_hotspot_t;
 
-#define READ_CHUNK 4096
-
 
 xmms_xform_t *xmms_xform_find (xmms_xform_t *prev, xmms_medialib_entry_t entry,
                                GList *goal_hints);

--
_______________________________________________
Xmms2-devel mailing list
[email protected]
http://lists.xmms.se/cgi-bin/mailman/listinfo/xmms2-devel

Reply via email to