Exemplo n.º 1
0
/**************************************************************************
 * Parse the media but do not wait.
 **************************************************************************/
void
libvlc_media_parse_async(libvlc_media_t *media)
{
    bool needed;

    vlc_mutex_lock(&media->parsed_lock);
    needed = !media->has_asked_preparse;
    media->has_asked_preparse = true;
    vlc_mutex_unlock(&media->parsed_lock);

    if (needed)
        media_parse(media);
}
Exemplo n.º 2
0
/**************************************************************************
 * Parse the media and wait.
 **************************************************************************/
void
libvlc_media_parse(libvlc_media_t *media)
{
    vlc_mutex_lock(&media->parsed_lock);
    if (!media->has_asked_preparse)
    {
        media->has_asked_preparse = true;
        vlc_mutex_unlock(&media->parsed_lock);

        if (media_parse(media))
            /* Parse failed: do not wait! */
            return;
        vlc_mutex_lock(&media->parsed_lock);
    }

    while (!media->is_parsed)
        vlc_cond_wait(&media->parsed_cond, &media->parsed_lock);
    vlc_mutex_unlock(&media->parsed_lock);
}
Exemplo n.º 3
0
/**************************************************************************
 * Parse the media but do not wait.
 **************************************************************************/
void
libvlc_media_parse_async(libvlc_media_t *media)
{
    media_parse( media, true, libvlc_media_fetch_local );
}
Exemplo n.º 4
0
/**************************************************************************
 * Parse the media asynchronously with options.
 **************************************************************************/
int
libvlc_media_parse_with_options( libvlc_media_t *media,
                                 libvlc_media_parse_flag_t parse_flag )
{
    return media_parse( media, true, parse_flag ) == VLC_SUCCESS ? 0 : -1;
}
Exemplo n.º 5
0
/**************************************************************************
 * Parse the media and wait.
 **************************************************************************/
void
libvlc_media_parse(libvlc_media_t *media)
{
    media_parse( media, false, libvlc_media_fetch_local );
}