Esempio n. 1
0
/**************************************************************************
 *       libvlc_media_list_remove_index (Public)
 *
 * Lock should be held when entering.
 **************************************************************************/
void libvlc_media_list_remove_index( libvlc_media_list_t * p_mlist,
                                     int index,
                                     libvlc_exception_t * p_e )
{
    if( mlist_is_writable(p_mlist,p_e) )
        _libvlc_media_list_remove_index( p_mlist, index, p_e );
}
Esempio n. 2
0
/**************************************************************************
 *       services_discovery_removeall (Private) (VLC event callback)
 **************************************************************************/
static void services_discovery_removeall( const vlc_event_t * p_event,
                                             void * user_data )
{
    VLC_UNUSED(p_event);
    libvlc_media_discoverer_t * p_mdis = user_data;

    libvlc_media_list_lock( p_mdis->p_mlist );
    for( int i = 0; i < libvlc_media_list_count( p_mdis->p_mlist ); i++ )
    {
        _libvlc_media_list_remove_index( p_mdis->p_mlist, i );
    }
    libvlc_media_list_unlock( p_mdis->p_mlist );
}
Esempio n. 3
0
static void services_discovery_item_removed( const vlc_event_t * p_event,
                                             void * user_data )
{
    input_item_t * p_item = p_event->u.services_discovery_item_added.p_new_item;
    libvlc_media_t * p_md;
    libvlc_media_discoverer_t * p_mdis = user_data;

    int i, count = libvlc_media_list_count( p_mdis->p_mlist, NULL );
    libvlc_media_list_lock( p_mdis->p_mlist );
    for( i = 0; i < count; i++ )
    {
        p_md = libvlc_media_list_item_at_index( p_mdis->p_mlist, i, NULL );
        if( p_md->p_input_item == p_item )
        {
            _libvlc_media_list_remove_index( p_mdis->p_mlist, i, NULL );
            break;
        }
    }
    libvlc_media_list_unlock( p_mdis->p_mlist );
}