- if( !self->p_vlc )
- {
- RAISE( mediacontrol_InternalException, "No vlc reference" );
- return 0;
- }
- value.i_int=visual_id;
- ret = var_Set(self->p_vlc, "drawable", value);
-
- return (ret == VLC_SUCCESS);
+ mediacontrol_exception_init( exception );
+ libvlc_exception_init( &ex );
+
+ i_ret = libvlc_media_player_get_rate( self->p_media_player, &ex );
+ HANDLE_LIBVLC_EXCEPTION_ZERO( &ex );
+
+ return i_ret / 10;
+}
+
+void
+mediacontrol_set_rate( mediacontrol_Instance *self,
+ const int rate,
+ mediacontrol_Exception *exception )
+{
+ libvlc_exception_t ex;
+
+ mediacontrol_exception_init( exception );
+ libvlc_exception_init( &ex );
+
+ libvlc_media_player_set_rate( self->p_media_player, rate * 10, &ex );
+ HANDLE_LIBVLC_EXCEPTION_VOID( &ex );
+}
+
+int
+mediacontrol_get_fullscreen( mediacontrol_Instance *self,
+ mediacontrol_Exception *exception )
+{
+ libvlc_exception_t ex;
+ int i_ret;
+
+ mediacontrol_exception_init( exception );
+ libvlc_exception_init( &ex );
+
+ i_ret = libvlc_get_fullscreen( self->p_media_player, &ex );
+ HANDLE_LIBVLC_EXCEPTION_ZERO( &ex );
+
+ return i_ret;
+}
+
+void
+mediacontrol_set_fullscreen( mediacontrol_Instance *self,
+ const int b_fullscreen,
+ mediacontrol_Exception *exception )
+{
+ libvlc_exception_t ex;
+
+ mediacontrol_exception_init( exception );
+ libvlc_exception_init( &ex );
+
+ libvlc_set_fullscreen( self->p_media_player, b_fullscreen, &ex );
+ HANDLE_LIBVLC_EXCEPTION_VOID( &ex );