summaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-02-20 04:05:16 +0000
committerLennart Poettering <lennart@poettering.net>2006-02-20 04:05:16 +0000
commit304449002cbc84fdcf235b5dfaec891278dd7085 (patch)
tree2a2d00e34d5c620835b76a0d6f7890a1d3e9fb97 /src/utils
parent0876b1ba82ea9c988df90ca98d202765ac697313 (diff)
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
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/pacat.c6
-rw-r--r--src/utils/pactl.c2
-rw-r--r--src/utils/paplay.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/src/utils/pacat.c b/src/utils/pacat.c
index a3c3f2c8..4e126c8a 100644
--- a/src/utils/pacat.c
+++ b/src/utils/pacat.c
@@ -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);
diff --git a/src/utils/pactl.c b/src/utils/pactl.c
index 4c22c925..e3305f0f 100644
--- a/src/utils/pactl.c
+++ b/src/utils/pactl.c
@@ -515,7 +515,7 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
quit(1);
}
- pa_stream_write(s, d, length, free, 0);
+ pa_stream_write(s, d, length, free, 0, PA_SEEK_RELATIVE);
sample_length -= length;
diff --git a/src/utils/paplay.c b/src/utils/paplay.c
index 9f73b834..5f985ee9 100644
--- a/src/utils/paplay.c
+++ b/src/utils/paplay.c
@@ -113,7 +113,7 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
f = readf_function(sndfile, data, n);
if (f > 0)
- pa_stream_write(s, data, f*k, free, 0);
+ pa_stream_write(s, data, f*k, free, 0, PA_SEEK_RELATIVE);
if (f < n) {
sf_close(sndfile);
@@ -166,7 +166,7 @@ static void context_state_callback(pa_context *c, void *userdata) {
pa_stream_set_state_callback(stream, stream_state_callback, NULL);
pa_stream_set_write_callback(stream, stream_write_callback, NULL);
- 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, sample_spec.channels, volume), NULL);
break;
}