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);
}
Пример #5
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);
}
Пример #6
0
/* 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);
}