- playlist_t *p_playlist = pl_Yield( (vlc_object_t*) p_this );
- playlist_Stop( p_playlist );
- pl_Release( ((vlc_object_t*) p_this) );
- vlc_object_kill(((vlc_object_t*)p_this)->p_libvlc);
+ libvlc_Quit(((vlc_object_t*)p_this)->p_libvlc);
+ REPLY_SEND;
+}
+
+DBUS_METHOD( MprisVersion )
+{ /*implemented version of the mpris spec */
+ REPLY_INIT;
+ OUT_ARGUMENTS;
+ VLC_UNUSED( p_this );
+ dbus_uint16_t i_major = VLC_MPRIS_VERSION_MAJOR;
+ dbus_uint16_t i_minor = VLC_MPRIS_VERSION_MINOR;
+ DBusMessageIter version;
+
+ if( !dbus_message_iter_open_container( &args, DBUS_TYPE_STRUCT, NULL,
+ &version ) )
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
+
+ if( !dbus_message_iter_append_basic( &version, DBUS_TYPE_UINT16,
+ &i_major ) )
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
+
+ if( !dbus_message_iter_append_basic( &version, DBUS_TYPE_UINT16,
+ &i_minor ) )
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;
+
+ if( !dbus_message_iter_close_container( &args, &version ) )
+ return DBUS_HANDLER_RESULT_NEED_MEMORY;