diff options
Diffstat (limited to 'include/xine.h.tmpl.in')
-rw-r--r-- | include/xine.h.tmpl.in | 171 |
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 |