CoverArtLabel::CoverArtLabel( QWidget *parent, intf_thread_t *_p_i ) : QLabel( parent ), p_intf( _p_i ), p_item( NULL ) { setContextMenuPolicy( Qt::ActionsContextMenu ); CONNECT( THEMIM->getIM(), artChanged( input_item_t * ), this, showArtUpdate( input_item_t * ) ); setMinimumHeight( 128 ); setMinimumWidth( 128 ); setScaledContents( false ); setAlignment( Qt::AlignCenter ); QAction *action = new QAction( qtr( "Download cover art" ), this ); CONNECT( action, triggered(), this, askForUpdate() ); addAction( action ); action = new QAction( qtr( "Add cover art from file" ), this ); CONNECT( action, triggered(), this, setArtFromFile() ); addAction( action ); p_item = THEMIM->currentInputItem(); if( p_item ) { input_item_Hold( p_item ); showArtUpdate( p_item ); } else showArtUpdate( "" ); }
vlc_playlist_item_t * vlc_playlist_item_New(input_item_t *media, uint64_t id) { vlc_playlist_item_t *item = malloc(sizeof(*item)); if (unlikely(!item)) return NULL; vlc_atomic_rc_init(&item->rc); item->id = id; item->media = media; input_item_Hold(media); return item; }
static input_preparser_req_t *ReqCreate(input_item_t *item, const input_preparser_callbacks_t *cbs, void *userdata) { input_preparser_req_t *req = malloc(sizeof(*req)); if (unlikely(!req)) return NULL; req->item = item; req->cbs = cbs; req->userdata = userdata; vlc_atomic_rc_init(&req->rc); input_item_Hold(item); return req; }
void EpgDialog::updateInfos() { input_item_t *p_input_item = NULL; playlist_t *p_playlist = THEPL; input_thread_t *p_input_thread = playlist_CurrentInput( p_playlist ); /* w/hold */ if( p_input_thread ) { PL_LOCK; /* as input_GetItem still unfixed */ p_input_item = input_GetItem( p_input_thread ); if ( p_input_item ) input_item_Hold( p_input_item ); PL_UNLOCK; vlc_object_release( p_input_thread ); if ( p_input_item ) { epg->updateEPG( p_input_item ); input_item_Release( p_input_item ); } else { epg->reset(); } } }
void CoverArtLabel::setItem( input_item_t *_p_item ) { if ( p_item ) input_item_Release( p_item ); p_item = _p_item; if ( p_item ) input_item_Hold( p_item ); }
CmdItemUpdate( intf_thread_t *pIntf, input_item_t* pItem ): CmdGeneric( pIntf ), m_pItem( pItem ) { if( pItem ) input_item_Hold( pItem ); }