PA_HASHMAP_FOREACH(sd, m->stream_duckings, state) {
PA_IDXSET_FOREACH(stream, sd->idx_ducking_streams, idx) {
if (stream == i && sd->ducking_stream_count > 0) {
- pa_log_info("matched (%p,%p)", sd, i);
+ pa_log_info("found matched stream(%p, index:%u) in sd(%p)", i, i->index, sd);
break;
}
}
+ if (stream != i) {
+ pa_log_debug("not found matched stream(%p, index:%u) in sd(%p)", i, i->index, sd);
+ continue;
+ }
- if (stream == i)
- break;
- }
-
- if (stream != i) {
- pa_log_error("not found matched stream for %p", i);
- return PA_HOOK_OK;
- }
-
- /* Remove trigger when unducked */
- if (sd->state == STREAM_DUCKING_STATE_UNDUCKING)
- pa_idxset_remove_by_data(sd->idx_ducking_streams, (void *)i, NULL);
+ /* Remove trigger when unducked */
+ if (sd->state == STREAM_DUCKING_STATE_UNDUCKING)
+ pa_idxset_remove_by_data(sd->idx_ducking_streams, (void *)i, NULL);
- /* Send signal when all streams are ducked.
- * Note that the condition of increasing count value below is located in
- * handle_activate_ducking() of DBus handler. */
- if (sd->ducking_stream_count > 0 && --sd->ducking_stream_count == 0) {
- if (sd->state == STREAM_DUCKING_STATE_DUCKING)
- sd->state = STREAM_DUCKING_STATE_DUCKED;
- else
- sd->state = STREAM_DUCKING_STATE_UNDUCKED;
+ /* Send signal when all streams are ducked.
+ * Note that the condition of increasing count value below is located in
+ * handle_activate_ducking() of DBus handler. */
+ if (sd->ducking_stream_count > 0 && --sd->ducking_stream_count == 0) {
+ if (sd->state == STREAM_DUCKING_STATE_DUCKING)
+ sd->state = STREAM_DUCKING_STATE_DUCKED;
+ else
+ sd->state = STREAM_DUCKING_STATE_UNDUCKED;
- pa_log_info("send signal for ramp finished - state(%p,%d)", sd, sd->state);
+ pa_log_info("send signal for ramp finished - sd(%p, state:%d)", sd, sd->state);
- send_ducking_state_changed_signal(pa_dbus_connection_get(m->dbus_conn), sd->trigger_index, is_stream_ducked(sd));
+ send_ducking_state_changed_signal(pa_dbus_connection_get(m->dbus_conn), sd->trigger_index, is_stream_ducked(sd));
+ }
}
return PA_HOOK_OK;