static void actl_stream_broadcast(int cmd, intptr_t data) { struct str_broadcast_data sbd; sbd.cmd = cmd; sbd.data = data; list_enum_items(stream_mgr.actl, (list_enum_callback_t)actl_stream_broadcast_callback, (intptr_t)&sbd); }
bool stream_get_window(struct stream_window *sw) { if (sw == NULL) return false; sw->left = LONG_MAX; sw->right = LONG_MIN; actl_lock(); list_enum_items(stream_mgr.actl, (list_enum_callback_t)stream_get_window_callback, (intptr_t)sw); actl_unlock(); return sw->left <= sw->right; }
/* Move the playback pool to the active list */ void move_strl_to_actl(void) { list_enum_items(stream_mgr.strl, (list_enum_callback_t)strl_enum_callback, 1); }
/* Clear all streams from active and playback pools */ void stream_remove_streams(void) { list_enum_items(stream_mgr.strl, (list_enum_callback_t)strl_enum_callback, 0); }
/* Move the playback pool to the active list */ void move_strl_to_actl(void) { int add_item = 1; list_enum_items(stream_mgr.strl, (list_enum_callback_t)strl_enum_callback, (void *)&add_item); }
/* Clear all streams from active and playback pools */ void stream_remove_streams(void) { int add_item = 0; list_enum_items(stream_mgr.strl, (list_enum_callback_t)strl_enum_callback, (void *)&add_item); }