XINE, A Free Video Player Project - API reference

Main Page Modules Data Structures File List Data Fields Globals

# xine.h File Reference

Go to the source code of this file.

## Data Structures
struct | config_values_s
struct | mrl_t
struct | vo_driver_s
## Defines
#define | XINE_SKINDIR "/usr/local/share/xine/skins"
#define | XINE_BUILD_CC "gcc version 2.95.3 20010315 (release)"
#define | XINE_BUILD_OS "Linux 2.4.9 i686"
#define | XINE_BUILD_DATE "Mon 15 Oct 2001 00:22:19"
#define | XINE_STOP 0
#define | XINE_PLAY 1
#define | XINE_QUIT 2
#define | XINE_MAJOR_VERSION 0
#define | XINE_MINOR_VERSION 9
#define | XINE_SUB_VERSION 2
#define | VO_CAP_HUE 0x00000010
#define | VO_CAP_SATURATION 0x00000020
#define | VO_CAP_BRIGHTNESS 0x00000040
#define | VO_CAP_CONTRAST 0x00000080
#define | VO_CAP_COLORKEY 0x00000100
#define | VO_PROP_INTERLACED 0
#define | VO_PROP_ASPECT_RATIO 1
#define | VO_PROP_HUE 2
#define | VO_PROP_SATURATION 3
#define | VO_PROP_CONTRAST 4
#define | VO_PROP_BRIGHTNESS 5
#define | VO_PROP_COLORKEY 6
#define | VO_PROP_SOFT_DEINTERLACE 7
#define | VO_NUM_PROPERTIES 8
#define | ASPECT_AUTO 0
#define | ASPECT_ANAMORPHIC 1
#define | ASPECT_FULL 2
#define | ASPECT_DVB 3
#define | ASPECT_SQUARE 4
#define | NUM_ASPECT_RATIOS 5
#define | DEMUX_DEFAULT_STRATEGY 0
#define | DEMUX_REVERT_STRATEGY 1
#define | DEMUX_CONTENT_STRATEGY 2
#define | DEMUX_EXTENSION_STRATEGY 3
#define | SPEED_PAUSE 0
#define | SPEED_SLOW_4 1
#define | SPEED_SLOW_2 2
#define | SPEED_NORMAL 4
#define | SPEED_FAST_2 8
#define | SPEED_FAST_4 16
#define | AO_CAP_NOCAP 0x00000000
#define | AO_CAP_MODE_A52 0x00000001
#define | AO_CAP_MODE_AC5 0x00000002
#define | AO_CAP_MODE_MONO 0x00000004
#define | AO_CAP_MODE_STEREO 0x00000008
#define | AO_CAP_MODE_4CHANNEL 0x00000010
#define | AO_CAP_MODE_5CHANNEL 0x00000020
#define | AO_CAP_MODE_5_1CHANNEL 0x00000040
#define | AO_CAP_MIXER_VOL 0x00000080
#define | AO_CAP_PCM_VOL 0x00000100
#define | AO_CAP_MUTE_VOL 0x00000200
#define | AO_PROP_MIXER_VOL 0
#define | AO_PROP_PCM_VOL 1
#define | AO_PROP_MUTE_VOL 2
#define | mrl_unknown (0 << 0)
#define | mrl_dvd (1 << 0)
#define | mrl_vcd (1 << 1)
#define | mrl_net (1 << 2)
#define | mrl_rtp (1 << 3)
#define | mrl_stdin (1 << 4)
#define | mrl_file (1 << 5)
#define | mrl_file_fifo (1 << 6)
#define | mrl_file_chardev (1 << 7)
#define | mrl_file_directory (1 << 8)
#define | mrl_file_blockdev (1 << 9)
#define | mrl_file_normal (1 << 10)
#define | mrl_file_symlink (1 << 11)
#define | mrl_file_sock (1 << 12)
#define | mrl_file_exec (1 << 13)
#define | mrl_file_backup (1 << 14)
#define | mrl_file_hidden (1 << 15)
#define | MRL_ZERO(m)
#define | MRL_DUPLICATE(s, d)
#define | MRLS_DUPLICATE(s, d)
#define | XINE_PLUGINDIR "/usr/local/lib/xine/plugins"
#define | VISUAL_TYPE_X11 1
#define | VISUAL_TYPE_AA 2
#define | VISUAL_TYPE_FB 3
#define | VISUAL_TYPE_GTK 4
#define | XINE_IMGFMT_YV12 0x32315659
#define | XINE_IMGFMT_YUY2 (('2'<<24)|('Y'<<16)|('U'<<8)|'Y')
#define | XINE_ASPECT_RATIO_SQUARE 1
#define | XINE_ASPECT_RATIO_4_3 2
#define | XINE_ASPECT_RATIO_ANAMORPHIC 3
#define | XINE_ASPECT_RATIO_211_1 4
#define | XINE_ASPECT_RATIO_DONT_TOUCH 42
## Typedefs
typedef void | vo_frame_t
typedef void | vo_overlay_t
typedef struct vo_driver_s | vo_driver_t
typedef void | xine_t
typedef void | ao_driver_t
typedef void | cfg_data_t
typedef struct config_values_s | config_values_t
typedef void (* | gui_stream_end_cb_t )(int nStatus)
typedef char* (* | gui_get_next_mrl_cb_t )(void)
typedef void (* | gui_branched_cb_t )(void)
typedef void | event_t
typedef void (* | event_listener_t )(xine_t *xine, event_t *event, void *data)
## Functions
char* | xine_get_str_version (void)
| return string version, like "0.5.0".
int | xine_get_major_version (void)
| return version information.
int | xine_get_minor_version (void)
| return version information.
int | xine_get_sub_version (void)
| return version information.
int | xine_check_version (int major, int minor, int sub)
| check minimal version.
config_values_t* | config_file_init (char *filename)
| Configuration file initialisation.
xine_t* | xine_init (vo_driver_t *vo, ao_driver_t *ao, config_values_t *config, gui_stream_end_cb_t stream_end_cb, gui_get_next_mrl_cb_t get_next_mrl_cb, gui_branched_cb_t branched_cb)
| Initialisation of xine.
void | xine_exit (xine_t *self)
| De-initialisation of xine.
void | xine_play (xine_t *self, char *MRL, int start_pos, int start_time)
| Start to play a stream.
void | xine_set_speed (xine_t *self, int speed)
| Set playback speed.
int | xine_get_speed (xine_t *self)
| Get the playback speed.
void | xine_set_av_offset (xine_t *self, int offset_pts)
| Set audio/video sync.
int | xine_get_av_offset (xine_t *self)
| Get audio/video sync.
void | xine_stop (xine_t *self)
| Stop playing.
int | xine_eject (xine_t *self)
| Eject media.
int | xine_get_status (xine_t *self)
| Get current xine status.
int | xine_get_current_position (xine_t *self)
| Get current position.
int | xine_get_current_time (xine_t *self)
| get current pos in seconds.
int | xine_get_stream_length (xine_t *self)
| estimate length of input stream in seconds.
int | xine_get_audio_channel (xine_t *self)
| Get current audio channel.
void | xine_select_audio_channel (xine_t *self, int channel)
| Set audio channel.
int | xine_get_spu_channel (xine_t *self)
| Get current sub-title channel.
void | xine_select_spu_channel (xine_t *self, int channel)
| Set sub-title channel.
int | xine_get_audio_capabilities (xine_t *self)
| Get audio driver capabilities.
int | xine_get_audio_property (xine_t *self, int property)
| Get audio driver property.
int | xine_set_audio_property (xine_t *self, int property, int value)
| Set audio driver property value.
char** | xine_get_browsable_input_plugin_ids (xine_t *self)
| Request list of browsable featured plugins.
mrl_t** | xine_get_browse_mrls (xine_t *self, char *plugin_id, char *start_mrl, int *num_mrls)
| Request available MRLs from plugins.
char** | xine_get_autoplay_input_plugin_ids (xine_t *self)
| Request playlist from plugin.
char** | xine_get_autoplay_mrls (xine_t *self, char *plugin_id, int *num_mrls)
| Request MRL list from plugin.
char** | xine_list_video_output_plugins (int visual_type)
| list available video output plugins.
vo_driver_t* | xine_load_video_output_plugin (config_values_t *config, char *id, int visual_type, void *visual)
| load a specific video output plugin.
char** | xine_list_audio_output_plugins (void)
| generate a list of all available audio output plugins.
ao_driver_t* | xine_load_audio_output_plugin (config_values_t *config, char *id)
| load a specific audio output plugin.
int | xine_register_event_listener (xine_t *self, event_listener_t listener)
| registers an event listener callback.
int | xine_remove_event_listener (xine_t *self, event_listener_t listener)
| Attempts to remove a registered event listener.
void | xine_send_event (xine_t *self, event_t *event, void *data)
| sends an event to all listeners.
int | xine_get_current_frame (xine_t *self, int *width, int *height, int *ratio_code, int *format, uint8_t **y, uint8_t **u, uint8_t **v)
| Snapshot function.

## Detailed Description

Author:
  Guenter Bartsch <guenter@users.sourceforge.net> , Siegfried Langauf <siggi@users.sourceforge.net> , Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>

Date:
  16/09/2001

API of XINE library.

       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

## Define Documentation

#define XINE_SKINDIR "/usr/local/share/xine/skins"

| Skin file location