xine-lib: xine-lib-1.2.13/src/xine-engine/xine.c File Reference

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_t * | ticket_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_t * | xine_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_t * | xine_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_t * | xine_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_t * | xine_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_t * | xine_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

Referenced by _x_mrl_unescape().

## ◆ POST_INTERNAL

#define POST_INTERNAL

## ◆ RATIO_LIKE

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

Referenced by _x_get_current_frame_data().

## ◆ XINE_ENABLE_EXPERIMENTAL_FEATURES

#define XINE_ENABLE_EXPERIMENTAL_FEATURES

## ◆ XINE_TICKET_FLAG_PAUSE

#define XINE_TICKET_FLAG_PAUSE (int)0x40000000

Referenced by set_speed_internal(), ticket_issue(), and ticket_revoke().

## ◆ XINE_TICKET_MAX_CB

#define XINE_TICKET_MAX_CB 15

Referenced by ticket_init(), ticket_revoke(), and ticket_revoke_cb_register().

## Enumeration Type Documentation

## ◆ _xine_arg_type_t

enum _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

References xine_stream_private_st::demux, DEMUX_CAP_AUDIOLANG, DEMUX_OPTIONAL_DATA_AUDIOLANG, DEMUX_OPTIONAL_SUCCESS, demux_plugin_s::get_capabilities, input_plugin_s::get_capabilities, demux_plugin_s::get_optional_data, input_plugin_s::get_optional_data, INPUT_CAP_AUDIOLANG, INPUT_OPTIONAL_DATA_AUDIOLANG, INPUT_OPTIONAL_SUCCESS, xine_stream_s::input_plugin, xine_stream_private_st::plugin, and xine_stream_private_st::s.

Referenced by xine_get_audio_lang().

## ◆ _get_spu_lang()

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

References xine_stream_private_st::demux, DEMUX_CAP_SPULANG, DEMUX_OPTIONAL_DATA_SPULANG, DEMUX_OPTIONAL_SUCCESS, demux_plugin_s::get_capabilities, input_plugin_s::get_capabilities, demux_plugin_s::get_optional_data, input_plugin_s::get_optional_data, INPUT_CAP_SPULANG, INPUT_OPTIONAL_DATA_SPULANG, INPUT_OPTIONAL_SUCCESS, xine_stream_s::input_plugin, xine_stream_private_st::plugin, and xine_stream_private_st::s.

Referenced by xine_get_spu_lang().

## ◆ _x_continue_stream_processing()

int _x_continue_stream_processing | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::side_streams, xine_stream_private_st::status, XINE_STATUS_QUIT, and XINE_STATUS_STOP.

Referenced by vdr_audio_port_put_buffer(), vdr_main_read(), and vdr_video_draw().

## ◆ _x_extra_info_merge()

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

References extra_info_s::frame_number, extra_info_s::input_normpos, extra_info_s::input_time, extra_info_s::invalid, extra_info_s::seek_count, and extra_info_s::vpts.

Referenced by _x_post_frame_copy_down(), _x_post_frame_copy_up(), _x_post_frame_u_turn(), ao_put_buffer(), audio_decoder_loop(), deinterlace_build_output_field(), stretch_process_fragment(), upmix_mono_port_put_buffer(), upmix_port_put_buffer(), vdr_audio_port_put_buffer(), video_decoder_loop(), and vo_set_img_ei().

## ◆ _x_extra_info_reset()

void _x_extra_info_reset | ( | extra_info_t * | extra_info | ) |

Referenced by _buffer_pool_size_alloc(), ao_get_buffer(), audio_decoder_loop(), buffer_pool_alloc(), buffer_pool_try_alloc(), duplicate_frame(), open_internal(), video_decoder_loop(), and vo_get_frame().

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

References xine_ticket_s::acquire, vo_frame_s::base, vo_frame_s::crop_bottom, xine_current_frame_data_s::crop_bottom, vo_frame_s::crop_left, xine_current_frame_data_s::crop_left, vo_frame_s::crop_right, xine_current_frame_data_s::crop_right, vo_frame_s::crop_top, xine_current_frame_data_s::crop_top, vo_frame_s::format, xine_current_frame_data_s::format, vo_frame_s::free, xine_video_port_s::get_last_frame, vo_frame_s::height, xine_current_frame_data_s::height, xine_current_frame_data_s::img, xine_current_frame_data_s::img_size, xine_current_frame_data_s::interlaced, vo_frame_s::pitches, xine_private_t::port_ticket, vo_frame_s::proc_provide_standard_frame_data, vo_frame_s::progressive_frame, vo_frame_s::ratio, xine_current_frame_data_s::ratio_code, RATIO_LIKE, xine_ticket_s::release, xine_stream_private_st::s, xine_stream_private_st::side_streams, vo_frame_s::top_field_first, xine_stream_s::video_out, vo_frame_s::width, xine_current_frame_data_s::width, xine_stream_s::xine, XINE_FRAME_DATA_ALLOCATE_IMG, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, XINE_VERBOSITY_DEBUG, XINE_VO_ASPECT_4_3, XINE_VO_ASPECT_ANAMORPHIC, XINE_VO_ASPECT_DVB, XINE_VO_ASPECT_SQUARE, xprintf, yuy2_to_yuy2(), and yv12_to_yv12().

Referenced by xine_get_current_frame(), xine_get_current_frame_alloc(), xine_get_current_frame_data(), and xine_get_current_frame_s().

## ◆ _x_get_current_info()

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

References xine_stream_private_st::side_streams, and xine_current_extra_info_get().

Referenced by spudec_decode_data().

## ◆ _x_get_fine_speed()

int _x_get_fine_speed | ( | xine_stream_t * | stream | ) |

References xine_s::clock, metronom_clock_s::speed, and xine_stream_s::xine.

Referenced by _x_get_speed(), dvbspeed_put(), handle_libbluray_event(), open_internal(), play_internal(), xine_get_param(), xine_nbc_init(), and xine_set_param().

## ◆ _x_get_speed()

int _x_get_speed | ( | xine_stream_t * | stream | ) |

References _x_get_fine_speed(), XINE_FINE_SPEED_NORMAL, XINE_SPEED_FAST_2, XINE_SPEED_FAST_4, XINE_SPEED_NORMAL, XINE_SPEED_PAUSE, XINE_SPEED_SLOW_2, and XINE_SPEED_SLOW_4.

Referenced by pvr_event_handler(), pvr_plugin_read_block(), v4l_plugin_read_block(), and xine_get_param().

## ◆ _x_get_spu_channel()

int _x_get_spu_channel | ( | xine_stream_t * | stream | ) |

References xine_stream_private_st::s, xine_stream_private_st::side_streams, and xine_stream_s::spu_channel_user.

Referenced by vcd_get_optional_data().

## ◆ _x_get_video_streamtype()

int _x_get_video_streamtype | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::side_streams, and xine_stream_private_st::video_decoder_streamtype.

Referenced by ff_video_open_plugin(), open_plugin(), and open_plugin().

## ◆ _x_handle_stream_end()

void _x_handle_stream_end | ( | xine_stream_t * | s,
|  | int | non_user )

References xine_stream_private_st::finished_naturally, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_private_st::status, xine_event_send(), XINE_EVENT_UI_PLAYBACK_FINISHED, XINE_STATUS_QUIT, and XINE_STATUS_STOP.

Referenced by demux_loop().

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

  stream | The stream that index is for.
  pos | The 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

  stream | The stream that index is for.
  list | The array of entries to add.
  size | The 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 )

References xine_stream_private_st::frontend_lock, lock_timeout(), and xine_stream_private_st::side_streams.

Referenced by vdr_rpc_thread_loop().

## ◆ _x_lock_port_rewiring()

int _x_lock_port_rewiring | ( | xine_t * | xine_gen,
|  | int | ms_timeout )

References xine_private_t::port_ticket.

Referenced by nbc_delay_unpause(), nbc_get_cb(), nbc_put_cb(), queue_black_frame(), test_make(), and vdr_rpc_thread_loop().

## ◆ _x_mrl_remove_auth()

char * _x_mrl_remove_auth | ( | const char * | mrl_in | ) |

Referenced by _get_instance(), _get_instance(), input_avformat_get_instance(), and input_avio_get_instance().

## ◆ _x_mrl_unescape()

void _x_mrl_unescape | ( | char * | mrl | ) |

References nn, tab_unhex, and z.

Referenced by dvd_parse_mrl(), file_input_decode_uri(), mms_connect(), open_internal(), parse_mrl(), vcd_parse_mrl(), vdr_plugin_open_fifo_mrl(), and vdr_plugin_open_sockets().

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

References AO_PROP_BUFS_IN_FIFO, xine_stream_s::audio_fifo, xine_stream_s::audio_out, xine_audio_port_s::get_property, xine_video_port_s::get_property, xine_private_t::port_ticket, xine_stream_private_st::s, xine_stream_private_st::side_streams, fifo_buffer_s::size, xine_stream_s::video_fifo, xine_stream_s::video_out, VO_PROP_BUFS_IN_FIFO, and xine_stream_s::xine.

Referenced by fifos_wait(), vdr_execute_rpc_command(), vdr_video_draw(), and xxmc_display_frame().

## ◆ _x_query_buffers()

int _x_query_buffers | ( | xine_stream_t * | stream,
|  | xine_query_buffers_t * | query )

References _x_query_buffers_fix_data(), xine_query_buffers_t::ai, xine_query_buffers_t::ao, AO_PROP_BUFS_FREE, AO_PROP_BUFS_IN_FIFO, AO_PROP_BUFS_TOTAL, xine_stream_s::audio_fifo, xine_stream_s::audio_out, xine_query_buffers_data_t::avail, fifo_buffer_s::buffer_pool_capacity, xine_audio_port_s::get_property, xine_video_port_s::get_property, fifo_buffer_s::num_free, xine_private_t::port_ticket, xine_query_buffers_data_t::ready, xine_stream_private_st::s, xine_stream_private_st::side_streams, fifo_buffer_s::size, xine_query_buffers_data_t::total, xine_query_buffers_t::vi, xine_stream_s::video_fifo, xine_stream_s::video_out, xine_query_buffers_t::vo, VO_PROP_BUFS_FREE, VO_PROP_BUFS_IN_FIFO, VO_PROP_BUFS_TOTAL, and xine_stream_s::xine.

## ◆ _x_query_buffers_fix_data()

static void _x_query_buffers_fix_data | ( | xine_query_buffers_data_t * | data | ) |
| static

References xine_query_buffers_data_t::avail, xine_query_buffers_data_t::ready, and xine_query_buffers_data_t::total.

Referenced by _x_query_buffers().

## ◆ _x_query_network_timeout()

int _x_query_network_timeout | ( | xine_t * | xine_gen | ) |

References xine_private_t::network_timeout.

Referenced by _gnutls_handshake(), _gnutls_part_read(), _gnutls_read(), _gnutls_shutdown(), _gnutls_write(), http_plugin_handshake(), and stdin_plugin_wait().

## ◆ _x_query_unprocessed_osd_events()

int _x_query_unprocessed_osd_events | ( | xine_stream_t * | stream | ) |

References xine_video_port_s::get_overlay_manager, xine_private_t::port_ticket, video_overlay_manager_s::redraw_needed, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_video_port_s::trigger_drawing, xine_stream_s::video_out, and xine_stream_s::xine.

Referenced by vdr_execute_rpc_command().

## ◆ _x_reset_relaxed_frame_drop_mode()

void _x_reset_relaxed_frame_drop_mode | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::first_frame, xine_stream_private_st::flag, xine_stream_private_st::lock, and xine_stream_private_st::side_streams.

Referenced by vdr_execute_rpc_command().

## ◆ _x_select_spu_channel()

void _x_select_spu_channel | ( | xine_stream_t * | s,
|  | int | channel )

References xine_ticket_s::acquire, xine_stream_private_st::frontend_lock, lprintf, NULL, xine_private_t::port_ticket, xine_ticket_s::release, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_s::slave, xine_stream_s::spu_channel, xine_stream_s::spu_channel_auto, xine_stream_s::spu_channel_user, and xine_stream_s::xine.

Referenced by get_overlay(), xine_set_param(), and xine_stream_master_slave().

## ◆ _x_set_fine_speed()

void _x_set_fine_speed | ( | xine_stream_t * | s,
|  | int | speed )

References xine_stream_private_st::s, set_speed_internal(), xine_stream_private_st::side_streams, xine_stream_s::slave, xine_stream_private_st::slave_affection, xine_private_t::speed_change_done, xine_private_t::speed_change_flags, xine_private_t::speed_change_lock, xine_private_t::speed_change_new_live, xine_private_t::speed_change_new_speed, SPEED_FLAG_CHANGING, SPEED_FLAG_IGNORE_CHANGE, SPEED_FLAG_WANT_LIVE, SPEED_FLAG_WANT_NEW, xine_private_t::x, xine_stream_s::xine, XINE_LIVE_PAUSE_OFF, XINE_LIVE_PAUSE_ON, XINE_MASTER_SLAVE_SPEED, XINE_SPEED_PAUSE, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by _x_set_speed(), handle_libbluray_event(), nbc_set_speed(), and xine_set_param().

## ◆ _x_set_speed()

void _x_set_speed | ( | xine_stream_t * | stream,
|  | int | speed )

References _x_set_fine_speed(), XINE_FINE_SPEED_NORMAL, XINE_SPEED_FAST_4, and XINE_SPEED_NORMAL.

Referenced by pvr_adjust_realtime_speed(), pvr_event_handler(), pvr_play_file(), v4l_adjust_realtime_speed(), and xine_set_param().

## ◆ _x_trigger_relaxed_frame_drop_mode()

void _x_trigger_relaxed_frame_drop_mode | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::first_frame, xine_stream_private_st::flag, xine_stream_private_st::lock, and xine_stream_private_st::side_streams.

Referenced by vdr_execute_rpc_command().

## ◆ _x_unlock_frontend()

void _x_unlock_frontend | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::frontend_lock, and xine_stream_private_st::side_streams.

Referenced by vdr_rpc_thread_loop().

## ◆ _x_unlock_port_rewiring()

void _x_unlock_port_rewiring | ( | xine_t * | xine_gen | ) |

References xine_private_t::port_ticket.

Referenced by nbc_delay_unpause(), nbc_get_cb(), nbc_put_cb(), queue_black_frame(), test_make(), and vdr_rpc_thread_loop().

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

References _x_freep(), _xine_args_t::args, _xine_args_t::have, and _xine_args_t::used.

Referenced by open_internal().

## ◆ _xine_parse_args()

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

References _X_ARG_CONFIG, _xine_arg_keys, _xine_args_t::args, _xine_args_t::have, _xine_arg_t::key, _xine_args_t::known, name, NULL, tab_parse, tab_tolower, _xine_arg_t::type, _xine_args_t::used, and _xine_arg_t::value.

Referenced by open_internal().

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

References _x_free_demux_plugin(), _x_free_input_plugin(), _x_keyframes_set(), xine_ticket_s::acquire, AO_PROP_DISCARD_BUFFERS, xine_stream_s::audio_out, xine_stream_private_st::audio_track_map_entries, xine_stream_private_st::demux, xine_stream_private_st::finished_naturally, xine_stream_private_st::gapless_switch, xine_stream_private_st::id3v2_tag_size, xine_stream_private_st::info_lock, xine_stream_s::input_plugin, lock_run(), xine_stream_private_st::meta_info, xine_stream_private_st::meta_info_public, xine_stream_private_st::meta_lock, NULL, xine_stream_private_st::plugin, xine_private_t::port_ticket, xine_ticket_s::release, xine_stream_private_st::s, xine_audio_port_s::set_property, xine_video_port_s::set_property, xine_stream_private_st::side_streams, xine_stream_s::slave, xine_stream_private_st::slave_is_subtitle, xine_stream_private_st::spu_track_map_entries, stop_internal(), xine_stream_private_st::stream_info, unlock_run(), xine_stream_s::video_out, VO_PROP_DISCARD_FRAMES, xine_stream_s::xine, xine_close(), xine_dispose(), XINE_NUM_SIDE_STREAMS, xine_rwlock_unlock, xine_rwlock_wrlock, and XINE_STREAM_INFO_MAX.

Referenced by open_internal(), and xine_close().

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

References _, _x_message(), NULL, xine_cfg_entry_s::str_value, xine_get_homedir(), xine_list_next_value(), xine_log(), XINE_LOG_MSG, and XINE_MSG_SECURITY.

Referenced by xine_init().

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

References xine_s::clock, xine_stream_private_st::s, set_speed_internal(), metronom_clock_s::speed, xine_private_t::speed_change_done, xine_private_t::speed_change_flags, xine_private_t::speed_change_lock, xine_private_t::speed_change_new_speed, SPEED_FLAG_CHANGING, SPEED_FLAG_IGNORE_CHANGE, SPEED_FLAG_WANT_NEW, xine_private_t::x, xine_stream_s::xine, XINE_FINE_SPEED_NORMAL, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by close_internal(), play_internal(), and xine_stop().

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

Referenced by xine_close(), xine_eject(), xine_open(), xine_play(), and xine_stop().

## ◆ 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, _xine_arg_t::key, 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

References xine_ticket_s::acquire, AO_PROP_CLOCK_SPEED, xine_stream_s::audio_out, xine_s::clock, mode(), xine_private_t::port_ticket, xine_ticket_s::release, xine_stream_private_st::s, xine_audio_port_s::set_property, metronom_clock_s::speed, xine_private_t::x, xine_stream_s::xine, XINE_LIVE_PAUSE_OFF, XINE_LIVE_PAUSE_ON, XINE_SPEED_PAUSE, and XINE_TICKET_FLAG_PAUSE.

Referenced by _x_set_fine_speed(), lock_run(), open_internal(), play_internal(), stop_internal(), stream_rewire_audio(), and stream_rewire_video().

## ◆ stop_internal()

static void stop_internal | ( | xine_stream_private_t * | stream | ) |
| static

References _x_demux_control_end(), _x_demux_stop_thread(), xine_stream_private_st::demux, lprintf, xine_stream_private_st::plugin, xine_stream_private_st::s, set_speed_internal(), xine_stream_private_st::side_streams, xine_stream_private_st::start_buffers_sent, xine_stream_private_st::status, xine_stream_private_st::thread_created, XINE_FINE_SPEED_NORMAL, XINE_NUM_SIDE_STREAMS, XINE_STATUS_IDLE, XINE_STATUS_QUIT, and XINE_STATUS_STOP.

Referenced by close_internal(), and xine_stop().

## ◆ stream_rewire_audio()

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

References _x_post_audio_port_ref(), _x_post_audio_port_unref(), xine_stream_s::audio_out, bits, xine_post_out_s::data, mode(), xine_audio_port_s::open, xine_private_t::port_ticket, xine_stream_private_st::s, set_speed_internal(), xine_stream_private_st::side_streams, xine_stream_s::xine, and XINE_LIVE_PAUSE_OFF.

Referenced by xine_get_side_stream(), and xine_stream_new().

## ◆ stream_rewire_video()

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

References _x_post_video_port_ref(), _x_post_video_port_unref(), xine_post_out_s::data, height, xine_video_port_s::open, xine_private_t::port_ticket, xine_stream_private_st::s, set_speed_internal(), xine_stream_private_st::side_streams, xine_stream_s::video_out, width, xine_stream_s::xine, and XINE_LIVE_PAUSE_OFF.

Referenced by xine_get_side_stream(), and xine_stream_new().

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

Referenced by ticket_acquire(), and ticket_acquire_nonblocking().

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

References xine_ticket_s::acquire, xine_ticket_private_t::atomic_revokers, xine_ticket_private_t::count, xine_ticket_private_t::holder_thread_count, xine_ticket_private_t::holder_threads, xine_ticket_private_t::irrevocable_tickets, xine_ticket_private_t::issued, xine_ticket_private_t::lock, NULL, xine_ticket_private_t::pause_revoked, xine_ticket_private_t::plain_renewers, xine_ticket_private_t::port_rewiring_lock, xine_ticket_s::release, xine_ticket_s::renew, xine_ticket_private_t::revoke_callbacks, xine_ticket_private_t::revoke_cb_data, xine_ticket_private_t::revoked, xine_ticket_private_t::rewirers, xine_ticket_private_t::t, ticket_acquire(), ticket_acquire_nonblocking(), ticket_dispose(), ticket_issue(), ticket_lock_port_rewiring(), ticket_release(), ticket_release_nonblocking(), ticket_renew(), ticket_revoke(), ticket_revoke_cb_register(), ticket_revoke_cb_unregister(), xine_ticket_s::ticket_revoked, ticket_unlock_port_rewiring(), xine_ticket_private_t::tickets_granted, xine_rwlock_init_default, and XINE_TICKET_MAX_CB.

Referenced by xine_init().

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

References xine_gettime(), xine_rwlock_rdlock, xine_rwlock_timedrdlock, and xine_rwlock_tryrdlock.

Referenced by ticket_init().

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

References xine_rwlock_wrlock, XINE_TICKET_FLAG_PAUSE, and XINE_TICKET_MAX_CB.

Referenced by ticket_init().

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

References xine_stream_private_st::s, xine_private_t::speed_change_flags, xine_private_t::speed_change_lock, and xine_stream_s::xine.

Referenced by close_internal(), play_internal(), and xine_stop().

## ◆ video_decoder_update_disable_flush_at_discontinuity()

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

References xine_stream_private_st::disable_decoder_flush_at_discontinuity, xine_cfg_entry_s::num_value, and xine_stream_private_st::side_streams.

Referenced by xine_stream_new().

## ◆ wait_first_frame()

static void wait_first_frame | ( | xine_stream_private_t * | stream | ) |
| static

References xine_stream_private_st::audio_decoder_plugin, xine_stream_private_st::first_frame, xine_stream_private_st::flag, xine_stream_private_st::lock, xine_stream_private_st::reached, xine_stream_private_st::video_decoder_plugin, and xine_gettime().

Referenced by play_internal().

## ◆ xine_close()

void xine_close | ( | xine_stream_t * | s | ) |

References close_internal(), mutex_cleanup(), xine_stream_private_st::side_streams, XINE_STATUS_IDLE, and XINE_STATUS_QUIT.

Referenced by close_internal(), external_stream_stop(), and xine_dispose().

## ◆ xine_current_extra_info_get()

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

References xine_stream_private_st::current_extra_info, xine_stream_private_st::current_extra_info_index, xine_stream_private_st::video_seek_count, XINE_NUM_CURR_EXTRA_INFOS, and xine_refs_get().

Referenced by _x_get_current_info(), play_internal(), and xine_get_pos_length().

## ◆ xine_current_extra_info_reset()

static void xine_current_extra_info_reset | ( | xine_stream_private_t * | stream | ) |
| static

References xine_stream_private_st::current_extra_info, xine_stream_private_st::current_extra_info_index, XINE_NUM_CURR_EXTRA_INFOS, xine_refs_add(), and xine_refs_get().

Referenced by play_internal().

## ◆ xine_current_extra_info_set()

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

References xine_stream_private_st::current_extra_info, xine_stream_private_st::current_extra_info_index, extra_info_s::frame_number, extra_info_s::input_normpos, extra_info_s::input_time, extra_info_s::invalid, extra_info_s::seek_count, extra_info_s::vpts, XINE_NUM_CURR_EXTRA_INFOS, xine_refs_add(), and xine_refs_get().

Referenced by ao_loop(), ao_put_buffer(), next_frame(), overlay_and_display_frame(), vo_frame_draw(), and xine_get_pos_length().

## ◆ xine_dispose()

void xine_dispose | ( | xine_stream_t * | s | ) |

References _x_audio_decoder_shutdown(), _x_close_broadcaster(), _x_video_decoder_shutdown(), xine_stream_private_st::broadcaster, osd_renderer_s::close, xine_stream_s::master, NULL, xine_stream_s::osd_renderer, xine_stream_private_st::refs, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_s::slave, xine_stream_private_st::status, xine_stream_s::xine, xine_close(), XINE_NUM_SIDE_STREAMS, xine_refs_sub(), XINE_STATUS_QUIT, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by close_internal(), external_stream_stop(), open_internal(), and xine_exit().

## ◆ xine_dispose_internal()

static void xine_dispose_internal | ( | xine_stream_private_t * | stream | ) |
| static

References xine_stream_private_st::action_lock, xine_stream_private_st::array, xine_stream_private_st::changed, xine_s::config, xine_stream_private_st::counter, xine_stream_private_st::current_extra_info_index, xine_stream_private_st::demux, xine_stream_private_st::event, metronom_s::exit, xine_stream_private_st::first_frame, xine_stream_private_st::frontend_lock, xine_stream_private_st::index, xine_stream_private_st::info_lock, xine_stream_private_st::lock, lprintf, xine_stream_private_st::meta_lock, xine_stream_s::metronom, NULL, xine_stream_private_st::pair, xine_stream_private_st::queues, xine_stream_private_st::reached, xine_stream_private_st::resume, xine_stream_private_st::s, xine_s::streams, xine_s::streams_lock, config_values_s::unregister_callbacks, xine_stream_s::xine, xine_list_delete(), xine_list_find(), xine_list_remove(), xine_refs_get(), xine_refs_sub(), and xine_rwlock_destroy.

Referenced by xine_stream_new().

## ◆ xine_eject()

int xine_eject | ( | xine_stream_t * | s | ) |

References mutex_cleanup(), xine_stream_private_st::side_streams, and XINE_STATUS_STOP.

## ◆ xine_engine_get_param()

int xine_engine_get_param | ( | xine_t * | this,
|  | int | param )

References lprintf, and XINE_ENGINE_PARAM_VERBOSITY.

## ◆ xine_engine_set_param()

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

References lprintf, and XINE_ENGINE_PARAM_VERBOSITY.

## ◆ xine_exit()

void xine_exit | ( | xine_t * | this_gen | ) |

References _x_dispose_plugins(), NULL, xine_stream_private_st::refs, xine_stream_private_st::s, XINE_ANON_STREAM, xine_dispose(), xine_list_delete(), xine_list_next_value(), XINE_LOG_NUM, xine_refs_add(), xine_usec_sleep(), XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

## ◆ xine_get_audio_lang()

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

References _get_audio_lang(), and xine_stream_private_st::frontend_lock.

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

References _x_get_current_frame_data(), xine_current_frame_data_s::format, height, xine_current_frame_data_s::height, xine_current_frame_data_s::img, xine_current_frame_data_s::ratio_code, width, and xine_current_frame_data_s::width.

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

References _x_get_current_frame_data(), xine_current_frame_data_s::format, height, xine_current_frame_data_s::height, xine_current_frame_data_s::img, xine_current_frame_data_s::img_size, xine_current_frame_data_s::ratio_code, width, xine_current_frame_data_s::width, and XINE_FRAME_DATA_ALLOCATE_IMG.

## ◆ xine_get_current_frame_data()

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

References _x_get_current_frame_data().

Referenced by vdr_execute_rpc_command().

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

References _x_get_current_frame_data(), xine_current_frame_data_s::format, height, xine_current_frame_data_s::height, xine_current_frame_data_s::img, xine_current_frame_data_s::img_size, xine_current_frame_data_s::ratio_code, width, and xine_current_frame_data_s::width.

Referenced by vdr_execute_rpc_command().

## ◆ xine_get_error()

int xine_get_error | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::err, and xine_stream_private_st::side_streams.

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

References _, NULL, XINE_LOG_MSG, XINE_LOG_NUM, XINE_LOG_PLUGIN, and XINE_LOG_TRACE.

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

References xine_stream_private_st::audio_decoder_extra_info, xine_stream_private_st::audio_decoder_plugin, xine_stream_private_st::demux, xine_stream_private_st::frontend_lock, demux_plugin_s::get_stream_length, xine_stream_private_st::info_lock, extra_info_s::input_normpos, xine_stream_s::input_plugin, extra_info_s::input_time, lprintf, xine_stream_private_st::plugin, xine_stream_private_st::s, extra_info_s::seek_count, xine_stream_private_st::side_streams, xine_stream_private_st::stream_info, xine_stream_private_st::video_decoder_extra_info, xine_stream_private_st::video_decoder_plugin, xine_stream_private_st::video_seek_count, xine_current_extra_info_get(), xine_current_extra_info_set(), xine_rwlock_rdlock, xine_rwlock_unlock, and XINE_STREAM_INFO_HAS_VIDEO.

## ◆ xine_get_side_stream()

xine_stream_t * xine_get_side_stream | ( | xine_stream_t * | master,
|  | int | index )

References xine_stream_private_st::audio_decoder_extra_info, xine_stream_s::audio_fifo, xine_stream_s::audio_out, xine_stream_private_st::disable_decoder_flush_at_discontinuity, xine_stream_private_st::event, xine_stream_private_st::id_flag, xine_stream_private_st::info_lock, xine_stream_s::metronom, NULL, xine_stream_s::osd_renderer, xine_stream_private_st::queues, xine_stream_private_st::refs, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_s::spu_decoder_streamtype, stream_rewire_audio(), stream_rewire_video(), xine_stream_private_st::video_decoder_extra_info, xine_stream_s::video_driver, xine_stream_s::video_fifo, xine_stream_s::video_out, xine_stream_s::xine, XINE_NUM_SIDE_STREAMS, XINE_POST_DATA_AUDIO, XINE_POST_DATA_VIDEO, xine_refs_add(), xine_refs_init(), xine_rwlock_rdlock, xine_rwlock_unlock, xine_rwlock_wrlock, xine_side_dispose_internal(), XINE_STATUS_IDLE, XINE_STREAM_INFO_MAX, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by hls_get_side(), mpd_get_side(), and xine_open().

## ◆ xine_get_spu_lang()

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

References _get_spu_lang(), and xine_stream_private_st::frontend_lock.

## ◆ xine_get_status()

int xine_get_status | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::side_streams, xine_stream_private_st::status, and XINE_STATUS_QUIT.

Referenced by demux_unstick_ao_loop(), ff_audio_decode_data(), and spudec_decode_data().

## ◆ xine_init()

void xine_init | ( | xine_t * | this_gen | ) |

References _, _x_metronom_clock_init(), _x_scan_plugins(), config_demux_strategy_cb(), config_save_cb(), init_yuv_conversion(), join_av_cb(), network_timeout_cb(), NULL, ticket_init(), v, XINE_CONFIG_SECURITY, XINE_CONFIG_STRING_IS_DIRECTORY_NAME, xine_get_homedir(), xine_list_new(), xine_probe_fast_memcpy(), XINE_PROFILE, XINE_VERBOSITY_LOG, xprintf, and z.

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

  stream | The stream that index is for.
  pos | On call, the start time or normpos. On return, the found time and normpos.
  offs | 0 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

  stream | The stream that index is for.
  size | On 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 |  | ) |

References _x_config_init(), bindtextdomain, NULL, XINE_LOCALEDIR, XINE_TEXTDOMAIN, and XINE_VERBOSITY_NONE.

## ◆ xine_new_grab_video_frame()

xine_grab_video_frame_t * xine_new_grab_video_frame | ( | xine_stream_t * | stream | ) |

References xine_ticket_s::acquire, xine_video_port_s::driver, vo_driver_s::new_grab_video_frame, xine_video_port_s::new_grab_video_frame, xine_private_t::port_ticket, xine_ticket_s::release, xine_stream_private_st::s, xine_stream_private_st::side_streams, xine_stream_s::video_out, and xine_stream_s::xine.

## ◆ xine_open()

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

References _x_free_input_plugin(), xine_stream_private_st::frontend_lock, input_plugin_s::get_optional_data, input(), INPUT_OPTIONAL_DATA_SIDE, INPUT_OPTIONAL_SUCCESS, xine_stream_s::input_plugin, xine_private_t::join_av, plugin_catalog_s::lock, lprintf, mutex_cleanup(), NULL, open_internal(), xine_s::plugin_catalog, xine_stream_private_st::s, S_ISREG, xine_stream_private_st::side_streams, xine_private_t::x, xine_stream_s::xine, xine_get_side_stream(), XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by external_stream_play(), and open_internal().

## ◆ xine_play()

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

References mutex_cleanup(), play_internal(), xine_stream_private_st::side_streams, XINE_MASTER_SLAVE_PLAY, and xine_play().

Referenced by external_stream_play(), and xine_play().

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

References xine_stream_private_st::action_lock, xine_stream_private_st::array, xine_s::config, xine_stream_private_st::demux, xine_stream_private_st::index, xine_stream_private_st::info_lock, xine_stream_private_st::lock, lprintf, NULL, xine_stream_private_st::refs, xine_stream_private_st::resume, xine_stream_private_st::s, xine_stream_private_st::side_streams, config_values_s::unregister_callbacks, xine_stream_s::xine, XINE_NUM_SIDE_STREAMS, xine_refs_sub(), xine_rwlock_unlock, and xine_rwlock_wrlock.

Referenced by xine_get_side_stream().

## ◆ xine_stop()

void xine_stop | ( | xine_stream_t * | s | ) |

References xine_ticket_s::acquire, AO_PROP_DISCARD_BUFFERS, lock_run(), mutex_cleanup(), xine_private_t::port_ticket, xine_ticket_s::release, xine_stream_private_st::side_streams, stop_internal(), unlock_run(), VO_PROP_DISCARD_FRAMES, XINE_MASTER_SLAVE_STOP, and xine_stop().

Referenced by external_stream_stop(), and xine_stop().

## ◆ xine_stream_master_slave()

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

References _x_select_spu_channel(), xine_stream_s::master, xine_stream_private_st::s, xine_stream_s::slave, xine_stream_private_st::slave_affection, and xine_stream_s::spu_channel_user.

## ◆ 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
@ _X_ARG_demux
Definition xine.c:1548
_X_ARG_novideo
@ _X_ARG_novideo
Definition xine.c:1551
_X_ARG_subtitle
@ _X_ARG_subtitle
Definition xine.c:1557
_X_ARG_compression
@ _X_ARG_compression
Definition xine.c:1556
_X_ARG_rewind
@ _X_ARG_rewind
Definition xine.c:1558
_X_ARG_nocache
@ _X_ARG_nocache
Definition xine.c:1554
_X_ARG_noaudio
@ _X_ARG_noaudio
Definition xine.c:1552
_X_ARG_save
@ _X_ARG_save
Definition xine.c:1549
_X_ARG_nospu
@ _X_ARG_nospu
Definition xine.c:1553
_X_ARG_lastdemuxprobe
@ _X_ARG_lastdemuxprobe
Definition xine.c:1550
_X_ARG_volume
@ _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

_xine_arg_type_t 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_map_channels(), 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().