]> code.delx.au - pulseaudio/blobdiff - src/pulse/stream.c
Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTED
[pulseaudio] / src / pulse / stream.c
index 00aa1cf971c8c8ebaff87efcd1dc5364ecb41be6..c0ae4ac288e158bcfd2bfa51b202ae2e4a952ca4 100644 (file)
@@ -887,7 +887,9 @@ static int create_stream(
                                               PA_STREAM_PEAK_DETECT|
                                               PA_STREAM_START_MUTED|
                                               PA_STREAM_ADJUST_LATENCY|
-                                              PA_STREAM_EARLY_REQUESTS)), PA_ERR_INVALID);
+                                              PA_STREAM_EARLY_REQUESTS|
+                                              PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND|
+                                              PA_STREAM_START_UNMUTED)), PA_ERR_INVALID);
 
     PA_CHECK_VALIDITY(s->context, s->context->version >= 12 || !(flags & PA_STREAM_VARIABLE_RATE), PA_ERR_NOTSUPPORTED);
     PA_CHECK_VALIDITY(s->context, s->context->version >= 13 || !(flags & PA_STREAM_PEAK_DETECT), PA_ERR_NOTSUPPORTED);
@@ -1007,6 +1009,14 @@ static int create_stream(
         pa_tagstruct_put_boolean(t, flags & PA_STREAM_EARLY_REQUESTS);
     }
 
+    if (s->context->version >= 15) {
+
+        if (s->direction == PA_STREAM_PLAYBACK)
+            pa_tagstruct_put_boolean(t, flags & (PA_STREAM_START_MUTED|PA_STREAM_START_UNMUTED));
+
+        pa_tagstruct_put_boolean(t, flags & PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND);
+    }
+
     pa_pstream_send_tagstruct(s->context->pstream, t);
     pa_pdispatch_register_reply(s->context->pdispatch, tag, DEFAULT_TIMEOUT, pa_create_stream_callback, s, NULL);