diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/out/ao.h | 2 | ||||
-rw-r--r-- | audio/out/ao_pulse.c | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/audio/out/ao.h b/audio/out/ao.h index 7e7b6968bb..c6ad5455d2 100644 --- a/audio/out/ao.h +++ b/audio/out/ao.h @@ -34,6 +34,8 @@ enum aocontrol { // _MUTE commands take a pointer to bool AOCONTROL_GET_MUTE, AOCONTROL_SET_MUTE, + // Has char* as argument, which contains the desired stream title. + AOCONTROL_UPDATE_STREAM_TITLE, }; #define AOPLAY_FINAL_CHUNK 1 diff --git a/audio/out/ao_pulse.c b/audio/out/ao_pulse.c index 9d86cddd6d..a4da2a179b 100644 --- a/audio/out/ao_pulse.c +++ b/audio/out/ao_pulse.c @@ -582,6 +582,19 @@ static int control(struct ao *ao, enum aocontrol cmd, void *arg) pa_threaded_mainloop_unlock(priv->mainloop); return CONTROL_OK; } + + case AOCONTROL_UPDATE_STREAM_TITLE: { + char *title = (char *)arg; + pa_threaded_mainloop_lock(priv->mainloop); + if (!waitop(priv, pa_stream_set_name(priv->stream, title, + success_cb, ao))) + { + GENERIC_ERR_MSG("pa_stream_set_name() failed"); + return CONTROL_ERROR; + } + return CONTROL_OK; + } + default: return CONTROL_UNKNOWN; } |