@@ -1016,7 +1016,8 @@ static void stream_state_changed(void *data, enum pw_stream_state old,
1016
1016
return ;
1017
1017
case PW_STREAM_STATE_PAUSED :
1018
1018
pw_log_debug ("%s paused" , name );
1019
- set_stream_state (stream , false);
1019
+ if (!qubes_stream_is_playback (stream ))
1020
+ set_stream_state (stream , false);
1020
1021
break ;
1021
1022
case PW_STREAM_STATE_STREAMING :
1022
1023
pw_log_debug ("%s streaming" , name );
@@ -1268,6 +1269,11 @@ static void stream_param_changed(void *data, uint32_t id, const struct spa_pod *
1268
1269
}
1269
1270
}
1270
1271
1272
+ static void playback_stream_drained (void * data )
1273
+ {
1274
+ set_stream_state (data , false);
1275
+ }
1276
+
1271
1277
static const struct pw_stream_events capture_stream_events = {
1272
1278
.version = PW_VERSION_STREAM_EVENTS ,
1273
1279
.destroy = stream_destroy ,
@@ -1290,6 +1296,7 @@ static const struct pw_stream_events playback_stream_events = {
1290
1296
.add_buffer = NULL ,
1291
1297
.remove_buffer = NULL ,
1292
1298
.process = playback_stream_process ,
1299
+ .drained = playback_stream_drained ,
1293
1300
};
1294
1301
1295
1302
static void core_error (void * data , uint32_t id , int seq , int res , const char * message )
0 commit comments