]> git.sesse.net Git - vlc/blobdiff - include/vlc_vod.h
Merge branch 'master' into lpcm_encoder
[vlc] / include / vlc_vod.h
index 087a73406debd5f3edbff33cc3b9315038ceecbc..9b136108f2b844a971087a407f249ed3f5c5cf9b 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#ifndef _VLC_VOD_H
-#define _VLC_VOD_H 1
+#ifndef VLC_VOD_H
+#define VLC_VOD_H 1
+
+/**
+ * \file
+ * This file defines an interface for VOD server modules in vlc
+ */
+
+/**
+ * \defgroup vod Video On Demand (VOD)
+ * \ingroup server
+ * Video On Demand (VOD) functionality is provided from VLM.
+ * @{
+ */
 
 struct vod_t
 {
@@ -32,18 +44,18 @@ struct vod_t
     module_t  *p_module;
     vod_sys_t *p_sys;
 
-    vod_media_t * (*pf_media_new)   ( vod_t *, char *, input_item_t * );
+    vod_media_t * (*pf_media_new)   ( vod_t *, const char *, input_item_t * );
     void          (*pf_media_del)   ( vod_t *, vod_media_t * );
     int           (*pf_media_add_es)( vod_t *, vod_media_t *, es_format_t * );
     void          (*pf_media_del_es)( vod_t *, vod_media_t *, es_format_t * );
 
     /* Owner properties */
-    int (*pf_media_control) ( void *, vod_media_t *, char *, int, va_list );
+    int (*pf_media_control) ( void *, vod_media_t *, const char *, int, va_list );
     void *p_data;
 };
 
 static inline int vod_MediaControl( vod_t *p_vod, vod_media_t *p_media,
-                                    char *psz_id, int i_query, ... )
+                                    const char *psz_id, int i_query, ... )
 {
     va_list args;
     int i_result;
@@ -59,10 +71,16 @@ static inline int vod_MediaControl( vod_t *p_vod, vod_media_t *p_media,
 
 enum vod_query_e
 {
-    VOD_MEDIA_PLAY,         /* arg1= double *       res=    */
-    VOD_MEDIA_PAUSE,        /* arg1= double *       res=    */
-    VOD_MEDIA_STOP,         /* arg1= double         res=can fail    */
-    VOD_MEDIA_SEEK,         /* arg1= double *       res=    */
+    VOD_MEDIA_PLAY,         /* arg1= char *         res=    */
+    VOD_MEDIA_PAUSE,        /* arg1=                res=    */
+    VOD_MEDIA_STOP,         /* arg1=                res=can fail    */
+    VOD_MEDIA_SEEK,         /* arg1= double         res=    */
+    VOD_MEDIA_REWIND,       /* arg1= double         res=    */
+    VOD_MEDIA_FORWARD,      /* arg1= double         res=    */
 };
 
+/**
+ * @}
+ */
+
 #endif