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