mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-16 06:59:55 -05:00
new features:
future cancellation corking flushing for playback streams in native protocol git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@152 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
ea4805a0fd
commit
41295bbf56
20 changed files with 309 additions and 129 deletions
|
|
@ -44,7 +44,7 @@ struct pa_memblockq* pa_memblockq_new(size_t maxlength,
|
|||
struct pa_memblock_stat *s);
|
||||
void pa_memblockq_free(struct pa_memblockq*bq);
|
||||
|
||||
/* Push a new memory chunk into the queue. Optionally specify a value for future cancellation. This is currently not implemented, however! */
|
||||
/* Push a new memory chunk into the queue. Optionally specify a value for future cancellation. */
|
||||
void pa_memblockq_push(struct pa_memblockq* bq, const struct pa_memchunk *chunk, size_t delta);
|
||||
|
||||
/* Same as pa_memblockq_push(), however chunks are filtered through a mcalign object, and thus aligned to multiples of base */
|
||||
|
|
@ -53,8 +53,11 @@ void pa_memblockq_push_align(struct pa_memblockq* bq, const struct pa_memchunk *
|
|||
/* Return a copy of the next memory chunk in the queue. It is not removed from the queue */
|
||||
int pa_memblockq_peek(struct pa_memblockq* bq, struct pa_memchunk *chunk);
|
||||
|
||||
/* Drop the specified bytes from the queue, only valid aufter pa_memblockq_peek() */
|
||||
void pa_memblockq_drop(struct pa_memblockq *bq, const struct pa_memchunk *chunk, size_t length);
|
||||
|
||||
/* Drop the specified bytes from the queue */
|
||||
void pa_memblockq_drop(struct pa_memblockq *bq, size_t length);
|
||||
void pa_memblockq_skip(struct pa_memblockq *bq, size_t length);
|
||||
|
||||
/* Shorten the pa_memblockq to the specified length by dropping data at the end of the queue */
|
||||
void pa_memblockq_shorten(struct pa_memblockq *bq, size_t length);
|
||||
|
|
@ -68,9 +71,6 @@ int pa_memblockq_is_readable(struct pa_memblockq *bq);
|
|||
/* Test if the pa_memblockq is currently writable for the specified amount of bytes */
|
||||
int pa_memblockq_is_writable(struct pa_memblockq *bq, size_t length);
|
||||
|
||||
/* The time memory chunks stay in the queue until they are removed completely in usecs */
|
||||
uint32_t pa_memblockq_get_delay(struct pa_memblockq *bq);
|
||||
|
||||
/* Return the length of the queue in bytes */
|
||||
uint32_t pa_memblockq_get_length(struct pa_memblockq *bq);
|
||||
|
||||
|
|
@ -83,4 +83,10 @@ 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);
|
||||
|
||||
/* Manipulate the write pointer */
|
||||
void pa_memblockq_seek(struct pa_memblockq *bq, size_t delta);
|
||||
|
||||
/* Flush the queue */
|
||||
void pa_memblockq_flush(struct pa_memblockq *bq);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue