xine-lib  1.2.9
vdr.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2000-2011 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 __VDR_H
22 #define __VDR_H
23 
24 #define XINE_VDR_VERSION 901
25 
26 
27 enum funcs
28 {
64 };
65 
66 enum keys
67 {
124 };
125 
126 
127 
128 typedef struct __attribute__((packed)) data_header_s
129 {
130  uint32_t func:8;
131  uint32_t len:24;
132 }
134 
135 
136 
139 
140 
141 
142 typedef struct __attribute__((packed)) data_nop_s
143 {
144  data_header_t header;
145 }
147 
148 
149 
150 typedef struct __attribute__((packed)) data_osd_new_s
151 {
152  data_header_t header;
153 
154  uint8_t window;
155  int16_t x;
156  int16_t y;
157  uint16_t width;
158  uint16_t height;
159  uint16_t w_ref;
160  uint16_t h_ref;
161 }
163 
164 
165 
166 typedef struct __attribute__((packed)) data_osd_free_s
167 {
168  data_header_t header;
169 
170  uint8_t window;
171 }
173 
174 
175 
176 typedef struct __attribute__((packed)) data_osd_show_s
177 {
178  data_header_t header;
179 
180  uint8_t window;
181 }
183 
184 
185 
186 typedef struct __attribute__((packed)) data_osd_hide_s
187 {
188  data_header_t header;
189 
190  uint8_t window;
191 }
193 
194 
195 
196 typedef struct __attribute__((packed)) data_osd_flush_s
197 {
198  data_header_t header;
199 }
201 
202 
203 
204 typedef struct __attribute__((packed)) data_play_external_s
205 {
206  data_header_t header;
207 }
209 
210 
211 
212 typedef struct __attribute__((packed)) data_osd_set_position_s
213 {
214  data_header_t header;
215 
216  uint8_t window;
217  int16_t x;
218  int16_t y;
219 }
221 
222 
223 
224 typedef struct __attribute__((packed)) data_osd_draw_bitmap_s
225 {
226  data_header_t header;
227 
228  uint8_t window;
229  int16_t x;
230  int16_t y;
231  uint16_t width;
232  uint16_t height;
233  uint8_t argb;
234 }
236 
237 
238 
239 typedef struct __attribute__((packed)) data_set_color_s
240 {
241  data_header_t header;
242 
243  uint8_t window;
244  uint8_t index;
245  uint8_t num;
246 }
248 
249 
250 
251 typedef struct __attribute__((packed)) data_flush_s
252 {
253  data_header_t header;
254 
255  int32_t ms_timeout;
256  uint8_t just_wait;
257 }
259 
260 
261 
262 typedef struct __attribute__((packed)) result_flush_s
263 {
264  result_header_t header;
265 
266  uint8_t timed_out;
267 }
269 
270 
271 
272 typedef struct __attribute__((packed)) data_clear_s
273 {
274  data_header_t header;
275 
276  int32_t n;
277  int8_t s;
278  uint8_t i;
279 }
281 
282 
283 
284 typedef struct __attribute__((packed)) data_mute_s
285 {
286  data_header_t header;
287 
288  uint8_t mute;
289 }
291 
292 
293 
294 typedef struct __attribute__((packed)) data_set_volume_s
295 {
296  data_header_t header;
297 
298  uint8_t volume;
299 }
301 
302 
303 
304 typedef struct __attribute__((packed)) data_set_speed_s
305 {
306  data_header_t header;
307 
308  int32_t speed;
309 }
311 
312 
313 
314 typedef struct __attribute__((packed)) data_set_prebuffer_s
315 {
316  data_header_t header;
317 
318  uint32_t prebuffer;
319 }
321 
322 
323 
324 typedef struct __attribute__((packed)) data_metronom_s
325 {
326  data_header_t header;
327 
328  int64_t pts;
329  uint32_t flags;
330 }
332 
333 
334 
335 typedef struct __attribute__((packed)) data_start_s
336 {
337  data_header_t header;
338 }
340 
341 
342 
343 typedef struct __attribute__((packed)) data_wait_s
344 {
345  data_header_t header;
346  uint8_t id;
347 }
349 
350 
351 
352 typedef struct __attribute__((packed)) result_wait_s
353 {
354  result_header_t header;
355 }
357 
358 
359 
360 #define XINE_VDR_VOLUME_IGNORE 0
361 #define XINE_VDR_VOLUME_CHANGE_HW 1
362 #define XINE_VDR_VOLUME_CHANGE_SW 2
363 
364 #define XINE_VDR_MUTE_IGNORE 0
365 #define XINE_VDR_MUTE_EXECUTE 1
366 #define XINE_VDR_MUTE_SIMULATE 2
367 
368 typedef struct __attribute__((packed)) data_setup_s
369 {
370  data_header_t header;
371 
372  uint8_t osd_unscaled_blending;
373  uint8_t volume_mode;
374  uint8_t mute_mode;
375  uint16_t image4_3_zoom_x;
376  uint16_t image4_3_zoom_y;
377  uint16_t image16_9_zoom_x;
378  uint16_t image16_9_zoom_y;
379 }
381 
382 
383 
384 typedef struct __attribute__((packed)) data_first_frame_s
385 {
386  data_header_t header;
387 }
389 
390 
391 
392 typedef struct __attribute__((packed)) data_still_frame_s
393 {
394  data_header_t header;
395 }
397 
398 
399 
400 typedef struct __attribute__((packed)) data_set_video_window_s
401 {
402  data_header_t header;
403 
404  uint32_t x;
405  uint32_t y;
406  uint32_t w;
407  uint32_t h;
408  uint32_t w_ref;
409  uint32_t h_ref;
410 }
412 
413 
414 
415 typedef struct __attribute__((packed)) data_grab_image_s
416 {
417  data_header_t header;
418 }
420 
421 
422 
423 typedef struct __attribute__((packed)) result_grab_image_s
424 {
425  result_header_t header;
426 
427  int32_t width;
428  int32_t height;
429  int32_t ratio;
430  int32_t format;
431  int32_t interlaced;
432  int32_t crop_left;
433  int32_t crop_right;
434  int32_t crop_top;
435  int32_t crop_bottom;
436 }
438 
439 
440 
441 typedef struct __attribute__((packed)) data_get_pts_s
442 {
443  data_header_t header;
444  int32_t ms_timeout;
445 }
447 
448 
449 
450 typedef struct __attribute__((packed)) result_get_pts_s
451 {
452  result_header_t header;
453 
454  int64_t pts;
455  int8_t queued;
456 }
458 
459 
460 
461 typedef struct __attribute__((packed)) data_get_version_s
462 {
463  data_header_t header;
464 }
466 
467 
468 
469 typedef struct __attribute__((packed)) result_get_version_s
470 {
471  result_header_t header;
472 
473  int32_t version;
474 }
476 
477 
478 
479 typedef struct __attribute__((packed)) data_video_size_s
480 {
481  data_header_t header;
482 }
484 
485 
486 
487 typedef struct __attribute__((packed)) result_video_size_s
488 {
489  result_header_t header;
490 
491  int32_t left;
492  int32_t top;
493  int32_t width;
494  int32_t height;
495  int32_t ratio;
496  int32_t zoom_x;
497  int32_t zoom_y;
498 }
500 
501 
502 
503 typedef struct __attribute__((packed)) data_reset_audio_s
504 {
505  data_header_t header;
506 }
508 
509 
510 
511 typedef struct __attribute__((packed)) event_key_s
512 {
513  event_header_t header;
514 
515  uint32_t key;
516 }
518 
519 
520 
521 typedef struct __attribute__((packed)) event_frame_size_s
522 {
523  event_header_t header;
524 
525  int32_t left;
526  int32_t top;
527  int32_t width;
528  int32_t height;
529  int32_t zoom_x;
530  int32_t zoom_y;
531 }
533 
534 
535 
536 typedef struct __attribute__((packed)) event_play_external_s
537 {
538  event_header_t header;
539 
540  uint32_t key;
541 }
543 
544 
545 
546 typedef struct __attribute__((packed)) data_select_audio_s
547 {
548  data_header_t header;
549 
550  uint8_t channels;
551 }
553 
554 
555 
556 typedef struct __attribute__((packed)) data_trick_speed_mode_s
557 {
558  data_header_t header;
559 
560  uint8_t on;
561 }
563 
564 
565 
566 typedef struct __attribute__((packed)) event_discontinuity_s
567 {
568  event_header_t header;
569 
570  int32_t type;
571 }
573 
574 
575 
576 typedef struct __attribute__((packed)) data_query_capabilities_s
577 {
578  data_header_t header;
579 }
581 
582 
583 
584 typedef struct __attribute__((packed)) result_query_capabilities_s
585 {
586  result_header_t header;
587 
588  uint8_t osd_max_num_windows;
589  uint8_t osd_palette_max_depth;
590  uint8_t osd_palette_is_shared;
591  uint8_t osd_supports_argb_layer;
592  uint8_t osd_supports_custom_extent;
593 }
595 
596 
597 
598 typedef union __attribute__((packed)) data_union_u
599 {
600  data_header_t header;
601  data_nop_t nop;
602  data_osd_new_t osd_new;
603  data_osd_free_t osd_free;
604  data_osd_show_t osd_show;
608  data_set_color_t set_color;
609  data_flush_t flush;
610  data_clear_t clear;
611  data_mute_t mute;
612  data_set_volume_t set_volume;
613  data_set_speed_t set_speed;
614  data_set_prebuffer_t set_prebuffer;
615  data_metronom_t metronom;
616  data_start_t start;
617  data_wait_t wait;
618  data_setup_t setup;
619  data_grab_image_t grab_image;
621  data_first_frame_t first_frame;
622  data_still_frame_t still_frame;
623  data_video_size_t video_size;
624  data_set_video_window_t set_video_window;
625  data_osd_flush_t osd_flush;
626  data_play_external_t play_external;
627  data_reset_audio_t reset_audio;
628  data_select_audio_t select_audio;
629  data_trick_speed_mode_t trick_speed_mode;
630  data_get_version_t get_version;
631  data_query_capabilities_t query_capabilities;
632 }
634 
635 
636 
637 typedef union __attribute__((packed)) result_union_u
638 {
639  result_header_t header;
640  result_grab_image_t grab_image;
642  result_flush_t flush;
643  result_video_size_t video_size;
644  result_get_version_t get_version;
645  result_wait_t wait;
646  result_query_capabilities_t query_capabilities;
647 }
649 
650 
651 
652 typedef union __attribute__((packed)) event_union_u
653 {
654  event_header_t header;
656  event_frame_size_t frame_size;
657  event_play_external_t play_external;
658  event_discontinuity_t discontinuity;
659 }
661 
662 
663 
664 #endif /* __VDR_H */
665 
data_set_speed_t
Definition: vdr.h:310
Definition: vdr.h:68
Definition: vdr.h:60
Definition: vdr.h:56
Definition: vdr.h:33
data_wait_t
Definition: vdr.h:348
Definition: vdr.h:112
Definition: vdr.h:49
unsigned int height
Definition: gfontrle.c:5
Definition: vdr.h:103
Definition: vdr.h:45
Definition: vdr.h:82
data_start_t
Definition: vdr.h:339
Definition: vdr.h:98
data_set_prebuffer_t
Definition: vdr.h:320
data_grab_image_t
Definition: vdr.h:419
data_trick_speed_mode_t
Definition: vdr.h:562
data_get_version_t
Definition: vdr.h:465
data_metronom_t
Definition: vdr.h:331
Definition: vdr.h:121
data_query_capabilities_t
Definition: vdr.h:580
Definition: vdr.h:96
Definition: vdr.h:51
Definition: vdr.h:123
Definition: vdr.h:93
data_setup_t
Definition: vdr.h:380
data_header_t result_header_t
Definition: vdr.h:137
Definition: vdr.h:41
result_query_capabilities_t
Definition: vdr.h:594
Definition: vdr.h:30
Definition: vdr.h:81
Definition: vdr.h:115
data_osd_hide_t
Definition: vdr.h:192
Definition: vdr.h:104
Definition: vdr.h:40
Definition: vdr.h:43
Definition: vdr.h:76
data_select_audio_t
Definition: vdr.h:552
event_discontinuity_t
Definition: vdr.h:572
Definition: vdr.h:77
Definition: vdr.h:73
Definition: vdr.h:118
Definition: vdr.h:78
data_get_pts_t
Definition: vdr.h:446
event_union_t
Definition: vdr.h:660
Definition: vdr.h:57
Definition: vdr.h:59
Definition: vdr.h:52
Definition: vdr.h:85
char key[16]
Definition: xine_speex_decoder.c:98
Definition: vdr.h:111
Definition: vdr.h:39
static int osd_hide(osd_object_t *osd, int64_t vpts)
Definition: osd.c:540
Definition: vdr.h:90
Definition: vdr.h:95
Definition: vdr.h:84
Definition: vdr.h:50
data_osd_draw_bitmap_t
Definition: vdr.h:235
static void osd_set_position(osd_object_t *osd, int x, int y)
Definition: osd.c:837
Definition: vdr.h:120
data_osd_set_position_t
Definition: vdr.h:220
data_set_volume_t
Definition: vdr.h:300
Definition: vdr.h:94
Definition: vdr.h:119
Definition: vdr.h:34
Definition: vdr.h:36
Definition: vdr.h:101
static int64_t get_pts(demux_ogg_t *this, int stream_num, int64_t granulepos)
Definition: xine_ogg_demuxer.c:213
event_play_external_t
Definition: vdr.h:542
Definition: vdr.h:106
result_video_size_t
Definition: vdr.h:499
Definition: vdr.h:92
Definition: vdr.h:86
Definition: vdr.h:87
event_key_t
Definition: vdr.h:517
data_still_frame_t
Definition: vdr.h:396
Definition: vdr.h:71
Definition: vdr.h:37
data_first_frame_t
Definition: vdr.h:388
result_union_t
Definition: vdr.h:648
Definition: vdr.h:69
Definition: vdr.h:79
Definition: vdr.h:55
Definition: vdr.h:91
data_union_t
Definition: vdr.h:633
Definition: vdr.h:47
Definition: vdr.h:80
result_flush_t
Definition: vdr.h:268
data_set_color_t
Definition: vdr.h:247
Definition: vdr.h:35
data_flush_t
Definition: vdr.h:258
data_play_external_t
Definition: vdr.h:208
data_header_t event_header_t
Definition: vdr.h:138
Definition: vdr.h:122
Definition: vdr.h:32
Definition: vdr.h:31
data_video_size_t
Definition: vdr.h:483
Definition: vdr.h:54
Definition: vdr.h:53
Definition: vdr.h:44
unsigned int width
Definition: gfontrle.c:4
result_get_pts_t
Definition: vdr.h:457
Definition: vdr.h:83
funcs
Definition: vdr.h:27
Definition: vdr.h:74
Definition: vdr.h:61
Definition: vdr.h:89
Definition: vdr.h:29
static void osd_draw_bitmap(osd_object_t *osd, uint8_t *bitmap, int x1, int y1, int width, int height, uint8_t *palette_map)
Definition: osd.c:1754
Definition: vdr.h:63
data_mute_t
Definition: vdr.h:290
result_wait_t
Definition: vdr.h:356
Definition: vdr.h:62
Definition: vdr.h:117
Definition: vdr.h:58
Definition: vdr.h:72
data_osd_show_t
Definition: vdr.h:182
Definition: vdr.h:102
Definition: vdr.h:110
Definition: vdr.h:99
result_grab_image_t
Definition: vdr.h:437
data_nop_t
Definition: vdr.h:146
Definition: vdr.h:88
data_reset_audio_t
Definition: vdr.h:507
Definition: vdr.h:70
Definition: vdr.h:113
Definition: vdr.h:116
data_osd_flush_t
Definition: vdr.h:200
Definition: vdr.h:105
Definition: vdr.h:107
data_set_video_window_t
Definition: vdr.h:411
keys
Definition: vdr.h:66
Definition: vdr.h:108
Definition: vdr.h:38
data_osd_new_t
Definition: vdr.h:162
Definition: vdr.h:75
data_header_t
Definition: vdr.h:133
event_frame_size_t
Definition: vdr.h:532
Definition: vdr.h:100
Definition: vdr.h:114
Definition: vdr.h:48
data_clear_t
Definition: vdr.h:280
Definition: vdr.h:46
Definition: vdr.h:42
Definition: vdr.h:97
Definition: vdr.h:109
struct __attribute__((packed)) data_header_s
Definition: vdr.h:128
data_osd_free_t
Definition: vdr.h:172
result_get_version_t
Definition: vdr.h:475