Exemplo n.º 1
0
static gboolean enumerate_video_source_devices(GClosure *callback)
{
    OwrLocalMediaSource *source;
    GList *sources = NULL;
    GError *error = NULL;
    GDir *dev_dir;
    const gchar *filename;

    dev_dir = g_dir_open("/dev", 0, &error);

    while ((filename = g_dir_read_name(dev_dir))) {
        source = maybe_create_source_from_filename(filename);

        if (source) {
            sources = g_list_prepend(sources, source);
        }
    }

    g_dir_close(dev_dir);

    sources = g_list_reverse(sources);
    _owr_utils_call_closure_with_list(callback, sources);

    return FALSE;
}
Exemplo n.º 2
0
static gboolean cb_call_closure_with_list_later(CallbackAndList *cal)
{
    _owr_utils_call_closure_with_list(cal->callback, cal->list);

    g_slice_free(CallbackAndList, cal);

    return FALSE;
}
Exemplo n.º 3
0
static gboolean enumerate_audio_source_devices(GClosure *callback)
{
    OwrLocalMediaSource *source;

    source = _owr_local_media_source_new_cached(-1,
        "Default audio input", OWR_MEDIA_TYPE_AUDIO, OWR_SOURCE_TYPE_CAPTURE);
    _owr_utils_call_closure_with_list(callback, g_list_prepend(NULL, source));

    return FALSE;
}
Exemplo n.º 4
0
static void callback_merger_on_destroy_data(CallbackMergeContext *context, GClosure *closure)
{
    OWR_UNUSED(closure);

    _owr_utils_call_closure_with_list(context->callback, context->list);

    g_mutex_clear(&context->mutex);

    if (context->item_destroy)
        g_list_free_full(context->list, context->item_destroy);
    else
        g_list_free(context->list);
    g_free(context);
}
Exemplo n.º 5
0
static gboolean enumerate_audio_source_devices(GClosure *callback)
{
    _owr_utils_call_closure_with_list(callback, _owr_get_core_audio_sources());
    return FALSE;
}