From 81822a751929fbc153282de3af447b9430d5c474 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 17 Aug 2004 18:53:42 +0000 Subject: fix x11 build disable prebuf on drain git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@136 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/Makefile.am | 2 +- polyp/memblockq.c | 5 +++++ polyp/memblockq.h | 5 ++++- polyp/pacat.c | 5 +---- polyp/protocol-native.c | 4 ++++ 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/polyp/Makefile.am b/polyp/Makefile.am index 1f982515..5a49201a 100644 --- a/polyp/Makefile.am +++ b/polyp/Makefile.am @@ -272,7 +272,7 @@ if !X_DISPLAY_MISSING module_x11_bell_la_SOURCES = module-x11-bell.c module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS) module_x11_bell_la_LDFLAGS = -module -avoid-version -module_x11_bell_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) $(X_LIBS) $(X_EXTRA_LIB) +module_x11_bell_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIB) endif libpolyp_la_SOURCES = polyplib.h \ diff --git a/polyp/memblockq.c b/polyp/memblockq.c index 4019c893..8f499df0 100644 --- a/polyp/memblockq.c +++ b/polyp/memblockq.c @@ -323,3 +323,8 @@ uint32_t pa_memblockq_get_minreq(struct pa_memblockq *bq) { assert(bq); return bq->minreq; } + +void pa_memblockq_prebuf_disable(struct pa_memblockq *bq) { + assert(bq); + bq->prebuf = 0; +} diff --git a/polyp/memblockq.h b/polyp/memblockq.h index e6ad01db..40184703 100644 --- a/polyp/memblockq.h +++ b/polyp/memblockq.h @@ -76,7 +76,10 @@ uint32_t pa_memblockq_get_length(struct pa_memblockq *bq); /* Return how many bytes are missing in queue to the specified fill amount */ uint32_t pa_memblockq_missing(struct pa_memblockq *bq); - +/* Returns the minimal request value */ uint32_t pa_memblockq_get_minreq(struct pa_memblockq *bq); +/* Force disabling of pre-buf even when the pre-buffer is not yet filled */ +void pa_memblockq_prebuf_disable(struct pa_memblockq *bq); + #endif diff --git a/polyp/pacat.c b/polyp/pacat.c index 4f3bf001..2c7044b8 100644 --- a/polyp/pacat.c +++ b/polyp/pacat.c @@ -113,16 +113,13 @@ static void stream_state_callback(struct pa_stream *s, void *userdata) { switch (pa_stream_get_state(s)) { case PA_STREAM_CREATING: + case PA_STREAM_TERMINATED: break; case PA_STREAM_READY: fprintf(stderr, "Stream successfully created\n"); break; - case PA_STREAM_TERMINATED: - quit(0); - break; - case PA_STREAM_FAILED: default: fprintf(stderr, "Stream errror: %s\n", pa_strerror(pa_context_errno(pa_stream_get_context(s)))); diff --git a/polyp/protocol-native.c b/polyp/protocol-native.c index 1fafc984..e86c78f0 100644 --- a/polyp/protocol-native.c +++ b/polyp/protocol-native.c @@ -748,12 +748,16 @@ static void command_drain_playback_stream(struct pa_pdispatch *pd, uint32_t comm } s->drain_request = 0; + + pa_memblockq_prebuf_disable(s->memblockq); if (!pa_memblockq_is_readable(s->memblockq)) pa_pstream_send_simple_ack(c->pstream, tag); else { s->drain_request = 1; s->drain_tag = tag; + + pa_sink_notify(s->sink_input->sink); } } -- cgit