>> 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