int main(int argc, char *argv[]) { pa_queue *q; pa_assert_se(q = pa_queue_new()); pa_assert(pa_queue_is_empty(q)); pa_queue_push(q, (void*) "eins"); pa_log("%s\n", (char*) pa_queue_pop(q)); pa_assert(pa_queue_is_empty(q)); pa_queue_push(q, (void*) "zwei"); pa_queue_push(q, (void*) "drei"); pa_queue_push(q, (void*) "vier"); pa_log("%s\n", (char*) pa_queue_pop(q)); pa_log("%s\n", (char*) pa_queue_pop(q)); pa_queue_push(q, (void*) "fuenf"); pa_log("%s\n", (char*) pa_queue_pop(q)); pa_log("%s\n", (char*) pa_queue_pop(q)); pa_assert(pa_queue_is_empty(q)); pa_queue_push(q, (void*) "sechs"); pa_queue_push(q, (void*) "sieben"); pa_queue_free(q, NULL, NULL); return 0; }
static void cmtspeech_dl_sideinfo_bogus(struct userdata *u) { unsigned int spc_flags = VOICE_SIDEINFO_FLAG_BAD|VOICE_SIDEINFO_FLAG_BOGUS; pa_assert(u); if (NULL == u->voice_sideinfoq) return; pa_queue_push(u->voice_sideinfoq, PA_UINT_TO_PTR(spc_flags)); u->continuous_dl_stream = FALSE; }
static void cmtspeech_dl_sideinfo_push(unsigned int cmt_spc_flags, int length, struct userdata *u) { unsigned int spc_flags; pa_assert(length % u->dl_frame_size == 0); pa_assert(u); if (NULL == u->voice_sideinfoq) return; spc_flags = cmtspeech_to_voice_spc_flags(cmt_spc_flags); spc_flags |= VOICE_SIDEINFO_FLAG_BOGUS; while (length) { pa_queue_push(u->local_sideinfoq, PA_UINT_TO_PTR(spc_flags)); length -= u->dl_frame_size; } }
static void cmtspeech_dl_sideinfo_forward(struct userdata *u) { unsigned int spc_flags = 0; pa_assert(u); if (NULL == u->voice_sideinfoq) return; spc_flags = PA_PTR_TO_UINT(pa_queue_pop(u->local_sideinfoq)); if (spc_flags == 0) { pa_log_warn("Local sideinfo queue empty."); spc_flags = VOICE_SIDEINFO_FLAG_BAD|VOICE_SIDEINFO_FLAG_BOGUS; } else if (!u->continuous_dl_stream) spc_flags |= VOICE_SIDEINFO_FLAG_BAD; u->continuous_dl_stream = TRUE; pa_queue_push(u->voice_sideinfoq, PA_UINT_TO_PTR(spc_flags)); }