diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-08-27 03:55:47 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-08-27 03:55:47 +0200 |
commit | 54d8b7b31e3fbcbe80e20d0aef2bc344d44db81e (patch) | |
tree | b6386ac633a6bb88509591a54935ecb91ba0e779 /src/pulse.c | |
parent | a030f162722d5172be86eb6691d61baffe981b54 (diff) |
implement ca_context_playing() call
Diffstat (limited to 'src/pulse.c')
-rw-r--r-- | src/pulse.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/pulse.c b/src/pulse.c index 2a61c8f..2283b68 100644 --- a/src/pulse.c +++ b/src/pulse.c @@ -1271,3 +1271,33 @@ finish_unlocked: return ret; } + +int driver_playing(ca_context *c, uint32_t id, int *playing) { + struct private *p; + struct outstanding *out; + + ca_return_val_if_fail(c, CA_ERROR_INVALID); + ca_return_val_if_fail(c->private, CA_ERROR_STATE); + ca_return_val_if_fail(playing, CA_ERROR_INVALID); + + p = PRIVATE(c); + + *playing = 0; + + ca_mutex_lock(p->outstanding_mutex); + + for (out = p->outstanding; out; out = out->next) { + + if (out->type == OUTSTANDING_UPLOAD || + out->id != id || + out->sink_input == PA_INVALID_INDEX) + continue; + + *playing = 1; + break; + } + + ca_mutex_unlock(p->outstanding_mutex); + + return CA_SUCCESS; +} |