Commit 103f9309 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

notify: use input-current callback and simplify

parent 7b1d9b54
...@@ -122,7 +122,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -122,7 +122,7 @@ static int Open( vlc_object_t *p_this )
} }
/* */ /* */
var_AddCallback( pl_Get( p_intf ), "activity", ItemChange, p_intf ); var_AddCallback( pl_Get( p_intf ), "input-current", ItemChange, p_intf );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
...@@ -135,7 +135,7 @@ static void Close( vlc_object_t *p_this ) ...@@ -135,7 +135,7 @@ static void Close( vlc_object_t *p_this )
intf_thread_t *p_intf = ( intf_thread_t* ) p_this; intf_thread_t *p_intf = ( intf_thread_t* ) p_this;
intf_sys_t *p_sys = p_intf->p_sys; intf_sys_t *p_sys = p_intf->p_sys;
var_DelCallback( pl_Get( p_intf ), "activity", ItemChange, p_this ); var_DelCallback( pl_Get( p_intf ), "input-current", ItemChange, p_this );
if( p_sys->notification ) if( p_sys->notification )
{ {
...@@ -162,7 +162,7 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var, ...@@ -162,7 +162,7 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var,
char *psz_artist; char *psz_artist;
char *psz_album; char *psz_album;
char *psz_arturl; char *psz_arturl;
input_thread_t *p_input = playlist_CurrentInput( (playlist_t*)p_this ); input_thread_t *p_input = newval.p_address;
intf_thread_t *p_intf = param; intf_thread_t *p_intf = param;
intf_sys_t *p_sys = p_intf->p_sys; intf_sys_t *p_sys = p_intf->p_sys;
...@@ -170,15 +170,8 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var, ...@@ -170,15 +170,8 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var,
return VLC_SUCCESS; return VLC_SUCCESS;
if( p_input->b_dead ) if( p_input->b_dead )
{
/* Not playing anything ... */ /* Not playing anything ... */
vlc_object_release( p_input );
return VLC_SUCCESS; return VLC_SUCCESS;
}
/* Wait a tad so the meta has been fetched
* FIXME that's awfully wrong */
msleep( 10000 );
/* Playing something ... */ /* Playing something ... */
input_item_t *p_input_item = input_GetItem( p_input ); input_item_t *p_input_item = input_GetItem( p_input );
...@@ -188,7 +181,6 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var, ...@@ -188,7 +181,6 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var,
if( EMPTY_STR( psz_title ) ) if( EMPTY_STR( psz_title ) )
{ {
free( psz_title ); free( psz_title );
vlc_object_release( p_input );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
...@@ -213,7 +205,6 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var, ...@@ -213,7 +205,6 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var,
GdkPixbuf *pix = NULL; GdkPixbuf *pix = NULL;
psz_arturl = input_item_GetArtURL( p_input_item ); psz_arturl = input_item_GetArtURL( p_input_item );
vlc_object_release( p_input );
if( psz_arturl ) if( psz_arturl )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment