Update the property list of the sink input/source output of this stream, remove entries.
Definition at line 2647 of file stream.c. References PA_ERR_BADSTATE, PA_ERR_FORKED, PA_ERR_INVALID, PA_ERR_NOTSUPPORTED, PA_STREAM_READY, PA_STREAM_RECORD, and PA_STREAM_UPLOAD. { pa_operation *o; pa_tagstruct *t; uint32_t tag; const char * const*k; pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, keys && keys[0], PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->context->version >= 13, PA_ERR_NOTSUPPORTED); o = pa_operation_new(s->context, s, (pa_operation_cb_t) cb, userdata); t = pa_tagstruct_command( s->context, (uint32_t) (s->direction == PA_STREAM_RECORD ? PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST : PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST), &tag); pa_tagstruct_putu32(t, s->channel); for (k = keys; *k; k++) pa_tagstruct_puts(t, *k); pa_tagstruct_puts(t, NULL); pa_pstream_send_tagstruct(s->context->pstream, t); pa_pdispatch_register_reply(s->context->pdispatch, tag, DEFAULT_TIMEOUT, pa_stream_simple_ack_callback, pa_operation_ref(o), (pa_free_cb_t) pa_operation_unref); /* Please note that we don't update s->proplist here, because we * don't export that field */ return o; }
|