summaryrefslogtreecommitdiff
path: root/src/cmumble.c
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2013-11-22 09:25:53 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2013-11-22 14:40:08 +0100
commitb83262a1c025d0775d0f73c87341d71d7f1c3996 (patch)
tree83ff5ad98c39b25f718c7c7bb96d0a9470612208 /src/cmumble.c
parenta60894a1f1c1fba4d7244a9b2a52f322e3ed9e12 (diff)
downloadcmumble-b83262a1c025d0775d0f73c87341d71d7f1c3996.tar.gz
cmumble-b83262a1c025d0775d0f73c87341d71d7f1c3996.tar.bz2
cmumble-b83262a1c025d0775d0f73c87341d71d7f1c3996.zip
audio: Pull and send the recorded buffer from the main thread
Tests showed this lets the appsink pull more buffers, since the streaming thread is not blocked due to network write.
Diffstat (limited to 'src/cmumble.c')
-rw-r--r--src/cmumble.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cmumble.c b/src/cmumble.c
index 247d661..0b3a6f5 100644
--- a/src/cmumble.c
+++ b/src/cmumble.c
@@ -358,6 +358,10 @@ int main(int argc, char **argv)
cm.loop = g_main_loop_new(NULL, FALSE);
cm.callbacks = (const callback_t *) &callbacks;
+ cm.async_queue = g_async_queue_new_full(g_free);
+ if (cm.async_queue == NULL)
+ return 1;
+
cmumble_commands_init(&cm);
if (cmumble_connection_init(&cm, host, port) < 0)
return 1;
@@ -375,6 +379,7 @@ int main(int argc, char **argv)
cmumble_io_fini(&cm);
cmumble_audio_fini(&cm);
cmumble_connection_fini(&cm);
+ g_async_queue_unref(cm.async_queue);
return 0;
}