---
name: "xine.h"
section: "3"
platform: "linux"
package: "libxine-dev"
version: "0.9.8-2woody3"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/xine.h"
---

# xine.h(3)

## NAME

xine.h -

## SYNOPSIS

### 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

## AUTHOR

Generated automatically by Doxygen for XINE, A Free Video Player Project - API reference from the source code.
