xine-lib  1.2.9
Macros | 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/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"

Macros

#define LOG_MODULE   "xine"
 
#define LOG_VERBOSE
 
#define XINE_ENABLE_EXPERIMENTAL_FEATURES
 
#define METRONOM_INTERNAL
 
#define METRONOM_CLOCK_INTERNAL
 
#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)
 

Functions

static void mutex_cleanup (void *mutex)
 
void _x_handle_stream_end (xine_stream_t *stream, int non_user)
 
void _x_extra_info_reset (extra_info_t *extra_info)
 
void _x_extra_info_merge (extra_info_t *dst, extra_info_t *src)
 
static int ticket_acquire_internal (xine_ticket_t *this, int irrevocable, int nonblocking)
 
static int ticket_acquire_nonblocking (xine_ticket_t *this, int irrevocable)
 
static void ticket_acquire (xine_ticket_t *this, int irrevocable)
 
static void ticket_release_internal (xine_ticket_t *this, int irrevocable)
 
static void ticket_release_nonblocking (xine_ticket_t *this, int irrevocable)
 
static void ticket_release (xine_ticket_t *this, int irrevocable)
 
static void ticket_renew (xine_ticket_t *this, int irrevocable)
 
static void ticket_issue (xine_ticket_t *this, int atomic)
 
static void ticket_revoke (xine_ticket_t *this, int atomic)
 
static int lock_timeout (pthread_mutex_t *mutex, int ms_timeout)
 
static int ticket_lock_port_rewiring (xine_ticket_t *this, int ms_timeout)
 
static void ticket_unlock_port_rewiring (xine_ticket_t *this)
 
static void ticket_dispose (xine_ticket_t *this)
 
static xine_ticket_tticket_init (void)
 
static void set_speed_internal (xine_stream_t *stream, int speed)
 
static void stop_internal (xine_stream_t *stream)
 
void xine_stop (xine_stream_t *stream)
 
static void close_internal (xine_stream_t *stream)
 
void xine_close (xine_stream_t *stream)
 
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 xine_dispose_internal (xine_stream_t *stream)
 
xine_stream_txine_stream_new (xine_t *this, xine_audio_port_t *ao, xine_video_port_t *vo)
 
void _x_mrl_unescape (char *mrl)
 
char * _x_mrl_remove_auth (const char *mrl_in)
 
void _x_flush_events_queues (xine_stream_t *stream)
 
static int _x_path_looks_like_mrl (const char *path)
 
static int open_internal (xine_stream_t *stream, const char *mrl)
 
int xine_open (xine_stream_t *stream, const char *mrl)
 
static void wait_first_frame (xine_stream_t *stream)
 
static int play_internal (xine_stream_t *stream, int start_pos, int start_time)
 
int xine_play (xine_stream_t *stream, int start_pos, int start_time)
 
int xine_eject (xine_stream_t *stream)
 
void xine_dispose (xine_stream_t *stream)
 
void xine_exit (xine_t *this)
 
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, int flags)
 
void xine_init (xine_t *this)
 
void _x_select_spu_channel (xine_stream_t *stream, int channel)
 
static int get_current_position (xine_stream_t *stream)
 
void _x_get_current_info (xine_stream_t *stream, extra_info_t *extra_info, int size)
 
int xine_get_status (xine_stream_t *stream)
 
void _x_set_fine_speed (xine_stream_t *stream, 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)
 
static int get_stream_length (xine_stream_t *stream)
 
int xine_get_pos_length (xine_stream_t *stream, 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)
 
int xine_get_spu_lang (xine_stream_t *stream, int channel, char *lang)
 
int xine_get_audio_lang (xine_stream_t *stream, int channel, char *lang)
 
int _x_get_spu_channel (xine_stream_t *stream)
 
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_t *this, int buf)
 
void xine_log (xine_t *this, int buf, const char *format,...)
 
void xine_vlog (xine_t *this, 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, xine_log_cb_t cb, void *user_data)
 
int xine_get_error (xine_stream_t *stream)
 
int xine_stream_master_slave (xine_stream_t *master, 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, int ms_timeout)
 
void _x_unlock_port_rewiring (xine_t *xine)
 
int _x_lock_frontend (xine_stream_t *stream, int ms_to_time_out)
 
void _x_unlock_frontend (xine_stream_t *stream)
 
int _x_query_unprocessed_osd_events (xine_stream_t *stream)
 
int _x_demux_seek (xine_stream_t *stream, off_t start_pos, int start_time, int playing)
 
int _x_continue_stream_processing (xine_stream_t *stream)
 
void _x_trigger_relaxed_frame_drop_mode (xine_stream_t *stream)
 
void _x_reset_relaxed_frame_drop_mode (xine_stream_t *stream)
 
int xine_keyframes_find (xine_stream_t *stream, xine_keyframes_entry_t *pos, int offs)
 Query stream keyframe seek index. More...
 
int _x_keyframes_add (xine_stream_t *stream, xine_keyframes_entry_t *pos)
 Register a stream keyframe to seek index. More...
 
xine_keyframes_entry_txine_keyframes_get (xine_stream_t *stream, int *size)
 Get a private stream keyframe seek index copy, free () it when done. More...
 
int _x_keyframes_set (xine_stream_t *stream, xine_keyframes_entry_t *list, int size)
 Register a list of stream keyframes. More...
 

Variables

static const uint8_t tab_parse [256]
 

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

◆ METRONOM_INTERNAL

#define METRONOM_INTERNAL

◆ RATIO_LIKE

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

◆ XINE_ENABLE_EXPERIMENTAL_FEATURES

#define XINE_ENABLE_EXPERIMENTAL_FEATURES

Function Documentation

◆ _x_continue_stream_processing()

int _x_continue_stream_processing ( xine_stream_t stream)

◆ _x_demux_seek()

int _x_demux_seek ( xine_stream_t stream,
off_t  start_pos,
int  start_time,
int  playing 
)

Referenced by vdr_execute_rpc_command().

◆ _x_extra_info_merge()

void _x_extra_info_merge ( extra_info_t dst,
extra_info_t src 
)

◆ _x_extra_info_reset()

void _x_extra_info_reset ( extra_info_t extra_info)

◆ _x_flush_events_queues()

void _x_flush_events_queues ( xine_stream_t stream)

◆ _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 stream,
extra_info_t extra_info,
int  size 
)

Referenced by spudec_decode_data().

◆ _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_handle_stream_end()

void _x_handle_stream_end ( xine_stream_t stream,
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, KF_SIZE, xine_keyframes_entry_t::msecs, 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 KF_MASK, NULL, 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 stream,
int  ms_to_time_out 
)

References lock_timeout().

Referenced by vdr_rpc_thread_loop().

◆ _x_lock_port_rewiring()

int _x_lock_port_rewiring ( xine_t xine,
int  ms_timeout 
)

Referenced by vdr_rpc_thread_loop().

◆ _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_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 stream)

Referenced by vdr_execute_rpc_command().

◆ _x_select_spu_channel()

void _x_select_spu_channel ( xine_stream_t stream,
int  channel 
)

◆ _x_set_fine_speed()

void _x_set_fine_speed ( xine_stream_t stream,
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 stream)

Referenced by vdr_execute_rpc_command().

◆ _x_unlock_frontend()

void _x_unlock_frontend ( xine_stream_t stream)

Referenced by vdr_rpc_thread_loop().

◆ _x_unlock_port_rewiring()

void _x_unlock_port_rewiring ( xine_t xine)

Referenced by vdr_rpc_thread_loop().

◆ check_log_alloc()

static void check_log_alloc ( xine_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_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

◆ get_current_position()

static int get_current_position ( xine_stream_t stream)
static

◆ get_stream_length()

static int get_stream_length ( xine_stream_t stream)
static

Referenced by xine_get_pos_length().

◆ lock_timeout()

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

References NULL.

Referenced by _x_lock_frontend(), and ticket_lock_port_rewiring().

◆ mutex_cleanup()

static void mutex_cleanup ( void *  mutex)
static

◆ open_internal()

static int open_internal ( xine_stream_t stream,
const char *  mrl 
)
static

References _, _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_meta_info_set_utf8(), _x_mrl_unescape(), _x_path_looks_like_mrl(), _x_rip_plugin_get_instance(), _x_stream_info_set(), BUF_FLAG_END_STREAM, close_internal(), xine_s::config, DEMUX_FINISHED, DEMUX_OK, input_class_s::description, dgettext, input_class_s::eject_media, input_plugin_s::get_capabilities, input_plugin_s::get_optional_data, input_class_s::identifier, INPUT_CAP_NO_CACHE, input_plugin_s::input_class, INPUT_OPTIONAL_DATA_DEMUXER, xine_stream_s::input_plugin, key, lprintf, xine_stream_s::master, name, NULL, input_plugin_s::open, xine_stream_s::slave, tab_parse, input_class_s::text_domain, 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_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_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, and xprintf.

Referenced by xine_open().

◆ play_internal()

static int play_internal ( xine_stream_t stream,
int  start_pos,
int  start_time 
)
static

◆ set_speed_internal()

static void set_speed_internal ( xine_stream_t stream,
int  speed 
)
static

◆ stop_internal()

static void stop_internal ( xine_stream_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 this,
int  irrevocable 
)
static

References ticket_acquire_internal().

Referenced by ticket_init().

◆ ticket_acquire_internal()

static int ticket_acquire_internal ( xine_ticket_t this,
int  irrevocable,
int  nonblocking 
)
static

◆ ticket_acquire_nonblocking()

static int ticket_acquire_nonblocking ( xine_ticket_t this,
int  irrevocable 
)
static

References ticket_acquire_internal().

Referenced by ticket_init().

◆ ticket_dispose()

static void ticket_dispose ( xine_ticket_t this)
static

Referenced by ticket_init().

◆ ticket_init()

static xine_ticket_t* ticket_init ( void  )
static

◆ ticket_issue()

static void ticket_issue ( xine_ticket_t this,
int  atomic 
)
static

Referenced by ticket_init().

◆ ticket_lock_port_rewiring()

static int ticket_lock_port_rewiring ( xine_ticket_t this,
int  ms_timeout 
)
static

References lock_timeout().

Referenced by ticket_init().

◆ ticket_release()

static void ticket_release ( xine_ticket_t this,
int  irrevocable 
)
static

References ticket_release_internal().

Referenced by ticket_init().

◆ ticket_release_internal()

static void ticket_release_internal ( xine_ticket_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 this,
int  irrevocable 
)
static

References ticket_release_internal().

Referenced by ticket_init().

◆ ticket_renew()

static void ticket_renew ( xine_ticket_t this,
int  irrevocable 
)
static

References _x_assert.

Referenced by ticket_init().

◆ ticket_revoke()

static void ticket_revoke ( xine_ticket_t this,
int  atomic 
)
static

Referenced by ticket_init().

◆ ticket_unlock_port_rewiring()

static void ticket_unlock_port_rewiring ( xine_ticket_t this)
static

Referenced by ticket_init().

◆ wait_first_frame()

static void wait_first_frame ( xine_stream_t stream)
static

References NULL.

Referenced by play_internal().

◆ xine_close()

void xine_close ( xine_stream_t stream)

◆ xine_dispose()

void xine_dispose ( xine_stream_t stream)

◆ xine_dispose_internal()

static void xine_dispose_internal ( xine_stream_t stream)
static

◆ xine_eject()

int xine_eject ( xine_stream_t stream)

◆ 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)

◆ xine_get_audio_lang()

int xine_get_audio_lang ( xine_stream_t stream,
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 stream)

◆ 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 stream,
int *  pos_stream,
int *  pos_time,
int *  length_time 
)

◆ xine_get_spu_lang()

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

◆ xine_get_status()

int xine_get_status ( xine_stream_t stream)

◆ xine_init()

void xine_init ( xine_t this)

◆ 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_keyframes_entry_t::msecs, xine_keyframes_entry_t::normpos, 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 NULL, and XINE_ANON_STREAM.

◆ xine_log()

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

◆ 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 stream,
const char *  mrl 
)

◆ xine_play()

int xine_play ( xine_stream_t stream,
int  start_pos,
int  start_time 
)

◆ xine_register_log_cb()

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

References user_data().

◆ xine_set_flags()

void xine_set_flags ( xine_t this,
int  flags 
)

◆ xine_stop()

void xine_stop ( xine_stream_t stream)

◆ xine_stream_master_slave()

int xine_stream_master_slave ( xine_stream_t master,
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 
)

◆ xine_vlog()

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

References check_log_alloc().

Referenced by XINE_FORMAT_PRINTF().

Variable Documentation

◆ 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(), and open_internal().