mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-02 09:01:46 -05:00
1) Add flexible seeking support (including absolute) for memory block queues and playback streams
2) Add support to synchronize multiple playback streams 3) add two tests for 1) and 2) 4) s/PA_ERROR/PA_ERR/ 5) s/PA_ERROR_OK/PA_OK/ 6) update simple API to deal properly with new peek/drop recording API 7) add beginnings of proper validity checking on API calls in client libs (needs to be extended) 8) report playback buffer overflows/underflows to the client 9) move client side recording mcalign stuff into the memblockq 10) create typedefs for a bunch of API callback prototypes 11) simplify handling of HUP poll() events Yes, i know, it's usually better to commit a lot of small patches instead of a single big one. In this case however, this would have contradicted the other rule: never commit broken or incomplete stuff. *** This stuff needs a lot of additional testing! *** git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@511 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
0876b1ba82
commit
304449002c
38 changed files with 1983 additions and 796 deletions
|
|
@ -80,7 +80,7 @@ static void do_stream_write(size_t length) {
|
|||
if (l > buffer_length)
|
||||
l = buffer_length;
|
||||
|
||||
pa_stream_write(stream, (uint8_t*) buffer + buffer_index, l, NULL, 0);
|
||||
pa_stream_write(stream, (uint8_t*) buffer + buffer_index, l, NULL, 0, PA_SEEK_RELATIVE);
|
||||
buffer_length -= l;
|
||||
buffer_index += l;
|
||||
|
||||
|
|
@ -106,8 +106,8 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
|
|||
|
||||
/* This is called whenever new data may is available */
|
||||
static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {
|
||||
const void *data;
|
||||
assert(s && length);
|
||||
void *data;
|
||||
|
||||
if (stdio_event)
|
||||
mainloop_api->io_enable(stdio_event, PA_IO_EVENT_OUTPUT);
|
||||
|
|
@ -175,7 +175,7 @@ static void context_state_callback(pa_context *c, void *userdata) {
|
|||
|
||||
if (mode == PLAYBACK) {
|
||||
pa_cvolume cv;
|
||||
pa_stream_connect_playback(stream, device, NULL, 0, pa_cvolume_set(&cv, PA_CHANNELS_MAX, volume));
|
||||
pa_stream_connect_playback(stream, device, NULL, 0, pa_cvolume_set(&cv, PA_CHANNELS_MAX, volume), NULL);
|
||||
} else
|
||||
pa_stream_connect_record(stream, device, NULL, 0);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue