summaryrefslogtreecommitdiff
path: root/include/xine.h.tmpl.in
diff options
context:
space:
mode:
Diffstat (limited to 'include/xine.h.tmpl.in')
-rw-r--r--include/xine.h.tmpl.in171
1 files changed, 171 insertions, 0 deletions
diff --git a/include/xine.h.tmpl.in b/include/xine.h.tmpl.in
new file mode 100644
index 000000000..9f468cdd2
--- /dev/null
+++ b/include/xine.h.tmpl.in
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2000-2001 the xine project
+ *
+ * This file is part of xine, a unix video player.
+ *
+ * xine is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * xine is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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-1307, USA
+ *
+ * $Id: xine.h.tmpl.in,v 1.1 2001/04/18 22:36:42 f1rmb Exp $
+ *
+ */
+
+#ifndef HAVE_XINE_H
+#define HAVE_XINE_H
+
+#if !defined(XINE_COMPILE)
+
+#include <inttypes.h>
+#include "input_plugin.h"
+#include "audio_out.h"
+#include "video_out.h"
+#include "configfile.h"
+#include "demux.h"
+
+#define XINE_MAJOR_VERSION @XINE_MAJOR@
+#define XINE_MINOR_VERSION @XINE_MINOR@
+#define XINE_SUB_VERSION @XINE_SUB@
+
+
+typedef void xine_t;
+
+#endif
+
+
+/* nStatus : current xine status */
+typedef void (*gui_status_callback_func_t)(int nStatus);
+
+/*
+ * player status constants:
+ */
+
+#define XINE_STOP 0
+#define XINE_PLAY 1
+#define XINE_PAUSE 2
+#define XINE_QUIT 3
+
+#if !defined(XINE_COMPILE)
+/*
+ * init xine - call once at startup
+ *
+ */
+
+xine_t *xine_init (vo_instance_t *vo,
+ ao_functions_t *ao,
+ gui_status_callback_func_t gui_status_callback,
+ config_values_t *config, int demux_strategy, uint32_t debug_lvl) ;
+
+/*
+ * open a stream and play it
+ *
+ * name : mrl to open
+ * pos : start position 0..65535
+ *
+ */
+void xine_play (xine_t *this, char *MRL, int pos);
+
+
+/*
+ * toggle pause mode
+ */
+void xine_pause (xine_t *this);
+
+
+/*
+ * stop playing
+ */
+void xine_stop (xine_t *this);
+
+/*
+ * tell current input plugin to eject media.
+ */
+int xine_eject(xine_t *this);
+
+/*
+ * return current status (XINE_PLAY/XINE_STOP...)
+ */
+int xine_get_status (xine_t *this);
+
+/*
+ * get current position in stream
+ * returns position (range : 0 - 65535)
+ */
+int xine_get_current_position (xine_t *this);
+
+/*
+ * return the current audio channel
+ */
+int xine_get_audio_channel (xine_t *this);
+
+/*
+ * set desired audio channel
+ */
+void xine_select_audio_channel (xine_t *this, int channel);
+
+/*
+ * return the current SPU channel
+ */
+int xine_get_spu_channel (xine_t *this);
+
+/*
+ * set desired SPU channel
+ */
+void xine_select_spu_channel (xine_t *this, int channel);
+
+/*
+ * exit xine
+ */
+void xine_exit (xine_t *this);
+
+/*
+ * browsing support
+ */
+
+/*
+ * some input plugins are browseable
+ * returns a list of ids of these plugins
+ */
+char **xine_get_browsable_input_plugin_ids (xine_t *this) ;
+
+/*
+ * browse function
+ * asks input plugin named <plugin_id> to return
+ * a list of available MRLs in domain/directory <start_mrl>
+ *
+ * start_mrl may be NULL indicating the toplevel domain/dir
+ * returns start_mrl if start_mrl is a valid MRL, not a directory
+ * returns NULL if start_mrl is an invalid MRL, not even a directory
+ */
+
+char **xine_get_browse_mrls (xine_t *this, char *plugin_id,
+ char *start_mrl);
+
+/*
+ * autoplay support
+ */
+
+/*
+ * some input plugins can generate autoplay lists
+ * returns a list of ids of these plugins
+ */
+char **xine_get_autoplay_input_plugin_ids (xine_t *this) ;
+
+/*
+ * get autoplay MRL list for input plugin named <plugin_id>
+ */
+char **xine_get_autoplay_mrls (xine_t *this, char *plugin_id);
+
+#endif
+
+#endif