summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/out/ao_pulse.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/audio/out/ao_pulse.c b/audio/out/ao_pulse.c
index 7124ea34b4..2a3047488b 100644
--- a/audio/out/ao_pulse.c
+++ b/audio/out/ao_pulse.c
@@ -232,6 +232,7 @@ static int init(struct ao *ao)
{
struct pa_sample_spec ss;
struct pa_channel_map map;
+ pa_proplist *proplist = NULL;
struct priv *priv = ao->priv;
char *host = priv->cfg_host && priv->cfg_host[0] ? priv->cfg_host : NULL;
char *sink = priv->cfg_sink && priv->cfg_sink[0] ? priv->cfg_sink : NULL;
@@ -302,10 +303,20 @@ static int init(struct ao *ao)
if (!select_chmap(ao, &map))
goto fail;
- if (!(priv->stream = pa_stream_new(priv->context, "audio stream", &ss,
- &map)))
+ if (!(proplist = pa_proplist_new())) {
+ MP_ERR(ao, "Failed to allocate proplist\n");
+ goto unlock_and_fail;
+ }
+ (void)pa_proplist_sets(proplist, PA_PROP_MEDIA_ROLE, "video");
+
+ if (!(priv->stream = pa_stream_new_with_proplist(priv->context,
+ "audio stream", &ss,
+ &map, proplist)))
goto unlock_and_fail;
+ pa_proplist_free(proplist);
+ proplist = NULL;
+
pa_stream_set_state_callback(priv->stream, stream_state_cb, ao);
pa_stream_set_write_callback(priv->stream, stream_request_cb, ao);
pa_stream_set_latency_update_callback(priv->stream,
@@ -342,6 +353,10 @@ fail:
&& ao->probing))
GENERIC_ERR_MSG("Init failed");
}
+
+ if (proplist)
+ pa_proplist_free(proplist);
+
uninit(ao, true);
return -1;
}