]> git.sesse.net Git - vlc/blobdiff - include/vlc/mediacontrol.h
Note that embedded video cannot go to fullscreen directly
[vlc] / include / vlc / mediacontrol.h
index 1768dfc015692d3c24e9a86b3f682259b32c9655..5b4f45d4cd002702530cdc2ed0185d5d51d0374c 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
- * control.h: global header for mediacontrol
+ * mediacontrol.h: global header for mediacontrol
  *****************************************************************************
- * Copyright (C) 2005 the VideoLAN team
+ * Copyright (C) 2005-2008 the VideoLAN team
  * $Id$
  *
  * Authors: Olivier Aubert <olivier.aubert@liris.univ-lyon1.fr>
  *****************************************************************************/
 
 /**
- * \defgroup mediacontrol MediaControl 
+ * \file
+ * This file defines libvlc mediacontrol_* external API
+ */
+
+/**
+ * \defgroup mediacontrol MediaControl
  * This is the MediaControl API, * intended to provide a generic API to movie players.
  *
  * @{
  */
 
 
-#ifndef _VLC_CONTROL_H
-#define _VLC_CONTROL_H 1
+#ifndef VLC_CONTROL_H
+#define VLC_CONTROL_H 1
 
 # ifdef __cplusplus
 extern "C" {
@@ -38,9 +43,9 @@ extern "C" {
 
 #if defined( WIN32 )
 #include <windows.h>
-#define WINDOWHANDLE HWND
+typedef HWND WINDOWHANDLE;
 #else
-#define WINDOWHANDLE int
+typedef int WINDOWHANDLE;
 #endif
 
 #include <vlc/libvlc.h>
@@ -48,7 +53,7 @@ extern "C" {
 
 /**
  * mediacontrol_Instance is an opaque structure, defined in
- * mediacontrol_internal.h. API users do not have to mess with it. 
+ * mediacontrol_internal.h. API users do not have to mess with it.
  */
 typedef struct mediacontrol_Instance mediacontrol_Instance;
 
@@ -86,8 +91,15 @@ VLC_PUBLIC_API void
   mediacontrol_exception_init( mediacontrol_Exception *exception );
 
 /**
- * Free an exception structure.
- * \return the exception
+ * Clean up an existing exception structure after use.
+ * \param p_exception the exception to clean up.
+ */
+VLC_PUBLIC_API void
+mediacontrol_exception_cleanup( mediacontrol_Exception *exception );
+
+/**
+ * Free an exception structure created with mediacontrol_exception_create().
+ * \param p_exception the exception to free.
  */
 VLC_PUBLIC_API void mediacontrol_exception_free(mediacontrol_Exception *exception);
 
@@ -113,7 +125,7 @@ mediacontrol_new( int argc, char **argv, mediacontrol_Exception *exception );
  */
 VLC_PUBLIC_API mediacontrol_Instance *
 mediacontrol_new_from_instance( libvlc_instance_t* p_instance,
-                               mediacontrol_Exception *exception );
+                mediacontrol_Exception *exception );
 
 /**
  * Get the associated libvlc instance
@@ -123,6 +135,14 @@ mediacontrol_new_from_instance( libvlc_instance_t* p_instance,
 VLC_PUBLIC_API libvlc_instance_t*
 mediacontrol_get_libvlc_instance( mediacontrol_Instance* self );
 
+/**
+ * Get the associated libvlc_media_player
+ * \param self: the mediacontrol instance
+ * \return a libvlc_media_player_t instance
+ */
+VLC_PUBLIC_API libvlc_media_player_t*
+mediacontrol_get_media_player( mediacontrol_Instance* self );
+
 /**
  * Get the current position
  * \param self the mediacontrol instance
@@ -160,31 +180,25 @@ VLC_PUBLIC_API void mediacontrol_start( mediacontrol_Instance *self,
 /**
  * Pause the movie at a given position
  * \param self the mediacontrol instance
- * \param a_position a mediacontrol_Position (ignored for now)
  * \param exception an initialized exception pointer
  */
 VLC_PUBLIC_API void mediacontrol_pause( mediacontrol_Instance *self,
-                         const mediacontrol_Position *a_position,
                          mediacontrol_Exception *exception );
 
 /**
  * Resume the movie at a given position
  * \param self the mediacontrol instance
- * \param a_position a mediacontrol_Position (ignored for now)
  * \param exception an initialized exception pointer
  */
 VLC_PUBLIC_API void mediacontrol_resume( mediacontrol_Instance *self,
-                          const mediacontrol_Position *a_position,
                           mediacontrol_Exception *exception );
 
 /**
  * Stop the movie at a given position
  * \param self the mediacontrol instance
- * \param a_position a mediacontrol_Position (ignored for now)
  * \param exception an initialized exception pointer
  */
 VLC_PUBLIC_API void mediacontrol_stop( mediacontrol_Instance *self,
-                        const mediacontrol_Position *a_position,
                         mediacontrol_Exception *exception );
 
 /**
@@ -194,39 +208,22 @@ VLC_PUBLIC_API void mediacontrol_stop( mediacontrol_Instance *self,
 VLC_PUBLIC_API void mediacontrol_exit( mediacontrol_Instance *self );
 
 /**
- * Add a new MRL to the playlist
+ * Set the MRL to be played.
  * \param self the mediacontrol instance
  * \param psz_file the MRL
  * \param exception an initialized exception pointer
  */
-VLC_PUBLIC_API void mediacontrol_playlist_add_item( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_set_mrl( mediacontrol_Instance *self,
                                      const char* psz_file,
                                      mediacontrol_Exception *exception );
-/**
- * Clear the playlist
- * \param self the mediacontrol instance
- * \param exception an initialized exception pointer
- */
-VLC_PUBLIC_API void mediacontrol_playlist_clear( mediacontrol_Instance *self,
-                                  mediacontrol_Exception *exception );
-/**
- * Get a flattened view of the playlist
- * \param self the mediacontrol instance
- * \param exception an initialized exception pointer
- * \return a list of strings
- */
-VLC_PUBLIC_API mediacontrol_PlaylistSeq *
-  mediacontrol_playlist_get_list( mediacontrol_Instance *self,
-                                  mediacontrol_Exception *exception );
 
 /**
- * Play the next item
+ * Get the MRL to be played.
  * \param self the mediacontrol instance
  * \param exception an initialized exception pointer
  */
-VLC_PUBLIC_API void
-mediacontrol_playlist_next_item( mediacontrol_Instance *self,
-                                 mediacontrol_Exception *exception );
+VLC_PUBLIC_API char * mediacontrol_get_mrl( mediacontrol_Instance *self,
+                                            mediacontrol_Exception *exception );
 
 /*****************************************************************************
  * A/V functions
@@ -243,17 +240,6 @@ VLC_PUBLIC_API mediacontrol_RGBPicture *
                          const mediacontrol_Position *a_position,
                          mediacontrol_Exception *exception );
 
-/* Return a NULL terminated list */
-/**
- * Get a list of all cached snapshots (unimplemented)
- * \param self the mediacontrol instance
- * \param exception an initialized exception pointer
- * \return a NULL-terminated list of RGBpicture
- */
-VLC_PUBLIC_API mediacontrol_RGBPicture **
-  mediacontrol_all_snapshots( mediacontrol_Instance *self,
-                              mediacontrol_Exception *exception );
-
 /**
  *  Displays the message string, between "begin" and "end" positions.
  * \param self the mediacontrol instance
@@ -305,7 +291,7 @@ VLC_PUBLIC_API void mediacontrol_sound_set_volume( mediacontrol_Instance *self,
  * \param visual_id the Xid or HWND, depending on the platform
  * \param exception an initialized exception pointer
  */
-VLC_PUBLIC_API vlc_bool_t mediacontrol_set_visual( mediacontrol_Instance *self,
+VLC_PUBLIC_API int mediacontrol_set_visual( mediacontrol_Instance *self,
                                     WINDOWHANDLE visual_id,
                                     mediacontrol_Exception *exception );
 
@@ -316,7 +302,7 @@ VLC_PUBLIC_API vlc_bool_t mediacontrol_set_visual( mediacontrol_Instance *self,
  * \return the rate
  */
 VLC_PUBLIC_API int mediacontrol_get_rate( mediacontrol_Instance *self,
-                          mediacontrol_Exception *exception );
+               mediacontrol_Exception *exception );
 
 /**
  * Set the playing rate, in percent
@@ -325,8 +311,8 @@ VLC_PUBLIC_API int mediacontrol_get_rate( mediacontrol_Instance *self,
  * \param exception an initialized exception pointer
  */
 VLC_PUBLIC_API void mediacontrol_set_rate( mediacontrol_Instance *self,
-                           const int rate,
-                           mediacontrol_Exception *exception );
+                const int rate,
+                mediacontrol_Exception *exception );
 
 /**
  * Get current fullscreen status
@@ -335,7 +321,7 @@ VLC_PUBLIC_API void mediacontrol_set_rate( mediacontrol_Instance *self,
  * \return the fullscreen status
  */
 VLC_PUBLIC_API int mediacontrol_get_fullscreen( mediacontrol_Instance *self,
-                                mediacontrol_Exception *exception );
+                 mediacontrol_Exception *exception );
 
 /**
  * Set fullscreen status
@@ -344,8 +330,8 @@ VLC_PUBLIC_API int mediacontrol_get_fullscreen( mediacontrol_Instance *self,
  * \param exception an initialized exception pointer
  */
 VLC_PUBLIC_API void mediacontrol_set_fullscreen( mediacontrol_Instance *self,
-                                 const int b_fullscreen,
-                                 mediacontrol_Exception *exception );
+                  const int b_fullscreen,
+                  mediacontrol_Exception *exception );
 
 # ifdef __cplusplus
 }