@@ -1174,7 +1174,8 @@ static void stream_state_changed(void *data, enum pw_stream_state old,
1174
1174
return ;
1175
1175
case PW_STREAM_STATE_PAUSED :
1176
1176
pw_log_debug ("%s paused" , name );
1177
- set_stream_state (stream , false);
1177
+ if (!qubes_stream_is_playback (stream ))
1178
+ set_stream_state (stream , false);
1178
1179
break ;
1179
1180
case PW_STREAM_STATE_STREAMING :
1180
1181
pw_log_debug ("%s streaming" , name );
@@ -1426,6 +1427,11 @@ static void stream_param_changed(void *data, uint32_t id, const struct spa_pod *
1426
1427
}
1427
1428
}
1428
1429
1430
+ static void playback_stream_drained (void * data )
1431
+ {
1432
+ set_stream_state (data , false);
1433
+ }
1434
+
1429
1435
static const struct pw_stream_events capture_stream_events = {
1430
1436
.version = PW_VERSION_STREAM_EVENTS ,
1431
1437
.destroy = stream_destroy ,
@@ -1448,6 +1454,7 @@ static const struct pw_stream_events playback_stream_events = {
1448
1454
.add_buffer = NULL ,
1449
1455
.remove_buffer = NULL ,
1450
1456
.process = playback_stream_process ,
1457
+ .drained = playback_stream_drained ,
1451
1458
};
1452
1459
1453
1460
static void core_error (void * data , uint32_t id , int seq , int res , const char * message )
0 commit comments