xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Enumerations | Functions | Variables
xine.c File Reference
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <stdarg.h>
#include <stdio.h>
#include <ctype.h>
#include <unistd.h>
#include <basedir.h>
#include <xine/xine_internal.h>
#include <xine/plugin_catalog.h>
#include <xine/audio_out.h>
#include <xine/video_out.h>
#include <xine/post.h>
#include <xine/demux.h>
#include <xine/buffer.h>
#include <xine/spu_decoder.h>
#include <xine/input_plugin.h>
#include <xine/metronom.h>
#include <xine/configfile.h>
#include <xine/osd.h>
#include <xine/spu.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
#include "xine_private.h"

Data Structures

struct  xine_ticket_private_t
 
struct  _xine_arg_t
 
struct  _xine_args_t
 

Macros

#define LOG_MODULE   "xine"
 
#define LOG_VERBOSE
 
#define XINE_ENABLE_EXPERIMENTAL_FEATURES
 
#define METRONOM_CLOCK_INTERNAL
 
#define POST_INTERNAL
 
#define XINE_TICKET_FLAG_PAUSE   (int)0x40000000
 
#define XINE_TICKET_MAX_CB   15
 
#define nn   128
 
#define RATIO_LIKE(a, b)   ((b) - 1 <= (a) && (a) <= 1 + (b))
 
#define KF_BITS   10
 
#define KF_SIZE   (1 << KF_BITS)
 
#define KF_MASK   (KF_SIZE - 1)
 

Enumerations

enum  _xine_arg_type_t {
  _X_ARG_CONFIG = 0 , _X_ARG_demux , _X_ARG_save , _X_ARG_lastdemuxprobe ,
  _X_ARG_novideo , _X_ARG_noaudio , _X_ARG_nospu , _X_ARG_nocache ,
  _X_ARG_volume , _X_ARG_compression , _X_ARG_subtitle , _X_ARG_rewind ,
  _X_ARG_LAST
}
 

Functions

static void mutex_cleanup (void *mutex)
 
void _x_handle_stream_end (xine_stream_t *s, int non_user)
 
void _x_extra_info_reset (extra_info_t *extra_info)
 
void _x_extra_info_merge (extra_info_t *dst, const extra_info_t *src)
 
static void xine_current_extra_info_reset (xine_stream_private_t *stream)
 
void xine_current_extra_info_set (xine_stream_private_t *stream, const extra_info_t *info)
 
static int xine_current_extra_info_get (xine_stream_private_t *stream, extra_info_t *info)
 
static void ticket_revoke_cb_register (xine_ticket_t *tgen, xine_ticket_revoke_cb_t *cb, void *user_data)
 
static void ticket_revoke_cb_unregister (xine_ticket_t *tgen, xine_ticket_revoke_cb_t *cb, void *user_data)
 
static int ticket_acquire_internal (xine_ticket_private_t *this, int irrevocable, int nonblocking)
 
static int ticket_acquire_nonblocking (xine_ticket_t *tgen, int irrevocable)
 
static void ticket_acquire (xine_ticket_t *tgen, int irrevocable)
 
static void ticket_release_internal (xine_ticket_private_t *this, int irrevocable)
 
static void ticket_release_nonblocking (xine_ticket_t *tgen, int irrevocable)
 
static void ticket_release (xine_ticket_t *tgen, int irrevocable)
 
static void ticket_renew (xine_ticket_t *tgen, int irrevocable)
 
static void ticket_issue (xine_ticket_t *tgen, int flags)
 
static void ticket_revoke (xine_ticket_t *tgen, int flags)
 
static int lock_timeout (pthread_mutex_t *mutex, int ms_timeout)
 
static int ticket_lock_port_rewiring (xine_ticket_t *tgen, int ms_timeout)
 
static void ticket_unlock_port_rewiring (xine_ticket_t *tgen)
 
static void ticket_dispose (xine_ticket_t *tgen)
 
static xine_ticket_tticket_init (void)
 
static void set_speed_internal (xine_stream_private_t *stream, int speed)
 
static void stop_internal (xine_stream_private_t *stream)
 
static void lock_run (xine_stream_private_t *stream, int wait)
 
static void unlock_run (xine_stream_private_t *stream)
 
void xine_stop (xine_stream_t *s)
 
static void close_internal (xine_stream_private_t *stream)
 
void xine_close (xine_stream_t *s)
 
static int stream_rewire_audio (xine_post_out_t *output, void *data)
 
static int stream_rewire_video (xine_post_out_t *output, void *data)
 
static void video_decoder_update_disable_flush_at_discontinuity (void *s, xine_cfg_entry_t *entry)
 
static void _xine_dummy_dest (void *object)
 
static void xine_dispose_internal (xine_stream_private_t *stream)
 
xine_stream_txine_stream_new (xine_t *this, xine_audio_port_t *ao, xine_video_port_t *vo)
 
static void xine_side_dispose_internal (xine_stream_private_t *stream)
 
xine_stream_txine_get_side_stream (xine_stream_t *master, int index)
 
void _x_mrl_unescape (char *mrl)
 
char * _x_mrl_remove_auth (const char *mrl_in)
 
static void _xine_parse_args (_xine_args_t *args, uint8_t *s)
 
static void _xine_free_args (_xine_args_t *args)
 
static int _x_path_looks_like_mrl (const char *path)
 
static int _xine_str2secs (const uint8_t *s)
 
static int open_internal (xine_stream_private_t *stream, const char *mrl, input_plugin_t *input)
 
int xine_open (xine_stream_t *s, const char *mrl)
 
static void wait_first_frame (xine_stream_private_t *stream)
 
static int play_internal (xine_stream_private_t *stream, int start_pos, int start_time)
 
int xine_play (xine_stream_t *s, int start_pos, int start_time)
 
int xine_eject (xine_stream_t *s)
 
void xine_dispose (xine_stream_t *s)
 
void xine_exit (xine_t *this_gen)
 
xine_txine_new (void)
 
void xine_engine_set_param (xine_t *this, int param, int value)
 
int xine_engine_get_param (xine_t *this, int param)
 
static void config_demux_strategy_cb (void *this_gen, xine_cfg_entry_t *entry)
 
static void config_save_cb (void *this_gen, xine_cfg_entry_t *entry)
 
void xine_set_flags (xine_t *this_gen, int flags)
 
int _x_query_network_timeout (xine_t *xine_gen)
 
static void network_timeout_cb (void *this_gen, xine_cfg_entry_t *entry)
 
static void join_av_cb (void *this_gen, xine_cfg_entry_t *entry)
 
void xine_init (xine_t *this_gen)
 
void _x_select_spu_channel (xine_stream_t *s, int channel)
 
void _x_get_current_info (xine_stream_t *s, extra_info_t *extra_info, int size)
 
int xine_get_status (xine_stream_t *s)
 
void _x_set_fine_speed (xine_stream_t *s, int speed)
 
int _x_get_fine_speed (xine_stream_t *stream)
 
void _x_set_speed (xine_stream_t *stream, int speed)
 
int _x_get_speed (xine_stream_t *stream)
 
int xine_get_pos_length (xine_stream_t *s, int *pos_stream, int *pos_time, int *length_time)
 
static int _x_get_current_frame_data (xine_stream_t *stream, xine_current_frame_data_t *data, int flags, int img_size_unknown)
 
int xine_get_current_frame_data (xine_stream_t *stream, xine_current_frame_data_t *data, int flags)
 
int xine_get_current_frame_alloc (xine_stream_t *stream, int *width, int *height, int *ratio_code, int *format, uint8_t **img, int *img_size)
 
int xine_get_current_frame_s (xine_stream_t *stream, int *width, int *height, int *ratio_code, int *format, uint8_t *img, int *img_size)
 
int xine_get_current_frame (xine_stream_t *stream, int *width, int *height, int *ratio_code, int *format, uint8_t *img)
 
xine_grab_video_frame_txine_new_grab_video_frame (xine_stream_t *stream)
 
static int _get_spu_lang (xine_stream_private_t *stream, int channel, char *lang)
 
int xine_get_spu_lang (xine_stream_t *s, int channel, char *lang)
 
static int _get_audio_lang (xine_stream_private_t *stream, int channel, char *lang)
 
int xine_get_audio_lang (xine_stream_t *s, int channel, char *lang)
 
int _x_get_spu_channel (xine_stream_t *stream)
 
int _x_get_video_streamtype (xine_stream_t *s)
 
int xine_get_log_section_count (xine_t *this)
 
const char *const * xine_get_log_names (xine_t *this)
 
static void check_log_alloc (xine_private_t *this, int buf)
 
void xine_log (xine_t *this_gen, int buf, const char *format,...)
 
void xine_vlog (xine_t *this_gen, int buf, const char *format, va_list args)
 
char *const * xine_get_log (xine_t *this, int buf)
 
void xine_register_log_cb (xine_t *this_gen, xine_log_cb_t cb, void *user_data)
 
int xine_get_error (xine_stream_t *s)
 
int xine_stream_master_slave (xine_stream_t *m, xine_stream_t *slave, int affection)
 
int _x_query_buffer_usage (xine_stream_t *stream, int *num_video_buffers, int *num_audio_buffers, int *num_video_frames, int *num_audio_frames)
 
static void _x_query_buffers_fix_data (xine_query_buffers_data_t *data)
 
int _x_query_buffers (xine_stream_t *stream, xine_query_buffers_t *query)
 
int _x_lock_port_rewiring (xine_t *xine_gen, int ms_timeout)
 
void _x_unlock_port_rewiring (xine_t *xine_gen)
 
int _x_lock_frontend (xine_stream_t *s, int ms_to_time_out)
 
void _x_unlock_frontend (xine_stream_t *s)
 
int _x_query_unprocessed_osd_events (xine_stream_t *stream)
 
int _x_continue_stream_processing (xine_stream_t *s)
 
void _x_trigger_relaxed_frame_drop_mode (xine_stream_t *s)
 
void _x_reset_relaxed_frame_drop_mode (xine_stream_t *s)
 
int xine_keyframes_find (xine_stream_t *s, xine_keyframes_entry_t *pos, int offs)
 Query stream keyframe seek index.
 
int _x_keyframes_add (xine_stream_t *s, xine_keyframes_entry_t *pos)
 Register a stream keyframe to seek index.
 
xine_keyframes_entry_txine_keyframes_get (xine_stream_t *s, int *size)
 Get a private stream keyframe seek index copy, free () it when done.
 
int _x_keyframes_set (xine_stream_t *s, xine_keyframes_entry_t *list, int size)
 Register a list of stream keyframes.
 

Variables

static const uint8_t tab_tolower [256]
 
static const uint8_t tab_parse [256]
 
struct { 
 
   _xine_arg_type_t   type 
 
   const char *   name 
 
_xine_arg_keys [] 
 

Macro Definition Documentation

◆ KF_BITS

#define KF_BITS   10

◆ KF_MASK

#define KF_MASK   (KF_SIZE - 1)

Referenced by _x_keyframes_set().

◆ KF_SIZE

#define KF_SIZE   (1 << KF_BITS)

Referenced by _x_keyframes_add().

◆ LOG_MODULE

#define LOG_MODULE   "xine"

◆ LOG_VERBOSE

#define LOG_VERBOSE

◆ METRONOM_CLOCK_INTERNAL

#define METRONOM_CLOCK_INTERNAL

◆ nn

#define nn   128

◆ POST_INTERNAL

#define POST_INTERNAL

◆ RATIO_LIKE

#define RATIO_LIKE ( a,
b )   ((b) - 1 <= (a) && (a) <= 1 + (b))

◆ XINE_ENABLE_EXPERIMENTAL_FEATURES

#define XINE_ENABLE_EXPERIMENTAL_FEATURES

◆ XINE_TICKET_FLAG_PAUSE

#define XINE_TICKET_FLAG_PAUSE   (int)0x40000000

◆ XINE_TICKET_MAX_CB

#define XINE_TICKET_MAX_CB   15

Enumeration Type Documentation

◆ _xine_arg_type_t

Enumerator
_X_ARG_CONFIG 
_X_ARG_demux 
_X_ARG_save 
_X_ARG_lastdemuxprobe 
_X_ARG_novideo 
_X_ARG_noaudio 
_X_ARG_nospu 
_X_ARG_nocache 
_X_ARG_volume 
_X_ARG_compression 
_X_ARG_subtitle 
_X_ARG_rewind 
_X_ARG_LAST 

Function Documentation

◆ _get_audio_lang()

static int _get_audio_lang ( xine_stream_private_t * stream,
int channel,
char * lang )
static

◆ _get_spu_lang()

static int _get_spu_lang ( xine_stream_private_t * stream,
int channel,
char * lang )
static

◆ _x_continue_stream_processing()

int _x_continue_stream_processing ( xine_stream_t * s)

◆ _x_extra_info_merge()

void _x_extra_info_merge ( extra_info_t * dst,
const extra_info_t * src )

◆ _x_extra_info_reset()

void _x_extra_info_reset ( extra_info_t * extra_info)

◆ _x_get_current_frame_data()

static int _x_get_current_frame_data ( xine_stream_t * stream,
xine_current_frame_data_t * data,
int flags,
int img_size_unknown )
static

◆ _x_get_current_info()

void _x_get_current_info ( xine_stream_t * s,
extra_info_t * extra_info,
int size )

◆ _x_get_fine_speed()

int _x_get_fine_speed ( xine_stream_t * stream)

◆ _x_get_speed()

int _x_get_speed ( xine_stream_t * stream)

◆ _x_get_spu_channel()

int _x_get_spu_channel ( xine_stream_t * stream)

◆ _x_get_video_streamtype()

int _x_get_video_streamtype ( xine_stream_t * s)

◆ _x_handle_stream_end()

void _x_handle_stream_end ( xine_stream_t * s,
int non_user )

◆ _x_keyframes_add()

int _x_keyframes_add ( xine_stream_t * stream,
xine_keyframes_entry_t * pos )

Register a stream keyframe to seek index.

Note
This will try not to duplicate already registered frames.
Parameters
streamThe stream that index is for.
posThe frame time AND normpos.
Returns
The index g into the index where that frame has been added, or -1.

References abs, xine_stream_private_st::array, xine_stream_private_st::index, KF_SIZE, xine_stream_private_st::lastadd, xine_stream_private_st::lock, xine_keyframes_entry_t::msecs, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_private_st::size, xine_stream_private_st::used, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by read_flv_packet(), and vo_frame_draw().

◆ _x_keyframes_set()

int _x_keyframes_set ( xine_stream_t * stream,
xine_keyframes_entry_t * list,
int size )

Register a list of stream keyframes.

Parameters
streamThe stream that index is for.
listThe array of entries to add.
sizeThe count of entries.
Returns
0 (OK), 1 (Fail).

References xine_stream_private_st::array, xine_stream_private_st::index, KF_MASK, xine_stream_private_st::lastadd, xine_stream_private_st::lock, NULL, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_private_st::size, xine_stream_private_st::used, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by close_internal(), and parse_moov_atom().

◆ _x_lock_frontend()

int _x_lock_frontend ( xine_stream_t * s,
int ms_to_time_out )

◆ _x_lock_port_rewiring()

int _x_lock_port_rewiring ( xine_t * xine_gen,
int ms_timeout )

◆ _x_mrl_remove_auth()

char * _x_mrl_remove_auth ( const char * mrl_in)

◆ _x_mrl_unescape()

void _x_mrl_unescape ( char * mrl)

◆ _x_path_looks_like_mrl()

static int _x_path_looks_like_mrl ( const char * path)
inlinestatic

References tab_parse.

Referenced by open_internal().

◆ _x_query_buffer_usage()

int _x_query_buffer_usage ( xine_stream_t * stream,
int * num_video_buffers,
int * num_audio_buffers,
int * num_video_frames,
int * num_audio_frames )

◆ _x_query_buffers()

int _x_query_buffers ( xine_stream_t * stream,
xine_query_buffers_t * query )

◆ _x_query_buffers_fix_data()

static void _x_query_buffers_fix_data ( xine_query_buffers_data_t * data)
static

◆ _x_query_network_timeout()

int _x_query_network_timeout ( xine_t * xine_gen)

◆ _x_query_unprocessed_osd_events()

int _x_query_unprocessed_osd_events ( xine_stream_t * stream)

◆ _x_reset_relaxed_frame_drop_mode()

void _x_reset_relaxed_frame_drop_mode ( xine_stream_t * s)

◆ _x_select_spu_channel()

void _x_select_spu_channel ( xine_stream_t * s,
int channel )

◆ _x_set_fine_speed()

void _x_set_fine_speed ( xine_stream_t * s,
int speed )

◆ _x_set_speed()

void _x_set_speed ( xine_stream_t * stream,
int speed )

◆ _x_trigger_relaxed_frame_drop_mode()

void _x_trigger_relaxed_frame_drop_mode ( xine_stream_t * s)

◆ _x_unlock_frontend()

void _x_unlock_frontend ( xine_stream_t * s)

◆ _x_unlock_port_rewiring()

void _x_unlock_port_rewiring ( xine_t * xine_gen)

◆ _xine_dummy_dest()

static void _xine_dummy_dest ( void * object)
static

Referenced by xine_stream_new().

◆ _xine_free_args()

static void _xine_free_args ( _xine_args_t * args)
static

◆ _xine_parse_args()

static void _xine_parse_args ( _xine_args_t * args,
uint8_t * s )
static

◆ _xine_str2secs()

static int _xine_str2secs ( const uint8_t * s)
static

References v, and z.

Referenced by open_internal().

◆ check_log_alloc()

static void check_log_alloc ( xine_private_t * this,
int buf )
inlinestatic

References _x_new_scratch_buffer().

Referenced by xine_log(), and xine_vlog().

◆ close_internal()

static void close_internal ( xine_stream_private_t * stream)
static

◆ config_demux_strategy_cb()

static void config_demux_strategy_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

References xine_cfg_entry_s::num_value.

Referenced by xine_init().

◆ config_save_cb()

static void config_save_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

◆ join_av_cb()

static void join_av_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

References xine_cfg_entry_s::num_value.

Referenced by xine_init().

◆ lock_run()

static void lock_run ( xine_stream_private_t * stream,
int wait )
static

◆ lock_timeout()

static int lock_timeout ( pthread_mutex_t * mutex,
int ms_timeout )
static

References xine_gettime().

Referenced by _x_lock_frontend().

◆ mutex_cleanup()

static void mutex_cleanup ( void * mutex)
static

◆ network_timeout_cb()

static void network_timeout_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

References xine_cfg_entry_s::num_value.

Referenced by xine_init().

◆ open_internal()

static int open_internal ( xine_stream_private_t * stream,
const char * mrl,
input_plugin_t * input )
static

References _, _X_ARG_compression, _X_ARG_CONFIG, _X_ARG_demux, _X_ARG_lastdemuxprobe, _X_ARG_noaudio, _X_ARG_nocache, _X_ARG_nospu, _X_ARG_novideo, _X_ARG_rewind, _X_ARG_save, _X_ARG_subtitle, _X_ARG_volume, _x_cache_plugin_get_instance(), _x_config_change_opt(), _x_demux_control_headers_done(), _x_demux_control_nop(), _x_extra_info_reset(), _x_find_demux_plugin(), _x_find_demux_plugin_by_name(), _x_find_demux_plugin_last_probe(), _x_find_input_plugin(), _x_flush_events_queues(), _x_free_demux_plugin(), _x_free_input_plugin(), _x_get_fine_speed(), _x_meta_info_set_utf8(), _x_mrl_unescape(), _x_path_looks_like_mrl(), _x_rip_plugin_get_instance(), _x_stream_info_set(), _xine_free_args(), _xine_parse_args(), _xine_str2secs(), _xine_args_t::args, xine_stream_private_st::audio_decoder_extra_info, xine_stream_s::audio_fifo, BUF_FLAG_END_STREAM, close_internal(), xine_s::config, xine_stream_private_st::current_extra_info, xine_stream_private_st::demux, demux_plugin_s::demux_class, DEMUX_FINISHED, DEMUX_OK, demux_class_s::description, input_class_s::description, dgettext, xine_stream_private_st::eject_class, input_class_s::eject_media, xine_stream_private_st::err, fifo_buffer_s::fifo_size, input_plugin_s::get_capabilities, input_plugin_s::get_optional_data, demux_plugin_s::get_status, demux_class_s::identifier, input_class_s::identifier, input(), INPUT_CAP_NO_CACHE, input_plugin_s::input_class, INPUT_OPTIONAL_DATA_DEMUXER, INPUT_OPTIONAL_DATA_REWIND, xine_stream_s::input_plugin, key, _xine_arg_t::key, _xine_args_t::known, lprintf, xine_stream_s::master, name, NULL, input_plugin_s::open, xine_stream_private_st::plugin, xine_stream_private_st::s, demux_plugin_s::send_headers, set_speed_internal(), xine_stream_private_st::side_streams, xine_stream_s::slave, xine_stream_private_st::slave_affection, xine_stream_private_st::slave_is_subtitle, xine_stream_private_st::status, tab_parse, demux_class_s::text_domain, input_class_s::text_domain, _xine_arg_t::type, type, _xine_args_t::used, _xine_arg_t::value, xine_stream_private_st::video_decoder_extra_info, xine_stream_s::video_fifo, xine_stream_s::video_out, xine_stream_s::xine, xine_dispose(), XINE_ERROR_INPUT_FAILED, XINE_ERROR_MALFORMED_MRL, XINE_ERROR_NO_DEMUX_PLUGIN, XINE_ERROR_NO_INPUT_PLUGIN, XINE_FINE_SPEED_NORMAL, XINE_LIVE_PAUSE_ON, xine_log(), XINE_LOG_MSG, XINE_MASTER_SLAVE_PLAY, XINE_MASTER_SLAVE_STOP, XINE_META_INFO_INPUT_PLUGIN, XINE_META_INFO_SYSTEMLAYER, xine_open(), XINE_PARAM_AUDIO_COMPR_LEVEL, XINE_PARAM_AUDIO_VOLUME, xine_set_param(), XINE_SPEED_PAUSE, XINE_STATUS_IDLE, XINE_STATUS_STOP, XINE_STREAM_INFO_AUDIO_HANDLED, XINE_STREAM_INFO_IGNORE_AUDIO, XINE_STREAM_INFO_IGNORE_SPU, XINE_STREAM_INFO_IGNORE_VIDEO, XINE_STREAM_INFO_VIDEO_HANDLED, xine_stream_new(), XINE_TEXTDOMAIN, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, xprintf, and z.

Referenced by xine_open().

◆ play_internal()

static int play_internal ( xine_stream_private_t * stream,
int start_pos,
int start_time )
static

References _, _x_demux_start_thread(), _x_get_fine_speed(), xine_ticket_s::acquire, AO_PROP_DISCARD_BUFFERS, xine_stream_s::audio_fifo, xine_stream_s::audio_out, fifo_buffer_s::clear, xine_stream_private_st::demux, DEMUX_CAP_VIDEO_TIME, DEMUX_OK, DEMUX_OPTIONAL_DATA_VIDEO_TIME, DEMUX_OPTIONAL_SUCCESS, DISC_GAPLESS, xine_stream_private_st::err, xine_stream_private_st::finished_naturally, xine_stream_private_st::first_frame, xine_stream_private_st::flag, xine_stream_private_st::gapless_switch, demux_plugin_s::get_optional_data, metronom_s::handle_audio_discontinuity, xine_stream_private_st::info_lock, INPUT_CAP_SEEKABLE, INPUT_CAP_SLOW_SEEKABLE, INPUT_CAP_TIME_SEEKABLE, xine_stream_private_st::lock, lock_run(), xine_stream_s::master, xine_stream_private_st::max_seek_bufs, xine_stream_s::metronom, NULL, xine_stream_private_st::pair, xine_stream_private_st::plugin, xine_private_t::port_ticket, xine_ticket_s::release, xine_stream_private_st::s, extra_info_s::seek_count, xine_stream_private_st::seekable, xine_audio_port_s::set_property, xine_video_port_s::set_property, set_speed_internal(), xine_stream_private_st::side_streams, fifo_buffer_s::size, xine_stream_private_st::status, unlock_run(), xine_s::verbosity, xine_stream_s::video_fifo, xine_stream_s::video_out, VO_PROP_DISCARD_FRAMES, wait_first_frame(), xine_stream_s::xine, xine_current_extra_info_get(), xine_current_extra_info_reset(), XINE_ERROR_DEMUX_FAILED, XINE_ERROR_NO_DEMUX_PLUGIN, xine_fbc_set(), XINE_FINE_SPEED_NORMAL, xine_gettime(), xine_log(), XINE_LOG_MSG, XINE_NUM_SIDE_STREAMS, xine_rwlock_rdlock, xine_rwlock_unlock, XINE_STATUS_PLAY, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by xine_play().

◆ set_speed_internal()

static void set_speed_internal ( xine_stream_private_t * stream,
int speed )
static

◆ stop_internal()

static void stop_internal ( xine_stream_private_t * stream)
static

◆ stream_rewire_audio()

static int stream_rewire_audio ( xine_post_out_t * output,
void * data )
static

◆ stream_rewire_video()

static int stream_rewire_video ( xine_post_out_t * output,
void * data )
static

◆ ticket_acquire()

static void ticket_acquire ( xine_ticket_t * tgen,
int irrevocable )
static

References ticket_acquire_internal().

Referenced by ticket_init().

◆ ticket_acquire_internal()

static int ticket_acquire_internal ( xine_ticket_private_t * this,
int irrevocable,
int nonblocking )
static

◆ ticket_acquire_nonblocking()

static int ticket_acquire_nonblocking ( xine_ticket_t * tgen,
int irrevocable )
static

References ticket_acquire_internal().

Referenced by ticket_init().

◆ ticket_dispose()

static void ticket_dispose ( xine_ticket_t * tgen)
static

References xine_rwlock_destroy.

Referenced by ticket_init().

◆ ticket_init()

static xine_ticket_t * ticket_init ( void )
static

◆ ticket_issue()

static void ticket_issue ( xine_ticket_t * tgen,
int flags )
static

References xine_rwlock_unlock, and XINE_TICKET_FLAG_PAUSE.

Referenced by ticket_init().

◆ ticket_lock_port_rewiring()

static int ticket_lock_port_rewiring ( xine_ticket_t * tgen,
int ms_timeout )
static

◆ ticket_release()

static void ticket_release ( xine_ticket_t * tgen,
int irrevocable )
static

References ticket_release_internal().

Referenced by ticket_init().

◆ ticket_release_internal()

static void ticket_release_internal ( xine_ticket_private_t * this,
int irrevocable )
static

References _x_assert, and lprintf.

Referenced by ticket_release(), and ticket_release_nonblocking().

◆ ticket_release_nonblocking()

static void ticket_release_nonblocking ( xine_ticket_t * tgen,
int irrevocable )
static

References ticket_release_internal().

Referenced by ticket_init().

◆ ticket_renew()

static void ticket_renew ( xine_ticket_t * tgen,
int irrevocable )
static

References _x_assert.

Referenced by ticket_init().

◆ ticket_revoke()

static void ticket_revoke ( xine_ticket_t * tgen,
int flags )
static

◆ ticket_revoke_cb_register()

static void ticket_revoke_cb_register ( xine_ticket_t * tgen,
xine_ticket_revoke_cb_t * cb,
void * user_data )
static

References user_data(), and XINE_TICKET_MAX_CB.

Referenced by ticket_init().

◆ ticket_revoke_cb_unregister()

static void ticket_revoke_cb_unregister ( xine_ticket_t * tgen,
xine_ticket_revoke_cb_t * cb,
void * user_data )
static

References NULL, and user_data().

Referenced by ticket_init().

◆ ticket_unlock_port_rewiring()

static void ticket_unlock_port_rewiring ( xine_ticket_t * tgen)
static

References xine_rwlock_unlock.

Referenced by ticket_init().

◆ unlock_run()

static void unlock_run ( xine_stream_private_t * stream)
static

◆ video_decoder_update_disable_flush_at_discontinuity()

static void video_decoder_update_disable_flush_at_discontinuity ( void * s,
xine_cfg_entry_t * entry )
static

◆ wait_first_frame()

static void wait_first_frame ( xine_stream_private_t * stream)
static

◆ xine_close()

void xine_close ( xine_stream_t * s)

◆ xine_current_extra_info_get()

static int xine_current_extra_info_get ( xine_stream_private_t * stream,
extra_info_t * info )
static

◆ xine_current_extra_info_reset()

static void xine_current_extra_info_reset ( xine_stream_private_t * stream)
static

◆ xine_current_extra_info_set()

void xine_current_extra_info_set ( xine_stream_private_t * stream,
const extra_info_t * info )

◆ xine_dispose()

void xine_dispose ( xine_stream_t * s)

◆ xine_dispose_internal()

static void xine_dispose_internal ( xine_stream_private_t * stream)
static

◆ xine_eject()

int xine_eject ( xine_stream_t * s)

◆ xine_engine_get_param()

int xine_engine_get_param ( xine_t * this,
int param )

◆ xine_engine_set_param()

void xine_engine_set_param ( xine_t * this,
int param,
int value )

◆ xine_exit()

void xine_exit ( xine_t * this_gen)

◆ xine_get_audio_lang()

int xine_get_audio_lang ( xine_stream_t * s,
int channel,
char * lang )

◆ xine_get_current_frame()

int xine_get_current_frame ( xine_stream_t * stream,
int * width,
int * height,
int * ratio_code,
int * format,
uint8_t * img )

◆ xine_get_current_frame_alloc()

int xine_get_current_frame_alloc ( xine_stream_t * stream,
int * width,
int * height,
int * ratio_code,
int * format,
uint8_t ** img,
int * img_size )

◆ xine_get_current_frame_data()

int xine_get_current_frame_data ( xine_stream_t * stream,
xine_current_frame_data_t * data,
int flags )

◆ xine_get_current_frame_s()

int xine_get_current_frame_s ( xine_stream_t * stream,
int * width,
int * height,
int * ratio_code,
int * format,
uint8_t * img,
int * img_size )

◆ xine_get_error()

int xine_get_error ( xine_stream_t * s)

◆ xine_get_log()

char *const * xine_get_log ( xine_t * this,
int buf )

References NULL, and XINE_LOG_NUM.

◆ xine_get_log_names()

const char *const * xine_get_log_names ( xine_t * this)

◆ xine_get_log_section_count()

int xine_get_log_section_count ( xine_t * this)

References XINE_LOG_NUM.

◆ xine_get_pos_length()

int xine_get_pos_length ( xine_stream_t * s,
int * pos_stream,
int * pos_time,
int * length_time )

◆ xine_get_side_stream()

xine_stream_t * xine_get_side_stream ( xine_stream_t * master,
int index )

◆ xine_get_spu_lang()

int xine_get_spu_lang ( xine_stream_t * s,
int channel,
char * lang )

◆ xine_get_status()

int xine_get_status ( xine_stream_t * s)

◆ xine_init()

void xine_init ( xine_t * this_gen)

◆ xine_keyframes_find()

int xine_keyframes_find ( xine_stream_t * stream,
xine_keyframes_entry_t * pos,
int offs )

Query stream keyframe seek index.

Note
We dont do an expensive file scan. We will only find keyframes listed in container or already seen while playing.
Parameters
streamThe stream that index is for.
posOn call, the start time or normpos. On return, the found time and normpos.
offs0 gets nearest keyframe, other values step from exact given pos.
Returns
0: Found. 1: Search truncated to first or last known keyframe. 2: Failure.

References xine_stream_private_st::array, xine_stream_private_st::index, xine_stream_private_st::lock, xine_keyframes_entry_t::msecs, xine_keyframes_entry_t::normpos, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_private_st::used, and XINE_ANON_STREAM.

◆ xine_keyframes_get()

xine_keyframes_entry_t * xine_keyframes_get ( xine_stream_t * stream,
int * size )

Get a private stream keyframe seek index copy, free () it when done.

Parameters
streamThe stream that index is for.
sizeOn return, the count of entries there are.
Returns
The entry array or NULL.

References xine_stream_private_st::array, xine_stream_private_st::index, xine_stream_private_st::lock, NULL, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_private_st::used, and XINE_ANON_STREAM.

◆ xine_log()

void xine_log ( xine_t * this_gen,
int buf,
const char * format,
... )

References check_log_alloc(), and SCRATCH_LINE_LEN_MAX.

Referenced by _alsa_query_dev(), _cdda_cddb_socket_open(), _insert_node(), _load_plugin_class(), _open_plugin(), _open_plugin(), _register_plugins_internal(), _unload_unref_plugin(), _x_demux_control_headers_done(), _x_io_select(), _x_rip_plugin_get_instance(), _x_use_proxy(), _x_video_decoder_init(), ao_alsa_open(), ao_dx2_close(), ao_dx2_control(), ao_dx2_exit(), ao_dx2_open(), asf_read_header(), audio_decoder_loop(), audio_error(), audio_fill(), bitplane_decode_data(), buffer_service(), cache_plugin_new(), cache_plugin_open(), collect_plugins(), config_save_cb(), decode_vorbis_header(), demux_loop(), demux_mpeg_pes_parse_pack(), demux_mve_send_chunk(), file_input_open(), get_answer(), gnomevfs_plugin_open(), http_can_handle(), http_plugin_handshake(), http_plugin_open(), http_plugin_read_int(), lpcm_decode_data(), map_decoder_list(), mmsh_connect(), next_frame(), open_film_file(), open_internal(), open_mod_file(), open_mve_file(), open_plugin(), open_plugin(), open_snd_file(), open_voc_file(), parse_pes_for_pts(), parse_pes_for_pts(), play_internal(), read_iff_chunk(), rip_plugin_open(), rip_plugin_read(), rip_plugin_read_block(), rip_plugin_seek(), rip_read_file_read_1a(), rip_read_file_read_1b(), rip_read_file_read_2(), rip_read_file_start(), rip_seek_original(), save_catalog(), video_decoder_loop(), video_out_loop(), vo_frame_draw(), vorbis_decode_data(), w32a_decode_data(), w32a_init_audio(), w32v_decode_data(), w32v_init_codec(), w32v_init_ds_dmo_codec(), xine_config_load(), and xio_err().

◆ xine_new()

xine_t * xine_new ( void )

◆ xine_new_grab_video_frame()

xine_grab_video_frame_t * xine_new_grab_video_frame ( xine_stream_t * stream)

◆ xine_open()

int xine_open ( xine_stream_t * s,
const char * mrl )

◆ xine_play()

int xine_play ( xine_stream_t * s,
int start_pos,
int start_time )

◆ xine_register_log_cb()

void xine_register_log_cb ( xine_t * this_gen,
xine_log_cb_t cb,
void * user_data )

References user_data().

◆ xine_set_flags()

void xine_set_flags ( xine_t * this_gen,
int flags )

◆ xine_side_dispose_internal()

static void xine_side_dispose_internal ( xine_stream_private_t * stream)
static

◆ xine_stop()

void xine_stop ( xine_stream_t * s)

◆ xine_stream_master_slave()

int xine_stream_master_slave ( xine_stream_t * m,
xine_stream_t * slave,
int affection )

◆ xine_stream_new()

xine_stream_t * xine_stream_new ( xine_t * this,
xine_audio_port_t * ao,
xine_video_port_t * vo )

References _, _x_audio_decoder_init(), _x_metronom_init(), _x_osd_renderer_init(), _x_spu_misc_init(), _x_video_decoder_init(), _x_video_decoder_shutdown(), _xine_dummy_dest(), xine_stream_private_st::action_lock, xine_stream_private_st::action_pending, xine_stream_private_st::array, xine_stream_s::audio_channel_auto, xine_stream_private_st::audio_channel_user, xine_stream_private_st::audio_decoder_extra_info, xine_stream_private_st::audio_decoder_plugin, xine_stream_private_st::audio_decoder_streamtype, xine_stream_s::audio_out, xine_stream_private_st::audio_source, xine_stream_private_st::broadcaster, xine_stream_private_st::changed, xine_stream_private_st::counter, xine_stream_private_st::current_extra_info_index, xine_post_out_s::data, xine_stream_private_st::delay_finish_event, xine_stream_private_st::demux, xine_stream_private_st::demuxers_running, xine_stream_private_st::disable_decoder_flush_at_discontinuity, xine_video_port_s::driver, xine_stream_private_st::early_finish_event, xine_stream_private_st::ei, xine_stream_private_st::err, xine_stream_private_st::event, metronom_s::exit, xine_stream_private_st::finished_naturally, xine_stream_private_st::finisheds_audio, xine_stream_private_st::finisheds_video, xine_stream_private_st::first_frame, xine_stream_private_st::frontend_lock, xine_stream_private_st::gapless_switch, xine_stream_private_st::headers_audio, xine_stream_private_st::headers_video, xine_stream_private_st::id3v2_tag_size, xine_stream_private_st::id_flag, xine_stream_private_st::index, xine_stream_private_st::info_lock, xine_stream_private_st::input_caps, xine_stream_private_st::keep_ao_driver_open, xine_stream_private_st::lock, xine_stream_s::master, xine_stream_private_st::max_seek_bufs, xine_stream_private_st::meta_info, xine_stream_private_st::meta_info_public, xine_stream_private_st::meta_lock, xine_stream_s::metronom, xine_post_out_s::name, xine_stream_private_st::nbc, xine_stream_private_st::nbc_refs, NULL, xine_stream_s::osd_renderer, xine_stream_private_st::pair, xine_stream_private_st::query_input_plugins, xine_stream_private_st::queues, xine_stream_private_st::reached, xine_stream_private_st::refs, xine_stream_private_st::resume, xine_post_out_s::rewire, xine_stream_private_st::s, xine_stream_private_st::seekable, xine_stream_private_st::side_streams, xine_stream_s::slave, xine_stream_private_st::slave_is_subtitle, xine_stream_s::spu_channel, xine_stream_s::spu_channel_auto, xine_stream_s::spu_channel_letterbox, xine_stream_private_st::spu_channel_pan_scan, xine_stream_s::spu_channel_user, xine_stream_s::spu_decoder_plugin, xine_stream_s::spu_decoder_streamtype, xine_stream_private_st::start_buffers_sent, xine_stream_private_st::status, xine_stream_private_st::stream_info, stream_rewire_audio(), stream_rewire_video(), xine_stream_private_st::thread_created, xine_stream_private_st::thread_running, xine_post_out_s::type, xine_stream_private_st::video_channel, xine_stream_private_st::video_decoder_ei_index, xine_stream_private_st::video_decoder_extra_info, xine_stream_private_st::video_decoder_plugin, xine_stream_private_st::video_decoder_streamtype, video_decoder_update_disable_flush_at_discontinuity(), xine_stream_s::video_driver, xine_stream_s::video_out, xine_stream_private_st::video_source, xine_stream_s::xine, xine_dispose_internal(), xine_list_delete(), xine_list_new(), xine_list_push_back(), XINE_NUM_SIDE_STREAMS, XINE_POST_DATA_AUDIO, XINE_POST_DATA_VIDEO, xine_refs_get(), xine_refs_init(), xine_refs_sub(), xine_rwlock_destroy, xine_rwlock_init_default, XINE_STATUS_IDLE, XINE_STREAM_INFO_MAX, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by external_stream_play(), and open_internal().

◆ xine_vlog()

void xine_vlog ( xine_t * this_gen,
int buf,
const char * format,
va_list args )

References check_log_alloc().

Referenced by XINE_FORMAT_PRINTF().

Variable Documentation

◆ [struct]

const struct { ... } _xine_arg_keys[]
Initial value:
= {
{_X_ARG_compression, "compression"},
{_X_ARG_demux, "demux"},
{_X_ARG_lastdemuxprobe, "lastdemuxprobe"},
{_X_ARG_noaudio, "noaudio"},
{_X_ARG_nocache, "nocache"},
{_X_ARG_nospu, "nospu"},
{_X_ARG_novideo, "novideo"},
{_X_ARG_rewind, "rewind"},
{_X_ARG_save, "save"},
{_X_ARG_subtitle, "subtitle"},
{_X_ARG_volume, "volume"}
}
@ _X_ARG_demux
Definition xine.c:1548
@ _X_ARG_novideo
Definition xine.c:1551
@ _X_ARG_subtitle
Definition xine.c:1557
@ _X_ARG_compression
Definition xine.c:1556
@ _X_ARG_rewind
Definition xine.c:1558
@ _X_ARG_nocache
Definition xine.c:1554
@ _X_ARG_noaudio
Definition xine.c:1552
@ _X_ARG_save
Definition xine.c:1549
@ _X_ARG_nospu
Definition xine.c:1553
@ _X_ARG_lastdemuxprobe
Definition xine.c:1550
@ _X_ARG_volume
Definition xine.c:1555

Referenced by _xine_parse_args().

◆ name

const char* name

Referenced by _alsa_query_dev(), _dlsym_iid(), _ogl2_dump_tex_fmts(), _ogl2_fmt2str(), _vdpau_feature_names(), _x_find_demux_plugin_by_name(), _xine_parse_args(), ao_alsa_exit(), asf_header_parse_stream_extended_properties(), demux_ts_dynamic_pmt_clean(), do_record(), DS_VideoDecoder_GetValue(), DS_VideoDecoder_SetValue(), dvb_class_get_autoplay_list(), dvb_plugin_open(), dvbspeed_get(), dvbspeed_put(), ff_audio_init_codec(), ff_video_open_plugin(), find_param_0(), free_channel_list(), goom_plugin_parameters(), goom_secure_b_param(), goom_secure_f_feedback(), goom_secure_f_param(), goom_secure_i_feedback(), goom_secure_i_param(), goom_secure_s_param(), gsl_add_struct(), gsl_declare_external_task(), gsl_declare_global_variable(), gsl_declare_task(), gsl_declare_var(), gsl_enternamespace(), gsl_find_namespace(), gsl_float_decl_global(), gsl_float_decl_local(), gsl_get_struct_id(), gsl_instr_init(), gsl_int_decl_global(), gsl_int_decl_local(), gsl_new_struct_field(), gsl_new_struct_field_struct(), gsl_ptr_decl_global(), gsl_ptr_decl_local(), GSL_PUT_JNZERO(), GSL_PUT_JUMP(), GSL_PUT_JXXX(), GSL_PUT_JZERO(), GSL_PUT_LABEL(), gsl_struct_decl(), gsl_struct_decl_global_from_id(), gsl_struct_decl_local(), gsl_type_of_var(), mpd_build_mrl(), new_call(), new_call_expr(), new_expr1(), new_expr2(), new_function_intro(), open_internal(), open_plugin(), open_plugin(), open_plugin(), open_plugin_2(), opengl2_build_program(), opengl_open_plugin(), osd_show_channel(), parse_amf(), parse_trak_atom(), show_eit(), xine_create_cloexec(), xine_gl_extensions_test(), xine_open_cloexec(), xine_post_init(), xine_post_input(), xine_post_output(), xml_parser_get_property(), xml_parser_get_property_bool(), xml_parser_get_property_int(), xv_atom_from_name(), xv_autodetect_port(), xv_autodetect_port(), xvmc_check_colorkey_properties(), and xxmc_autodetect_port().

◆ tab_parse

const uint8_t tab_parse[256]
static
Initial value:
= {
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,32, 0, 0, 0, 0, 0, 0, 0, 4, 0, 4, 4, 0,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8,16, 0, 0, 0, 0,
0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0,
0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Referenced by _x_path_looks_like_mrl(), _xine_parse_args(), and open_internal().

◆ tab_tolower

const uint8_t tab_tolower[256]
static
Initial value:
= {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
' ','!','"','#','$','%','&','\'','(',')','*','+',',','-','.','/',
'0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?',
'@','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
'p','q','r','s','t','u','v','w','x','y','z','[','\\',']','^','_',
'`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
'p','q','r','s','t','u','v','w','x','y','z','{','|','}','~',127,
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
}

Referenced by _xine_parse_args().

◆ type

Referenced by _alsa_query_dev(), _build_list_typed_plugins(), _config_texture(), _connect_data(), _decoder_priority_cb(), _egl_query_string(), _mad_frame_size(), _read_dir(), _upload_texture(), _x_demux_read_send_data(), _x_demux_send_data(), _x_find_module(), _x_input_get_default_server_mrls(), _x_message(), alsa_apply_speaker_arrangement(), CBaseFilterCreate(), CEnumMediaTypes_Next(), commit_test2(), config_register_serialized_entry(), demux_slave_next(), demux_ts_dynamic_pmt_clean(), demux_ts_dynamic_pmt_find(), demux_ts_flush(), demux_ts_parse_packet(), demux_ts_parse_pmt(), demux_ts_seek(), demux_ts_update_spu_channel(), directfb_display_frame(), directfb_display_frame2(), directfb_get_property(), ff_audio_init_codec(), ff_video_open_plugin(), fifo_buffer_put(), file_input_class_get_dir(), gsl_declare_global_variable(), gsl_declare_var(), gsl_instr_add_param(), gsl_instr_validate(), gsl_new_struct_field(), gsl_new_struct_field_struct(), handle_hdmv_textst(), handle_vp9(), init_device(), internal_write_event_discontinuity(), load_moov_atom(), map_decoder_list(), metronom_handle_audio_discontinuity(), metronom_handle_discontinuity(), metronom_handle_video_discontinuity(), mpd_input_open(), mpeg2_header_picture(), nbc_get_cb(), nbc_put_cb(), new_neg(), new_op(), nodeNew(), open_aud_file(), open_internal(), open_plugin_fb(), opengl2_get_ft(), parse_amf(), parse_mpeg2_packet(), precommit_call_expr(), precommit_expr(), report_stats(), rtsp_send_request(), test_make(), update_spu_decoder(), v4l2_input_dispose(), vaapi_display_attribs(), vaapi_x11_wait_event(), vcd_get_mrl_type_offset(), vdr_metronom_handle_audio_discontinuity(), vdr_metronom_handle_video_discontinuity(), vdr_vpts_offset_queue_add(), xine_list_post_plugins_typed(), xine_nbc_event(), xine_port_send_gui_data(), xine_socket_cloexec(), xine_ts_from_string(), xv_autodetect_port(), xv_find_adaptor_by_port(), xxmc_autodetect_port(), and xxmc_find_adaptor_by_port().