mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
Have a memblock queue on the client side during recording. This makes the
record callback optional in stead of mandatory. For applications that wish to retain the old behaviour, simply call pa_stream_peek() followed by pa_stream_drop() in the callback. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@507 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
6f9a367abc
commit
45700da4eb
6 changed files with 98 additions and 11 deletions
|
|
@ -35,6 +35,7 @@
|
|||
#include <polypcore/native-common.h>
|
||||
#include <polypcore/strlist.h>
|
||||
#include <polypcore/mcalign.h>
|
||||
#include <polypcore/memblockq.h>
|
||||
|
||||
#include "client-conf.h"
|
||||
|
||||
|
|
@ -98,6 +99,8 @@ struct pa_stream {
|
|||
pa_usec_t previous_ipol_time;
|
||||
pa_stream_state_t state;
|
||||
pa_mcalign *mcalign;
|
||||
pa_memchunk peek_memchunk;
|
||||
pa_memblockq *record_memblockq;
|
||||
|
||||
int interpolate;
|
||||
int corked;
|
||||
|
|
@ -110,7 +113,7 @@ struct pa_stream {
|
|||
void (*state_callback)(pa_stream*c, void *userdata);
|
||||
void *state_userdata;
|
||||
|
||||
void (*read_callback)(pa_stream *p, const void*data, size_t length, void *userdata);
|
||||
void (*read_callback)(pa_stream *p, size_t length, void *userdata);
|
||||
void *read_userdata;
|
||||
|
||||
void (*write_callback)(pa_stream *p, size_t length, void *userdata);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue