dbus_int32_t i_pos;
playlist_t *p_playlist = pl_Yield( ((vlc_object_t*) p_this) );
+ PL_LOCK;
input_thread_t *p_input = p_playlist->p_input;
if( !p_input )
var_Get( p_input, "time", &position );
i_pos = position.i_time / 1000;
}
+ PL_UNLOCK;
pl_Release( ((vlc_object_t*) p_this) );
ADD_INT32( &i_pos );
REPLY_SEND;
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
p_playlist = pl_Yield( ((vlc_object_t*) p_this) );
+ PL_LOCK;
input_thread_t *p_input = p_playlist->p_input;
if( p_input )
position.i_time = i_pos * 1000;
var_Set( p_input, "time", position );
}
+ PL_UNLOCK;
pl_Release( ((vlc_object_t*) p_this) );
REPLY_SEND;
}
vlc_value_t val;
playlist_t *p_playlist = pl_Yield( (vlc_object_t*) p_this );
+ PL_LOCK;
input_thread_t *p_input = p_playlist->p_input;
i_status = 2;
i_status = 0;
}
+ PL_UNLOCK;
pl_Release( p_playlist );
ADD_INT32( &i_status );
REPLY_INIT;
OUT_ARGUMENTS;
playlist_t* p_playlist = pl_Yield( (vlc_object_t*) p_this );
-
+ PL_LOCK;
if( p_playlist->status.p_item )
GetInputMeta( p_playlist->status.p_item->p_input, &args );
-
+ PL_UNLOCK;
pl_Release( p_playlist );
REPLY_SEND;
}
{
REPLY_INIT;
OUT_ARGUMENTS;
- /* FIXME 0 indicates the first item,
- * what to do if we're stopped, or empty ? */
- dbus_int32_t i_position = 0;
- playlist_t *p_playlist = pl_Yield( (vlc_object_t*) p_this );
- playlist_item_t* p_tested_item = p_playlist->p_root_onelevel;
- if( p_playlist->status.p_item )
- while ( p_tested_item && p_tested_item->p_input->i_id !=
- p_playlist->status.p_item->p_input->i_id )
- {
- i_position++;
- TEST_NEXT_ITEM;
- }
- /* FIXME if p_tested_item is NULL at that point, what do we do ? */
+ playlist_t *p_playlist = pl_Yield( (vlc_object_t*) p_this );
+ dbus_int32_t i_position = p_playlist->i_current_index;
pl_Release( p_playlist );
ADD_INT32( &i_position );