static int Open ( vlc_object_t * );
static void Close ( vlc_object_t * );
static void Run ( intf_thread_t * );
+static void Main ( intf_thread_t * );
static int ItemChange ( vlc_object_t *, const char *, vlc_value_t,
vlc_value_t, void * );
static int PlayingChange( vlc_object_t *, const char *, vlc_value_t,
free( p_sys );
}
+/****************************************************************************
+ * Run : create Main() thread
+ * **************************************************************************/
+static void Run( intf_thread_t *p_intf )
+{
+ if( vlc_thread_create( p_intf, "Audioscrobbler", Main, 0, VLC_TRUE ) )
+ msg_Err( p_intf, "failed to create Audioscrobbler thread" );
+}
+
/*****************************************************************************
- * Run : call Handshake() then submit songs
+ * Main : call Handshake() then submit songs
*****************************************************************************/
-static void Run( intf_thread_t *p_this )
+static void Main( intf_thread_t *p_this )
{
char *psz_submit = NULL;
char *psz_submit_song = NULL;
int i_post_socket;
time_t played_time;
+ vlc_thread_ready( p_this );
+
p_this->p_sys = p_sys_global;
intf_sys_t *p_sys = p_this->p_sys;
if( p_sys->b_handshaked == VLC_FALSE )
{
msg_Dbg( p_this, "Handshaking with last.fm ..." );
-
+
switch( Handshake( p_this ) )
{
case VLC_ENOMEM:
vlc_mutex_unlock ( &p_sys->lock );
break;
}
+ /* handshake is done or failed, lets start from
+ * beginning to check it out and wait INTERVAL if needed
+ */
+ continue;
}
msg_Dbg( p_this, "Going to submit some data..." );
msg_Dbg( p_this, "No artist.." );
WAIT_METADATA_FETCHING( psz_artist )
}
- psz_meta = input_item_GetName( input_GetItem( p_input ) );
+ psz_meta = input_item_GetTitle( input_GetItem( p_input ) );
if( psz_meta )
{
psz_title = encode_URI_component( psz_meta );
else
psz_trackid = calloc( 1, 1 );
- i_length = input_GetItem(p_input)->i_duration / 1000000;
+ i_length = input_item_GetDuration( input_GetItem( p_input ) ) / 1000000;
vlc_mutex_lock ( &p_sys->lock );