6 long int fds_bits[1024 / (8 * sizeof(long int))];
11 typedef struct __pthread_attr_s {
14 struct __sched_param __schedparam;
17 unsigned int __guardsize;
20 unsigned int __stacksize;
30 typedef struct xine_s xine_t;
31 typedef struct xine_stream_s xine_stream_t;
32 typedef struct xine_audio_port_s xine_audio_port_t;
33 typedef struct xine_video_port_s xine_video_port_t;
34 typedef xine_audio_port_t xine_ao_driver_t;
35 typedef xine_video_port_t xine_vo_driver_t;
36 const char *xine_get_version_string(void);
37 void xine_get_version(int *major, int *minor, int *sub);
38 int xine_check_version(int major, int minor, int sub);
39 xine_t *xine_new(void);
40 void xine_init(xine_t * self);
41 xine_audio_port_t *xine_open_audio_driver(xine_t * self,
45 xine_video_port_t *xine_open_video_driver(xine_t * self,
50 void xine_close_audio_driver(xine_t * self,
53 void xine_close_video_driver(xine_t * self,
56 void xine_exit(xine_t * self);
57 xine_stream_t *xine_stream_new(xine_t * self,
58 xine_audio_port_t * ao,
59 xine_video_port_t * vo);
60 int xine_stream_master_slave(xine_stream_t * master,
61 xine_stream_t * slave,
63 int xine_open(xine_stream_t * stream, const char *mrl);
64 int xine_play(xine_stream_t * stream, int start_pos,
66 int xine_trick_mode(xine_stream_t * stream, int mode,
68 void xine_stop(xine_stream_t * stream);
69 void xine_close(xine_stream_t * stream);
70 int xine_eject(xine_stream_t * stream);
71 void xine_dispose(xine_stream_t * stream);
72 void xine_engine_set_param(xine_t * self, int param,
74 int xine_engine_get_param(xine_t * self, int param);
75 void xine_set_param(xine_stream_t * stream, int param,
77 int xine_get_param(xine_stream_t * stream, int param);
78 int xine_get_current_frame(xine_stream_t * stream,
79 int *width, int *height,
80 int *ratio_code, int *format,
82 long long xine_get_current_vpts(xine_stream_t * stream);
83 typedef struct xine_post_s xine_post_t;
85 xine_audio_port_t **audio_input;
86 xine_video_port_t **video_input;
89 xine_post_t *xine_post_init(xine_t * xine,
96 const char *const *xine_list_post_plugins(xine_t *
98 const char *const *xine_list_post_plugins_typed(xine_t *
102 typedef struct xine_post_in_s xine_post_in_t;
103 typedef struct xine_post_out_s xine_post_out_t;
104 struct xine_post_in_s {
109 struct xine_post_out_s {
113 int (*rewire) (xine_post_out_t * self,
116 const char *const *xine_post_list_inputs(xine_post_t *
118 const char *const *xine_post_list_outputs(xine_post_t *
120 xine_post_in_t *xine_post_input(xine_post_t * self,
122 xine_post_out_t *xine_post_output(xine_post_t * self,
124 int xine_post_wire(xine_post_out_t * source,
125 xine_post_in_t * target);
126 int xine_post_wire_video_port(xine_post_out_t * source,
127 xine_video_port_t * vo);
128 int xine_post_wire_audio_port(xine_post_out_t * source,
129 xine_audio_port_t * ao);
130 xine_post_out_t *xine_get_video_source(xine_stream_t *
132 xine_post_out_t *xine_get_audio_source(xine_stream_t *
134 void xine_post_dispose(xine_t * xine,
146 } xine_post_api_parameter_t;
149 xine_post_api_parameter_t *parameter;
150 } xine_post_api_descr_t;
152 int (*set_parameters) (xine_post_t * self,
154 int (*get_parameters) (xine_post_t * self,
156 xine_post_api_descr_t
157 *(*get_param_descr) (void);
158 char *(*get_help) (void);
160 int xine_get_log_section_count(xine_t * self);
161 const char *const *xine_get_log_names(xine_t * self);
162 void xine_log(xine_t * self, int buf,
163 const char *format, ...)
164 __attribute__ ((__format__(printf, 3, 4)));
165 const char *const *xine_get_log(xine_t * self, int buf);
166 typedef void (*xine_log_cb_t) (void *user_data,
168 void xine_register_log_cb(xine_t * self,
171 int xine_get_error(xine_stream_t * stream);
172 int xine_get_status(xine_stream_t * stream);
173 int xine_get_audio_lang(xine_stream_t * stream,
174 int channel, char *lang);
175 int xine_get_spu_lang(xine_stream_t * stream,
176 int channel, char *lang);
177 int xine_get_pos_length(xine_stream_t * stream,
178 int *pos_stream, int *pos_time,
180 unsigned int xine_get_stream_info(xine_stream_t * stream,
182 const char *xine_get_meta_info(xine_stream_t * stream,
192 *xine_get_browsable_input_plugin_ids(xine_t * self);
193 xine_mrl_t **xine_get_browse_mrls(xine_t * self,
194 const char *plugin_id,
195 const char *start_mrl,
198 *xine_get_autoplay_input_plugin_ids(xine_t * self);
199 char **xine_get_autoplay_mrls(xine_t * self,
200 const char *plugin_id,
202 char *xine_get_file_extensions(xine_t * self);
203 char *xine_get_mime_types(xine_t * self);
204 char *xine_get_demux_for_mime_type(xine_t * self,
207 const char *xine_get_input_plugin_description(xine_t *
211 const char *xine_get_demux_plugin_description(xine_t *
215 const char *xine_get_spu_plugin_description(xine_t *
219 const char *xine_get_audio_plugin_description(xine_t *
223 const char *xine_get_video_plugin_description(xine_t *
228 *xine_get_audio_driver_plugin_description(xine_t *
233 *xine_get_video_driver_plugin_description(xine_t *
237 const char *xine_get_post_plugin_description(xine_t *
241 const char *const *xine_list_audio_output_plugins(xine_t
244 const char *const *xine_list_video_output_plugins(xine_t
247 const char *const *xine_list_demuxer_plugins(xine_t *
249 const char *const *xine_list_input_plugins(xine_t *
251 const char *const *xine_list_spu_plugins(xine_t * self);
253 *xine_list_audio_decoder_plugins(xine_t * self);
255 *xine_list_video_decoder_plugins(xine_t * self);
256 void xine_plugins_garbage_collector(xine_t * self);
257 int xine_gui_send_vo_data(xine_stream_t * self,
258 int type, void *data);
259 int xine_port_send_gui_data(xine_video_port_t * vo,
260 int type, void *data);
269 void (*dest_size_cb) (void *user_data,
272 double video_pixel_aspect,
277 void (*frame_output_cb) (void *user_data,
292 void (*frame_output_cb) (void *user_data,
307 struct xine_health_check_s {
309 const char *cdrom_dev;
315 typedef struct xine_health_check_s xine_health_check_t;
317 *xine_health_check(xine_health_check_t *,
319 typedef struct xine_cfg_entry_s xine_cfg_entry_t;
320 typedef void (*xine_config_cb_t) (void *user_data,
323 struct xine_cfg_entry_s {
335 const char *description;
338 xine_config_cb_t callback;
341 const char *xine_config_register_string(xine_t * self,
353 int xine_config_register_range(xine_t * self,
355 int def_value, int min,
357 const char *description,
363 int xine_config_register_enum(xine_t * self,
367 const char *description,
373 int xine_config_register_num(xine_t * self,
376 const char *description,
380 changed_cb, void *cb_data);
381 int xine_config_register_bool(xine_t * self,
384 const char *description,
390 int xine_config_get_first_entry(xine_t * self,
393 int xine_config_get_next_entry(xine_t * self,
396 int xine_config_lookup_entry(xine_t * self,
398 xine_cfg_entry_t * entry);
399 void xine_config_update_entry(xine_t * self,
400 const xine_cfg_entry_t *
402 void xine_config_load(xine_t * self,
403 const char *cfg_filename);
404 void xine_config_save(xine_t * self,
405 const char *cfg_filename);
406 void xine_config_reset(xine_t * self);
409 xine_stream_t *stream;
416 unsigned char button;
417 unsigned short int x, y;
425 xine_ui_data_t compatibility;
431 } xine_ui_message_data_t;
437 } xine_format_change_data_t;
442 } xine_audio_level_data_t;
444 const char *description;
446 } xine_progress_data_t;
450 } xine_mrl_reference_data_t;
453 unsigned int start_time, duration;
454 unsigned int spare[20];
456 } xine_mrl_reference_data_ext_t;
461 unsigned int frequency;
462 unsigned int transmission;
463 unsigned int framerate_numerator;
464 unsigned int framerate_denominator;
465 unsigned int framelines;
466 unsigned long long standard_id;
467 unsigned int colorstandard;
468 unsigned int colorsubcarrier;
471 unsigned int spare[20];
472 unsigned int session_id;
473 } xine_set_v4l2_data_t;
482 unsigned int spare[20];
483 } xine_set_mpeg_data_t;
490 int skipped_threshold;
491 int discarded_frames;
492 int discarded_threshold;
493 } xine_dropped_frames_t;
494 typedef struct xine_event_queue_s xine_event_queue_t;
495 xine_event_queue_t *xine_event_new_queue(xine_stream_t *
497 void xine_event_dispose_queue(xine_event_queue_t *
499 xine_event_t *xine_event_get(xine_event_queue_t *
501 xine_event_t *xine_event_wait(xine_event_queue_t *
503 void xine_event_free(xine_event_t * event);
504 typedef void (*xine_event_listener_cb_t) (void
509 void xine_event_create_listener_thread
510 (xine_event_queue_t * queue,
511 xine_event_listener_cb_t callback,
513 void xine_event_send(xine_stream_t * stream,
514 const xine_event_t * event);
515 typedef struct xine_osd_s xine_osd_t;
516 xine_osd_t *xine_osd_new(xine_stream_t * self, int x,
517 int y, int width, int height);
518 unsigned int xine_osd_get_capabilities(xine_osd_t * self);
519 void xine_osd_draw_point(xine_osd_t * self, int x,
521 void xine_osd_draw_line(xine_osd_t * self, int x1,
522 int y1, int x2, int y2,
524 void xine_osd_draw_rect(xine_osd_t * self, int x1,
525 int y1, int x2, int y2,
526 int color, int filled);
527 void xine_osd_draw_text(xine_osd_t * self, int x1,
528 int y1, const char *text,
530 void xine_osd_draw_bitmap(xine_osd_t * self,
531 unsigned char * bitmap, int x1,
532 int y1, int width, int height,
533 unsigned char * palette_map);
534 void xine_osd_get_text_size(xine_osd_t * self,
536 int *width, int *height);
537 int xine_osd_set_font(xine_osd_t * self,
538 const char *fontname, int size);
539 void xine_osd_set_encoding(xine_osd_t * self,
540 const char *encoding);
541 void xine_osd_set_position(xine_osd_t * self, int x,
543 void xine_osd_show(xine_osd_t * self, long long vpts);
544 void xine_osd_show_unscaled(xine_osd_t * self,
546 void xine_osd_hide(xine_osd_t * self, long long vpts);
547 void xine_osd_clear(xine_osd_t * self);
548 void xine_osd_set_text_palette(xine_osd_t * self,
551 void xine_osd_get_palette(xine_osd_t * self,
552 unsigned int * color,
553 unsigned char * trans);
554 void xine_osd_set_palette(xine_osd_t * self,
555 const unsigned int * const color,
556 const unsigned char * const trans);
557 void xine_osd_free(xine_osd_t * self);
558 typedef enum { XINE_TVSYSTEM_PAL =
559 0, XINE_TVSYSTEM_NTSC } xine_tvsystem;
560 int xine_tvmode_init(xine_t * self);
561 int xine_tvmode_use(xine_t * self, int use_tvmode);
562 void xine_tvmode_set_tvsystem(xine_t * self,
563 xine_tvsystem system);
564 int xine_tvmode_switch(xine_t * self, int type,
565 int width, int height,
567 void xine_tvmode_size(xine_t * self, int *width,
568 int *height, double *pixelratio,
570 void xine_tvmode_exit(xine_t * self);
577 QTime getLengthInfo();
579 xine_stream_t *m_xineStream;
581 QTime KXineWidget::getLengthInfo()
583 int pos, time, length;
584 bool ok = xine_get_pos_length(m_xineStream, &pos, &time, &length);
585 if ((ok) && (length > 0)) {
589 QTime KXineWidget::msToTime()