xine-lib  1.2.10
xine_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2000-2019 the xine project
3  *
4  * This file is part of xine, a free video player.
5  *
6  * xine is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * xine is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19  */
20 
21 #ifndef HAVE_XINE_INTERNAL_H
22 #define HAVE_XINE_INTERNAL_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /*
29  * include public part of xine header
30  */
31 
32 #include <xine.h>
33 #include <xine/tickets.h>
34 #include <xine/refcounter.h>
35 #include <xine/input_plugin.h>
36 #include <xine/demux.h>
37 #include <xine/video_out.h>
38 #include <xine/audio_out.h>
39 #include <xine/metronom.h>
40 #include <xine/osd.h>
41 #include <xine/xineintl.h>
42 #include <xine/plugin_catalog.h>
43 #include <xine/video_decoder.h>
44 #include <xine/audio_decoder.h>
45 #include <xine/spu_decoder.h>
46 #include <xine/scratch.h>
47 #include <xine/broadcaster.h>
48 #include <xine/io_helper.h>
49 #include <xine/info_helper.h>
50 #include <xine/alphablend.h>
51 
52 #define XINE_MAX_EVENT_LISTENERS 50
53 #define XINE_MAX_EVENT_TYPES 100
54 #define XINE_MAX_TICKET_HOLDER_THREADS 64
55 
56 /* used by plugin loader */
57 #define XINE_VERSION_CODE XINE_MAJOR_VERSION*10000+XINE_MINOR_VERSION*100+XINE_SUB_VERSION
58 
59 
60 /*
61  * log constants
62  */
63 
64 #define XINE_LOG_MSG 0 /* warnings, errors, ... */
65 #define XINE_LOG_PLUGIN 1
66 #define XINE_LOG_TRACE 2
67 #define XINE_LOG_NUM 3 /* # of log buffers defined */
68 
69 #define XINE_STREAM_INFO_MAX 99
70 
71 /*
72  * the "big" xine struct, holding everything together
73  */
74 
75 #ifndef XDG_BASEDIR_H
76 /* present here for internal convenience only */
77 typedef struct { void *reserved; } xdgHandle;
78 #endif
79 
80 struct xine_s {
81 
83 
85 
86  int verbosity;
87 
89  const char *save_path;
90 
91  /* log output that may be presented to the user */
93 
95  pthread_mutex_t streams_lock;
96 
98 
101 };
102 
103 /*
104  * xine event queue
105  */
106 
109  pthread_mutex_t lock;
110  pthread_cond_t new_event;
111  pthread_cond_t events_processed;
113  pthread_t *listener_thread;
114  void *user_data;
117 };
118 
119 /*
120  * xine_stream - per-stream parts of the xine engine
121  */
122 
124 
125  /* reference to xine context */
127 
128  /* metronom instance used by current stream */
130 
131  /* demuxers use input_plugin to read data */
133 
134  /* used by video decoders, may change by port rewire */
136 
137  /* demuxers send data to video decoders using this fifo */
139 
140  /* used by audio decoders, may change by port rewire */
142 
143  /* demuxers send data to audio decoders using this fifo */
145 
146  /* provide access to osd api */
148 
149  /* master/slave streams */
150  xine_stream_t *master; /* usually a pointer to itself */
152 
153  /* input_dvd uses this one. is it possible to add helper functions instead? */
155 
156  /* dxr3 use this one, should be possible to fix to use the port instead */
158 
159  /* these definitely should be made private! */
166 
167  /* current content detection method, see METHOD_BY_xxx */
169 };
170 
171 /* when explicitly noted, some functions accept an anonymous stream,
172  * which is a valid stream that does not want to be addressed. */
173 #define XINE_ANON_STREAM ((xine_stream_t *)-1)
174 
175 typedef struct
176 {
177  int total;
178  int ready;
179  int avail;
180 }
182 
183 typedef struct
184 {
189 }
191 
192 /*
193  * private function prototypes:
194  */
195 
198 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) XINE_PROTECTED;
199 int _x_lock_port_rewiring(xine_t *xine, int ms_to_time_out) XINE_PROTECTED;
201 int _x_lock_frontend(xine_stream_t *stream, int ms_to_time_out) XINE_PROTECTED;
204 int _x_demux_seek(xine_stream_t *stream, off_t start_pos, int start_time, int playing) XINE_PROTECTED;
208 
209 void _x_handle_stream_end (xine_stream_t *stream, int non_user) XINE_PROTECTED;
210 
211 /* report message to UI. usually these are async errors */
212 
213 int _x_message(xine_stream_t *stream, int type, ...) XINE_SENTINEL XINE_PROTECTED;
214 
215 /* flush the message queues */
216 
218 
219 /* extra_info operations */
221 
223 
224 void _x_get_current_info (xine_stream_t *stream, extra_info_t *extra_info, int size) XINE_PROTECTED;
225 
226 
234 
242 
243 
244 /* demuxer helper functions from demux.c */
245 
246 /*
247  * Flush audio and video buffers. It is called from demuxers on
248  * seek/stop, and may be useful when user input changes a stream and
249  * xine-lib has cached buffers that have yet to be played.
250  *
251  * warning: after clearing decoders fifos an absolute discontinuity
252  * indication must be sent. relative discontinuities are likely
253  * to cause "jumps" on metronom.
254  */
256 
257 void _x_demux_control_nop (xine_stream_t *stream, uint32_t flags) XINE_PROTECTED;
258 void _x_demux_control_newpts (xine_stream_t *stream, int64_t pts, uint32_t flags) XINE_PROTECTED;
261 void _x_demux_control_end (xine_stream_t *stream, uint32_t flags) XINE_PROTECTED;
264 int _x_demux_read_header (input_plugin_t *input, void *buffer, off_t size) XINE_PROTECTED;
265 int _x_demux_check_extension (const char *mrl, const char *extensions);
266 
267 off_t _x_read_abort (xine_stream_t *stream, int fd, char *buf, off_t todo) XINE_PROTECTED;
268 
270 
273 
274 void _x_demux_send_data(fifo_buffer_t *fifo, uint8_t *data, int size,
275  int64_t pts, uint32_t type, uint32_t decoder_flags,
276  int input_normpos, int input_time, int total_time,
277  uint32_t frame_number) XINE_PROTECTED;
278 
280  int size, int64_t pts, uint32_t type,
281  uint32_t decoder_flags, off_t input_normpos,
282  int input_time, int total_time,
283  uint32_t frame_number) XINE_USED XINE_PROTECTED;
284 
285 void _x_demux_send_mrl_reference (xine_stream_t *stream, int alternative,
286  const char *mrl, const char *title,
287  int start_time, int duration) XINE_PROTECTED;
288 
289 /*
290  * MRL escaped-character decoding (overwrites the source string)
291  */
292 void _x_mrl_unescape(char *mrl) XINE_PROTECTED;
293 
294 /*
295  * Return a copy of mrl without authentication credentials
296  */
297 char *_x_mrl_remove_auth(const char *mrl) XINE_PROTECTED;
298 
299 /*
300  * plugin_loader functions
301  *
302  */
303 
304 /* allow input plugins to use other input plugins */
307 
308 /* on-demand loading of generic modules / sub-plugins */
309 struct xine_module_s; /* xine_module.h */
310 struct xine_module_s *_x_find_module(xine_t *xine, const char *type, const char *id, unsigned sub_type, const void *params) XINE_PROTECTED;
311 void _x_free_module(xine_t *xine, struct xine_module_s **pmodule) XINE_PROTECTED;
312 
313 /* on-demand loading of audio/video/spu decoder plugins */
314 
315 video_decoder_t *_x_get_video_decoder (xine_stream_t *stream, uint8_t stream_type) XINE_PROTECTED;
317 audio_decoder_t *_x_get_audio_decoder (xine_stream_t *stream, uint8_t stream_type) XINE_PROTECTED;
319 spu_decoder_t *_x_get_spu_decoder (xine_stream_t *stream, uint8_t stream_type) XINE_PROTECTED;
321 /* check for decoder availability - but don't try to initialize it */
322 int _x_decoder_available (xine_t *xine, uint32_t buftype) XINE_PROTECTED;
323 
324 /* on-demand loading of demux plugins */
328 
329 /*
330  * load_video_output_plugin
331  *
332  * load a specific video output plugin
333  */
334 
336  const char *id, int visual_type,
337  const void *visual) XINE_PROTECTED;
338 
339 /*
340  * audio output plugin dynamic loading stuff
341  */
342 
343 /*
344  * load_audio_output_plugin
345  *
346  * load a specific audio output plugin
347  */
348 
350 
351 
352 void _x_set_speed (xine_stream_t *stream, int speed) XINE_PROTECTED;
353 
355 
356 void _x_set_fine_speed (xine_stream_t *stream, int speed) XINE_PROTECTED;
357 
359 
360 void _x_select_spu_channel (xine_stream_t *stream, int channel) XINE_PROTECTED;
361 
363 
365 
367 
368 /*
369  * internal events
370  */
371 
372 /* sent by dvb frontend to inform ts demuxer of new pids */
373 #define XINE_EVENT_PIDS_CHANGE 0x80000000
374 /* sent by BluRay input plugin to inform ts demuxer about end of clip */
375 #define XINE_EVENT_END_OF_CLIP 0x80000001
376 
377 /*
378  * pids change event - inform ts demuxer of new pids
379  */
380 typedef struct {
381  int vpid; /* video program id */
382  int apid; /* audio program id */
384 
385 #ifdef __cplusplus
386 }
387 #endif
388 
389 #endif
390 
xine_s
Definition: xine_internal.h:80
_x_action_pending
int _x_action_pending(xine_stream_t *stream)
Definition: demux.c:760
_x_keyframes_add
int _x_keyframes_add(xine_stream_t *stream, xine_keyframes_entry_t *pos)
Register a stream keyframe to seek index.
Definition: xine.c:3651
xine_stream_s::xine
xine_t * xine
Definition: xine_internal.h:126
_x_load_audio_output_plugin
ao_driver_t * _x_load_audio_output_plugin(xine_t *self, const char *id)
Definition: load_plugins.c:2442
video_decoder_s
Definition: video_decoder.h:73
xine_stream_s
Definition: xine_internal.h:123
xine_event_queue_s::new_event
pthread_cond_t new_event
Definition: xine_internal.h:110
metronom_clock_s
Definition: metronom.h:199
_x_load_video_output_plugin
vo_driver_t * _x_load_video_output_plugin(xine_t *this_gen, const char *id, int visual_type, const void *visual)
Definition: load_plugins.c:2279
_x_find_module
struct xine_module_s * _x_find_module(xine_t *xine, const char *type, const char *id, unsigned sub_type, const void *params)
Definition: load_plugins.c:1769
_x_demux_send_mrl_reference
void _x_demux_send_mrl_reference(xine_stream_t *stream, int alternative, const char *mrl, const char *title, int start_time, int duration)
Definition: demux.c:901
_x_find_input_plugin
input_plugin_t * _x_find_input_plugin(xine_stream_t *stream, const char *mrl)
Definition: load_plugins.c:1828
xine_pids_data_t
Definition: xine_internal.h:380
xine_module_s
Definition: xine_module.h:62
_x_continue_stream_processing
int _x_continue_stream_processing(xine_stream_t *stream)
Definition: xine.c:3560
scratch.h
xine_stream_s::video_driver
vo_driver_t * video_driver
Definition: xine_internal.h:157
_x_get_spu_decoder
spu_decoder_t * _x_get_spu_decoder(xine_stream_t *stream, uint8_t stream_type)
Definition: load_plugins.c:2910
audio_decoder_s
Definition: audio_decoder.h:73
xine_stream_s::spu_decoder_streamtype
int spu_decoder_streamtype
Definition: xine_internal.h:161
xine_query_buffers_data_t
Definition: xine_internal.h:175
xine_event_queue_s::listener_thread
pthread_t * listener_thread
Definition: xine_internal.h:113
xine_s::log_buffers
scratch_buffer_t * log_buffers[3]
Definition: xine_internal.h:92
xine_s::clock
metronom_clock_t * clock
Definition: xine_internal.h:97
_x_demux_control_end
void _x_demux_control_end(xine_stream_t *stream, uint32_t flags)
Definition: demux.c:295
_x_demux_seek
int _x_demux_seek(xine_stream_t *stream, off_t start_pos, int start_time, int playing)
Definition: demux.c:948
info_helper.h
_x_demux_control_headers_done
void _x_demux_control_headers_done(xine_stream_t *stream)
Definition: demux.c:184
xine_stream_s::osd_renderer
osd_renderer_t * osd_renderer
Definition: xine_internal.h:147
osd.h
_x_query_buffers
int _x_query_buffers(xine_stream_t *stream, xine_query_buffers_t *query)
Definition: xine.c:3458
_x_set_speed
void _x_set_speed(xine_stream_t *stream, int speed)
Definition: xine.c:2897
video_decoder.h
_x_free_demux_plugin
void _x_free_demux_plugin(xine_stream_t *stream, demux_plugin_t **demux)
Definition: load_plugins.c:2142
_x_handle_stream_end
void _x_handle_stream_end(xine_stream_t *stream, int non_user)
Definition: xine.c:93
xine_stream_s::master
xine_stream_t * master
Definition: xine_internal.h:150
spu_decoder_s
Definition: spu_decoder.h:74
io_helper.h
xine_query_buffers_t::ai
xine_query_buffers_data_t ai
Definition: xine_internal.h:186
_x_unlock_port_rewiring
void _x_unlock_port_rewiring(xine_t *xine)
Definition: xine.c:3517
xine_video_port_s
Definition: video_out.h:176
_x_demux_control_newpts
void _x_demux_control_newpts(xine_stream_t *stream, int64_t pts, uint32_t flags)
Definition: demux.c:126
xine_s::streams_lock
pthread_mutex_t streams_lock
Definition: xine_internal.h:95
xdgHandle
Definition: xine_internal.h:77
_x_decoder_available
int _x_decoder_available(xine_t *xine, uint32_t buftype)
Definition: load_plugins.c:2806
audio_out.h
broadcaster.h
xine_stream_s::audio_out
xine_audio_port_t *volatile audio_out
Definition: xine_internal.h:141
XINE_LOG_NUM
#define XINE_LOG_NUM
Definition: xine_internal.h:67
xineintl.h
_x_get_audio_channel
int _x_get_audio_channel(xine_stream_t *stream)
Definition: audio_decoder.c:603
xine_stream_s::audio_channel_auto
int audio_channel_auto
Definition: xine_internal.h:160
_x_mrl_remove_auth
char * _x_mrl_remove_auth(const char *mrl)
Definition: xine.c:1435
_x_demux_check_extension
int _x_demux_check_extension(const char *mrl, const char *extensions)
Definition: demux.c:664
_x_select_spu_channel
void _x_select_spu_channel(xine_stream_t *stream, int channel)
Definition: xine.c:2772
vo_driver_t
Definition: video_out.h:50
_x_action_raise
void _x_action_raise(xine_stream_t *stream)
Definition: demux.c:780
_x_demux_control_start
void _x_demux_control_start(xine_stream_t *stream)
Definition: demux.c:256
video_out.h
xine_keyframes_entry_t
Definition: xine.h:244
_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)
Definition: xine.c:3408
xine_stream_s::content_detection_method
int content_detection_method
Definition: xine_internal.h:168
xine_stream_s::metronom
metronom_t * metronom
Definition: xine_internal.h:129
XINE_SENTINEL
#define XINE_SENTINEL
Definition: attributes.h:79
xine_stream_s::spu_decoder_plugin
spu_decoder_t * spu_decoder_plugin
Definition: xine_internal.h:154
plugin_catalog.h
xine_query_buffers_data_t::avail
int avail
Definition: xine_internal.h:179
xine_s::streams
xine_list_t * streams
Definition: xine_internal.h:94
_x_free_input_plugin
void _x_free_input_plugin(xine_stream_t *stream, input_plugin_t *input)
Definition: load_plugins.c:1879
fifo_buffer_s
Definition: buffer.h:581
xine_event_listener_cb_t
void(* xine_event_listener_cb_t)(void *user_data, const xine_event_t *event)
Definition: xine.h:2246
_x_get_speed
int _x_get_speed(xine_stream_t *stream)
Definition: xine.c:2905
xine_stream_s::input_plugin
input_plugin_t * input_plugin
Definition: xine_internal.h:132
xine_s::config
config_values_t * config
Definition: xine_internal.h:82
plugin_catalog_s
Definition: plugin_catalog.h:53
xine_s::save_path
const char * save_path
Definition: xine_internal.h:89
_x_get_audio_decoder
audio_decoder_t * _x_get_audio_decoder(xine_stream_t *stream, uint8_t stream_type)
Definition: load_plugins.c:2730
_x_extra_info_reset
void _x_extra_info_reset(extra_info_t *extra_info)
Definition: xine.c:118
xine_event_queue_s::lock
pthread_mutex_t lock
Definition: xine_internal.h:109
xine_query_buffers_data_t::ready
int ready
Definition: xine_internal.h:178
input_plugin_s
Definition: input_plugin.h:90
config_values_s
Definition: configfile.h:83
_x_demux_start_thread
int _x_demux_start_thread(xine_stream_t *stream)
Definition: demux.c:543
spu_decoder.h
metronom.h
xine_event_queue_s
Definition: xine_internal.h:107
xine_stream_s::video_fifo
fifo_buffer_t * video_fifo
Definition: xine_internal.h:138
_x_demux_flush_engine
void _x_demux_flush_engine(xine_stream_t *stream)
Definition: demux.c:61
_x_demux_stop_thread
int _x_demux_stop_thread(xine_stream_t *stream)
Definition: demux.c:577
scratch_buffer_s
Definition: scratch.h:35
input_plugin.h
_x_demux_read_send_data
int _x_demux_read_send_data(fifo_buffer_t *fifo, input_plugin_t *input, int size, int64_t pts, uint32_t type, uint32_t decoder_flags, off_t input_normpos, int input_time, int total_time, uint32_t frame_number) XINE_USED
Definition: demux.c:853
xine_s::verbosity
int verbosity
Definition: xine_internal.h:86
_x_mrl_unescape
void _x_mrl_unescape(char *mrl)
Definition: xine.c:1381
xine_list_s
Definition: list.c:51
_x_free_audio_decoder
void _x_free_audio_decoder(xine_stream_t *stream, audio_decoder_t *decoder)
Definition: load_plugins.c:2793
osd_renderer_s
Definition: osd.h:82
xine_pids_data_t::apid
int apid
Definition: xine_internal.h:382
_x_get_video_streamtype
int _x_get_video_streamtype(xine_stream_t *)
Definition: xine.c:3301
xine_query_buffers_t
Definition: xine_internal.h:183
xine_stream_s::spu_channel_letterbox
int spu_channel_letterbox
Definition: xine_internal.h:164
_x_lock_frontend
int _x_lock_frontend(xine_stream_t *stream, int ms_to_time_out)
Definition: xine.c:3523
_x_message
int _x_message(xine_stream_t *stream, int type,...) XINE_SENTINEL
Definition: xine_interface.c:1000
demux_plugin_s
Definition: demux.h:96
xine_stream_s::video_out
xine_video_port_t *volatile video_out
Definition: xine_internal.h:135
_x_flush_events_queues
void _x_flush_events_queues(xine_stream_t *stream)
Definition: events.c:544
_x_free_module
void _x_free_module(xine_t *xine, struct xine_module_s **pmodule)
Definition: load_plugins.c:1807
_x_get_fine_speed
int _x_get_fine_speed(xine_stream_t *stream)
Definition: xine.c:2893
_x_get_current_info
void _x_get_current_info(xine_stream_t *stream, extra_info_t *extra_info, int size)
Definition: xine.c:2806
_x_keyframes_set
int _x_keyframes_set(xine_stream_t *stream, xine_keyframes_entry_t *list, int size)
Register a list of stream keyframes.
Definition: xine.c:3737
_x_demux_send_data
void _x_demux_send_data(fifo_buffer_t *fifo, uint8_t *data, int size, int64_t pts, uint32_t type, uint32_t decoder_flags, int input_normpos, int input_time, int total_time, uint32_t frame_number)
Definition: demux.c:807
_x_free_video_decoder
void _x_free_video_decoder(xine_stream_t *stream, video_decoder_t *decoder)
Definition: load_plugins.c:2716
name
const char name[16]
Definition: memcpy.c:569
_x_get_spu_channel
int _x_get_spu_channel(xine_stream_t *stream)
Definition: xine.c:3295
ao_driver_s
Definition: audio_out.h:43
_x_unlock_frontend
void _x_unlock_frontend(xine_stream_t *stream)
Definition: xine.c:3529
_x_query_network_timeout
int _x_query_network_timeout(xine_t *xine)
Definition: xine.c:2625
xine_stream_s::spu_channel
int spu_channel
Definition: xine_internal.h:165
xine_audio_port_s
Definition: audio_out.h:172
xine_event_queue_s::events_processed
pthread_cond_t events_processed
Definition: xine_internal.h:111
xine_event_queue_s::callback_running
int callback_running
Definition: xine_internal.h:116
_x_trigger_relaxed_frame_drop_mode
void _x_trigger_relaxed_frame_drop_mode(xine_stream_t *stream)
Definition: xine.c:3567
demux.h
xine_query_buffers_t::vo
xine_query_buffers_data_t vo
Definition: xine_internal.h:187
refcounter.h
_x_lock_port_rewiring
int _x_lock_port_rewiring(xine_t *xine, int ms_to_time_out)
Definition: xine.c:3511
audio_decoder.h
xine_event_queue_s::user_data
void * user_data
Definition: xine_internal.h:114
metronom_s
Definition: metronom.h:71
_x_free_spu_decoder
void _x_free_spu_decoder(xine_stream_t *stream, spu_decoder_t *decoder)
Definition: load_plugins.c:2967
xine_query_buffers_t::ao
xine_query_buffers_data_t ao
Definition: xine_internal.h:188
_x_find_demux_plugin_by_name
demux_plugin_t * _x_find_demux_plugin_by_name(xine_stream_t *stream, const char *name, input_plugin_t *input)
Definition: load_plugins.c:2012
_x_query_unprocessed_osd_events
int _x_query_unprocessed_osd_events(xine_stream_t *stream)
Definition: xine.c:3535
_x_reset_relaxed_frame_drop_mode
void _x_reset_relaxed_frame_drop_mode(xine_stream_t *stream)
Definition: xine.c:3575
_x_get_video_decoder
video_decoder_t * _x_get_video_decoder(xine_stream_t *stream, uint8_t stream_type)
Definition: load_plugins.c:2652
extra_info_s
Structure to pass information from input or demuxer plugins to output frames (past decoder).
Definition: buffer.h:317
xine_stream_s::audio_fifo
fifo_buffer_t * audio_fifo
Definition: xine_internal.h:144
xine_s::demux_strategy
int demux_strategy
Definition: xine_internal.h:88
XINE_USED
#define XINE_USED
Definition: attributes.h:58
tickets.h
xine_stream_s::slave
xine_stream_t * slave
Definition: xine_internal.h:151
XINE_PROTECTED
#define XINE_PROTECTED
Definition: attributes.h:73
_x_find_demux_plugin
demux_plugin_t * _x_find_demux_plugin(xine_stream_t *stream, input_plugin_t *input)
Definition: load_plugins.c:1987
xine_event_queue_s::stream
xine_stream_t * stream
Definition: xine_internal.h:112
_x_action_lower
void _x_action_lower(xine_stream_t *stream)
Definition: demux.c:788
xine_s::plugin_catalog
plugin_catalog_t * plugin_catalog
Definition: xine_internal.h:84
xine_stream_s::spu_channel_auto
int spu_channel_auto
Definition: xine_internal.h:163
xdgHandle::reserved
void * reserved
Definition: xine_internal.h:77
_x_set_fine_speed
void _x_set_fine_speed(xine_stream_t *stream, int speed)
Definition: xine.c:2832
xine_query_buffers_data_t::total
int total
Definition: xine_internal.h:177
xine_query_buffers_t::vi
xine_query_buffers_data_t vi
Definition: xine_internal.h:185
_x_read_abort
off_t _x_read_abort(xine_stream_t *stream, int fd, char *buf, off_t todo)
Definition: demux.c:706
input
static int input(void)
Definition: goomsl_lex.c:1495
_x_extra_info_merge
void _x_extra_info_merge(extra_info_t *dst, extra_info_t *src)
Definition: xine.c:122
xine_event_queue_s::events
xine_list_t * events
Definition: xine_internal.h:108
xine_event_queue_s::callback
xine_event_listener_cb_t callback
Definition: xine_internal.h:115
alphablend.h
xine.h
xine_pids_data_t::vpid
int vpid
Definition: xine_internal.h:381
_x_demux_control_nop
void _x_demux_control_nop(xine_stream_t *stream, uint32_t flags)
Definition: demux.c:318
_x_demux_read_header
int _x_demux_read_header(input_plugin_t *input, void *buffer, off_t size)
Definition: demux.c:618
xine_stream_s::spu_channel_user
int spu_channel_user
Definition: xine_internal.h:162
xine_s::basedir_handle
xdgHandle basedir_handle
Definition: xine_internal.h:100