src/pulsecore/memblockq.c | 18 ++++++++-- src/pulsecore/protocol-native.c | 66 ++++++++++++++++++++++++++-------------- src/pulsecore/sink-input.c | 26 ++++++++++++--- 3 files changed, 77 insertions(+), 33 deletions(-)
New commits: commit efbfe5fecb56a75f5c36b0ad062cc7dd64d0288c Author: Arun Raghavan <arun.ragha...@collabora.co.uk> Date: Thu Nov 10 12:43:09 2011 +0530 core: Make debugging a bit simpler This takes out a bunch of commented debug prints and puts them in defines. Makes it easier to turn them all on/off at a single point. diff --git a/src/pulsecore/memblockq.c b/src/pulsecore/memblockq.c index 2bee0a2..18066f7 100644 --- a/src/pulsecore/memblockq.c +++ b/src/pulsecore/memblockq.c @@ -36,6 +36,8 @@ #include "memblockq.h" +/* #define MEMBLOCKQ_DEBUG */ + struct list_item { struct list_item *next, *prev; int64_t index; @@ -262,7 +264,9 @@ static void write_index_changed(pa_memblockq *bq, int64_t old_write_index, pa_bo else bq->missing -= delta; - /* pa_log("pushed/seeked %lli: requested counter at %lli, account=%i", (long long) delta, (long long) bq->requested, account); */ +#ifdef MEMBLOCKQ_DEBUG + pa_log("[%s] pushed/seeked %lli: requested counter at %lli, account=%i", bq->name, (long long) delta, (long long) bq->requested, account); +#endif } static void read_index_changed(pa_memblockq *bq, int64_t old_read_index) { @@ -273,7 +277,9 @@ static void read_index_changed(pa_memblockq *bq, int64_t old_read_index) { delta = bq->read_index - old_read_index; bq->missing += delta; - /* pa_log("popped %lli: missing counter at %lli", (long long) delta, (long long) bq->missing); */ +#ifdef MEMBLOCKQ_DEBUG + pa_log("[%s] popped %lli: missing counter at %lli", bq->name, (long long) delta, (long long) bq->missing); +#endif } int pa_memblockq_push(pa_memblockq* bq, const pa_memchunk *uchunk) { @@ -832,7 +838,9 @@ size_t pa_memblockq_pop_missing(pa_memblockq *bq) { pa_assert(bq); -/* pa_log("pop: %lli", bq->missing); */ +#ifdef MEMBLOCKQ_DEBUG + pa_log("[%s] pop: %lli", bq->name, (long long) bq->missing); +#endif if (bq->missing <= 0) return 0; @@ -842,7 +850,9 @@ size_t pa_memblockq_pop_missing(pa_memblockq *bq) { bq->requested += bq->missing; bq->missing = 0; - /* pa_log("sent %lli: request counter is at %lli", (long long) l, (long long) bq->requested); */ +#ifdef MEMBLOCKQ_DEBUG + pa_log("[%s] sent %lli: request counter is at %lli", bq->name, (long long) l, (long long) bq->requested); +#endif return l; } diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index d6bff11..951aff7 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -60,6 +60,8 @@ #include "protocol-native.h" +/* #define PROTOCOL_NATIVE_DEBUG */ + /* Kick a client if it doesn't authenticate within this time */ #define AUTH_TIMEOUT (60 * PA_USEC_PER_SEC) @@ -812,14 +814,18 @@ static int playback_stream_process_msg(pa_msgobject *o, int code, void*userdata, pa_tagstruct_putu32(t, (uint32_t) l); pa_pstream_send_tagstruct(s->connection->pstream, t); -/* pa_log("Requesting %lu bytes", (unsigned long) l); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("Requesting %lu bytes", (unsigned long) l); +#endif break; } case PLAYBACK_STREAM_MESSAGE_UNDERFLOW: { pa_tagstruct *t; -/* pa_log("signalling underflow"); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("signalling underflow"); +#endif /* Report that we're empty */ t = pa_tagstruct_new(NULL, 0); @@ -895,17 +901,19 @@ static void fix_playback_buffer_attr(playback_stream *s) { pa_assert(s); - /* pa_log("Client requested: maxlength=%li bytes tlength=%li bytes minreq=%li bytes prebuf=%li bytes", */ - /* (long) s->buffer_attr.maxlength, */ - /* (long) s->buffer_attr.tlength, */ - /* (long) s->buffer_attr.minreq, */ - /* (long) s->buffer_attr.prebuf); */ - - /* pa_log("Client requested: maxlength=%lu ms tlength=%lu ms minreq=%lu ms prebuf=%lu ms", */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.maxlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.tlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.minreq, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.prebuf, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC)); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("Client requested: maxlength=%li bytes tlength=%li bytes minreq=%li bytes prebuf=%li bytes", + (long) s->buffer_attr.maxlength, + (long) s->buffer_attr.tlength, + (long) s->buffer_attr.minreq, + (long) s->buffer_attr.prebuf); + + pa_log("Client requested: maxlength=%lu ms tlength=%lu ms minreq=%lu ms prebuf=%lu ms", + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.maxlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.tlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.minreq, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.prebuf, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC)); +#endif /* This function will be called from the main thread, before as * well as after the sink input has been activated using @@ -1039,11 +1047,13 @@ static void fix_playback_buffer_attr(playback_stream *s) { s->buffer_attr.prebuf > max_prebuf) s->buffer_attr.prebuf = max_prebuf; - /* pa_log("Client accepted: maxlength=%lu ms tlength=%lu ms minreq=%lu ms prebuf=%lu ms", */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.maxlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.tlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.minreq, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), */ - /* (unsigned long) (pa_bytes_to_usec(s->buffer_attr.prebuf, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC)); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("Client accepted: maxlength=%lu ms tlength=%lu ms minreq=%lu ms prebuf=%lu ms", + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.maxlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.tlength, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.minreq, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC), + (unsigned long) (pa_bytes_to_usec(s->buffer_attr.prebuf, &s->sink_input->sample_spec) / PA_USEC_PER_MSEC)); +#endif } /* Called from main context */ @@ -1190,7 +1200,9 @@ static playback_stream* playback_stream_new( *missing = (uint32_t) pa_memblockq_pop_missing(s->memblockq); - /* pa_log("missing original: %li", (long int) *missing); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("missing original: %li", (long int) *missing); +#endif *ss = s->sink_input->sample_spec; *map = s->sink_input->channel_map; @@ -1231,7 +1243,9 @@ static void playback_stream_request_bytes(playback_stream *s) { if (m <= 0) return; -/* pa_log("request_bytes(%lu)", (unsigned long) m); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("request_bytes(%lu)", (unsigned long) m); +#endif previous_missing = pa_atomic_add(&s->missing, (int) m); minreq = pa_memblockq_get_minreq(s->memblockq); @@ -1565,7 +1579,9 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk playback_stream_assert_ref(s); pa_assert(chunk); -/* pa_log("%s, pop(): %lu", pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME), (unsigned long) pa_memblockq_get_length(s->memblockq)); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("%s, pop(): %lu", pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME), (unsigned long) pa_memblockq_get_length(s->memblockq)); +#endif if (pa_memblockq_is_readable(s->memblockq)) s->is_underrun = FALSE; @@ -2127,7 +2143,9 @@ static void command_create_playback_stream(pa_pdispatch *pd, uint32_t command, u pa_tagstruct_putu32(reply, s->sink_input->index); pa_tagstruct_putu32(reply, missing); -/* pa_log("initial request is %u", missing); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("initial request is %u", missing); +#endif if (c->version >= 9) { /* Since 0.9.0 we support sending the buffer metrics back to the client */ @@ -4713,7 +4731,9 @@ static void pstream_memblock_callback(pa_pstream *p, uint32_t channel, int64_t o return; } -/* pa_log("got %lu bytes", (unsigned long) chunk->length); */ +#ifdef PROTOCOL_NATIVE_DEBUG + pa_log("got %lu bytes from client", (unsigned long) chunk->length); +#endif if (playback_stream_isinstance(stream)) { playback_stream *ps = PLAYBACK_STREAM(stream); diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index d57ad77..7db8a4c 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -41,6 +41,8 @@ #include "sink-input.h" +/* #define SINK_INPUT_DEBUG */ + #define MEMBLOCKQ_MAXLENGTH (32*1024*1024) #define CONVERT_BUFFER_LENGTH (PA_PAGE_SIZE) @@ -791,7 +793,9 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p pa_assert(chunk); pa_assert(volume); -/* pa_log_debug("peek"); */ +#ifdef SINK_INPUT_DEBUG + pa_log_debug("peek"); +#endif block_size_max_sink_input = i->thread_info.resampler ? pa_resampler_max_block_size(i->thread_info.resampler) : @@ -897,7 +901,9 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p pa_memchunk rchunk; pa_resampler_run(i->thread_info.resampler, &wchunk, &rchunk); -/* pa_log_debug("pushing %lu", (unsigned long) rchunk.length); */ +#ifdef SINK_INPUT_DEBUG + pa_log_debug("pushing %lu", (unsigned long) rchunk.length); +#endif if (rchunk.memblock) { @@ -925,7 +931,9 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p pa_assert(chunk->length > 0); pa_assert(chunk->memblock); -/* pa_log_debug("peeking %lu", (unsigned long) chunk->length); */ +#ifdef SINK_INPUT_DEBUG + pa_log_debug("peeking %lu", (unsigned long) chunk->length); +#endif if (chunk->length > block_size_max_sink) chunk->length = block_size_max_sink; @@ -952,7 +960,9 @@ void pa_sink_input_drop(pa_sink_input *i, size_t nbytes /* in sink sample spec * pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec)); pa_assert(nbytes > 0); -/* pa_log_debug("dropping %lu", (unsigned long) nbytes); */ +#ifdef SINK_INPUT_DEBUG + pa_log_debug("dropping %lu", (unsigned long) nbytes); +#endif pa_memblockq_drop(i->thread_info.render_memblockq, nbytes); } @@ -967,7 +977,9 @@ void pa_sink_input_process_rewind(pa_sink_input *i, size_t nbytes /* in sink sam pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state)); pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec)); -/* pa_log_debug("rewind(%lu, %lu)", (unsigned long) nbytes, (unsigned long) i->thread_info.rewrite_nbytes); */ +#ifdef SINK_INPUT_DEBUG + pa_log_debug("rewind(%lu, %lu)", (unsigned long) nbytes, (unsigned long) i->thread_info.rewrite_nbytes); +#endif lbq = pa_memblockq_get_length(i->thread_info.render_memblockq); @@ -1896,7 +1908,9 @@ void pa_sink_input_request_rewind( nbytes = PA_MAX(i->thread_info.rewrite_nbytes, nbytes); - /* pa_log_debug("request rewrite %zu", nbytes); */ +#ifdef SINK_INPUT_DEBUG + pa_log_debug("request rewrite %zu", nbytes); +#endif /* Calculate how much we can rewind locally without having to * touch the sink */ _______________________________________________ pulseaudio-commits mailing list pulseaudio-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits