annotate stream/tvi_dummy.c @ 20105:bcb586a0800c

Avoid crash with fontconfig 2.3.9x (as shipped with SuSE 10.1, FcDirScan is broken) and warn that these are beta versions and not supported.
author reimar
date Sun, 08 Oct 2006 13:01:14 +0000
parents ac69ba536915
children 6cabac4d35b5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
1 /*
09d5c9834580 tv update
alex
parents: 2790
diff changeset
2 Only a sample!
09d5c9834580 tv update
alex
parents: 2790
diff changeset
3 */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
4
98769cea155c added tv subsystem
alex
parents:
diff changeset
5 #include "config.h"
98769cea155c added tv subsystem
alex
parents:
diff changeset
6
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
7 #include <stdio.h>
19431
ac69ba536915 Explicitly include libmpcodecs/img_format.h and libvo/fastmemcpy.h.
diego
parents: 19271
diff changeset
8 #include "libmpcodecs/img_format.h"
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
9 #include "tv.h"
98769cea155c added tv subsystem
alex
parents:
diff changeset
10
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
11 /* information about this file */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
12 static tvi_info_t info = {
98769cea155c added tv subsystem
alex
parents:
diff changeset
13 "NULL-TV",
98769cea155c added tv subsystem
alex
parents:
diff changeset
14 "dummy",
98769cea155c added tv subsystem
alex
parents:
diff changeset
15 "alex",
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
16 NULL
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
17 };
98769cea155c added tv subsystem
alex
parents:
diff changeset
18
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
19 /* private data's */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
20 typedef struct {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
21 int width;
09d5c9834580 tv update
alex
parents: 2790
diff changeset
22 int height;
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
23 } priv_t;
98769cea155c added tv subsystem
alex
parents:
diff changeset
24
98769cea155c added tv subsystem
alex
parents:
diff changeset
25 #include "tvi_def.h"
98769cea155c added tv subsystem
alex
parents:
diff changeset
26
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
27 /* handler creator - entry point ! */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
28 tvi_handle_t *tvi_init_dummy(char *device)
98769cea155c added tv subsystem
alex
parents:
diff changeset
29 {
2837
c63562f5f56f tuning worx (can set frequency)
alex
parents: 2830
diff changeset
30 return(new_handle());
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
31 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
32
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
33 /* initialisation */
3815
622a9ade4517 updated
alex
parents: 3375
diff changeset
34 static int init(priv_t *priv)
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
35 {
3375
5fb624943c90 default size 320x200
alex
parents: 2837
diff changeset
36 priv->width = 320;
5fb624943c90 default size 320x200
alex
parents: 2837
diff changeset
37 priv->height = 200;
2837
c63562f5f56f tuning worx (can set frequency)
alex
parents: 2830
diff changeset
38 return(1);
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
39 }
09d5c9834580 tv update
alex
parents: 2790
diff changeset
40
09d5c9834580 tv update
alex
parents: 2790
diff changeset
41 /* that's the real start, we'got the format parameters (checked with control) */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
42 static int start(priv_t *priv)
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
43 {
2837
c63562f5f56f tuning worx (can set frequency)
alex
parents: 2830
diff changeset
44 return(1);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
45 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
46
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
47 static int uninit(priv_t *priv)
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
48 {
3815
622a9ade4517 updated
alex
parents: 3375
diff changeset
49 return(1);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
50 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
51
98769cea155c added tv subsystem
alex
parents:
diff changeset
52 static int control(priv_t *priv, int cmd, void *arg)
98769cea155c added tv subsystem
alex
parents:
diff changeset
53 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
54 switch(cmd)
09d5c9834580 tv update
alex
parents: 2790
diff changeset
55 {
09d5c9834580 tv update
alex
parents: 2790
diff changeset
56 case TVI_CONTROL_IS_VIDEO:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
57 return(TVI_CONTROL_TRUE);
09d5c9834580 tv update
alex
parents: 2790
diff changeset
58 case TVI_CONTROL_VID_GET_FORMAT:
12375
48a655d09522 and more and more stupidity
rfelker
parents: 9094
diff changeset
59 // *(int *)arg = IMGFMT_YV12;
7319
20acd78d1239 fixed get_format/set_format
alex
parents: 5572
diff changeset
60 *(int *)arg = IMGFMT_YV12;
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
61 return(TVI_CONTROL_TRUE);
2815
alex
parents: 2802
diff changeset
62 case TVI_CONTROL_VID_SET_FORMAT:
alex
parents: 2802
diff changeset
63 {
12375
48a655d09522 and more and more stupidity
rfelker
parents: 9094
diff changeset
64 // int req_fmt = *(int *)arg;
7319
20acd78d1239 fixed get_format/set_format
alex
parents: 5572
diff changeset
65 int req_fmt = *(int *)arg;
2815
alex
parents: 2802
diff changeset
66 if (req_fmt != IMGFMT_YV12)
alex
parents: 2802
diff changeset
67 return(TVI_CONTROL_FALSE);
alex
parents: 2802
diff changeset
68 return(TVI_CONTROL_TRUE);
alex
parents: 2802
diff changeset
69 }
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
70 case TVI_CONTROL_VID_SET_WIDTH:
12375
48a655d09522 and more and more stupidity
rfelker
parents: 9094
diff changeset
71 priv->width = *(int *)arg;
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
72 return(TVI_CONTROL_TRUE);
3375
5fb624943c90 default size 320x200
alex
parents: 2837
diff changeset
73 case TVI_CONTROL_VID_GET_WIDTH:
12375
48a655d09522 and more and more stupidity
rfelker
parents: 9094
diff changeset
74 *(int *)arg = priv->width;
3375
5fb624943c90 default size 320x200
alex
parents: 2837
diff changeset
75 return(TVI_CONTROL_TRUE);
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
76 case TVI_CONTROL_VID_SET_HEIGHT:
12375
48a655d09522 and more and more stupidity
rfelker
parents: 9094
diff changeset
77 priv->height = *(int *)arg;
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
78 return(TVI_CONTROL_TRUE);
3375
5fb624943c90 default size 320x200
alex
parents: 2837
diff changeset
79 case TVI_CONTROL_VID_GET_HEIGHT:
12375
48a655d09522 and more and more stupidity
rfelker
parents: 9094
diff changeset
80 *(int *)arg = priv->height;
3375
5fb624943c90 default size 320x200
alex
parents: 2837
diff changeset
81 return(TVI_CONTROL_TRUE);
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
82 case TVI_CONTROL_VID_CHK_WIDTH:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
83 case TVI_CONTROL_VID_CHK_HEIGHT:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
84 return(TVI_CONTROL_TRUE);
9094
84012782d313 added TVI_CONTROL_TUN_SET_NORM
gabucino
parents: 7319
diff changeset
85 case TVI_CONTROL_TUN_SET_NORM:
84012782d313 added TVI_CONTROL_TUN_SET_NORM
gabucino
parents: 7319
diff changeset
86 return(TVI_CONTROL_TRUE);
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
87 }
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
88 return(TVI_CONTROL_UNKNOWN);
98769cea155c added tv subsystem
alex
parents:
diff changeset
89 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
90
5572
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
91 #ifdef HAVE_TV_BSDBT848
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
92 static double grabimmediate_video_frame(priv_t *priv, char *buffer, int len)
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
93 {
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
94 memset(buffer, 0xCC, len);
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
95 return(1);
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
96 }
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
97 #endif
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
98
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
99 static double grab_video_frame(priv_t *priv, char *buffer, int len)
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
100 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
101 memset(buffer, 0x42, len);
3815
622a9ade4517 updated
alex
parents: 3375
diff changeset
102 return(1);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
103 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
104
98769cea155c added tv subsystem
alex
parents:
diff changeset
105 static int get_video_framesize(priv_t *priv)
98769cea155c added tv subsystem
alex
parents:
diff changeset
106 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
107 /* YV12 */
2837
c63562f5f56f tuning worx (can set frequency)
alex
parents: 2830
diff changeset
108 return(priv->width*priv->height*12/8);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
109 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
110
5572
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 3815
diff changeset
111 static double grab_audio_frame(priv_t *priv, char *buffer, int len)
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
112 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
113 memset(buffer, 0x42, len);
3815
622a9ade4517 updated
alex
parents: 3375
diff changeset
114 return(1);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
115 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
116
98769cea155c added tv subsystem
alex
parents:
diff changeset
117 static int get_audio_framesize(priv_t *priv)
98769cea155c added tv subsystem
alex
parents:
diff changeset
118 {
2837
c63562f5f56f tuning worx (can set frequency)
alex
parents: 2830
diff changeset
119 return(1);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
120 }