annotate libmpdemux/tvi_dummy.c @ 2826:17f46b2330e9

-nobps NaN fixed
author arpi
date Sun, 11 Nov 2001 13:25:06 +0000
parents c9b4ab4321c2
children 596a6ba3520f
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
98769cea155c added tv subsystem
alex
parents:
diff changeset
7 #ifdef USE_TV
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
8
09d5c9834580 tv update
alex
parents: 2790
diff changeset
9 #include <stdio.h>
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
10 #include "tv.h"
98769cea155c added tv subsystem
alex
parents:
diff changeset
11
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
12 /* information about this file */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
13 static tvi_info_t info = {
98769cea155c added tv subsystem
alex
parents:
diff changeset
14 "NULL-TV",
98769cea155c added tv subsystem
alex
parents:
diff changeset
15 "dummy",
98769cea155c added tv subsystem
alex
parents:
diff changeset
16 "alex",
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
17 NULL
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
18 };
98769cea155c added tv subsystem
alex
parents:
diff changeset
19
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
20 /* private data's */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
21 typedef struct {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
22 int width;
09d5c9834580 tv update
alex
parents: 2790
diff changeset
23 int height;
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
24 } priv_t;
98769cea155c added tv subsystem
alex
parents:
diff changeset
25
98769cea155c added tv subsystem
alex
parents:
diff changeset
26 #include "tvi_def.h"
98769cea155c added tv subsystem
alex
parents:
diff changeset
27
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
28 /* handler creator - entry point ! */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
29 tvi_handle_t *tvi_init_dummy(char *device)
98769cea155c added tv subsystem
alex
parents:
diff changeset
30 {
98769cea155c added tv subsystem
alex
parents:
diff changeset
31 return new_handle();
98769cea155c added tv subsystem
alex
parents:
diff changeset
32 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
33
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
34 /* initialisation */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
35 static int init(priv_t *priv, tvi_param_t *params)
09d5c9834580 tv update
alex
parents: 2790
diff changeset
36 {
09d5c9834580 tv update
alex
parents: 2790
diff changeset
37 return 1;
09d5c9834580 tv update
alex
parents: 2790
diff changeset
38 }
09d5c9834580 tv update
alex
parents: 2790
diff changeset
39
09d5c9834580 tv update
alex
parents: 2790
diff changeset
40 /* that's the real start, we'got the format parameters (checked with control) */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
41 static int start(priv_t *priv)
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
42 {
98769cea155c added tv subsystem
alex
parents:
diff changeset
43 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
44
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
45 static int uninit(priv_t *priv)
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
46 {
98769cea155c added tv subsystem
alex
parents:
diff changeset
47 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
48
98769cea155c added tv subsystem
alex
parents:
diff changeset
49 static int control(priv_t *priv, int cmd, void *arg)
98769cea155c added tv subsystem
alex
parents:
diff changeset
50 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
51 switch(cmd)
09d5c9834580 tv update
alex
parents: 2790
diff changeset
52 {
09d5c9834580 tv update
alex
parents: 2790
diff changeset
53 case TVI_CONTROL_IS_VIDEO:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
54 return(TVI_CONTROL_TRUE);
09d5c9834580 tv update
alex
parents: 2790
diff changeset
55 case TVI_CONTROL_VID_GET_FORMAT:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
56 (int)*(void **)arg = IMGFMT_YV12;
09d5c9834580 tv update
alex
parents: 2790
diff changeset
57 return(TVI_CONTROL_TRUE);
2815
alex
parents: 2802
diff changeset
58 case TVI_CONTROL_VID_SET_FORMAT:
alex
parents: 2802
diff changeset
59 {
alex
parents: 2802
diff changeset
60 int req_fmt = (int)*(void **)arg;
alex
parents: 2802
diff changeset
61 if (req_fmt != IMGFMT_YV12)
alex
parents: 2802
diff changeset
62 return(TVI_CONTROL_FALSE);
alex
parents: 2802
diff changeset
63 return(TVI_CONTROL_TRUE);
alex
parents: 2802
diff changeset
64 }
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
65 case TVI_CONTROL_VID_SET_WIDTH:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
66 priv->width = (int)*(void **)arg;
09d5c9834580 tv update
alex
parents: 2790
diff changeset
67 return(TVI_CONTROL_TRUE);
09d5c9834580 tv update
alex
parents: 2790
diff changeset
68 case TVI_CONTROL_VID_SET_HEIGHT:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
69 priv->height = (int)*(void **)arg;
09d5c9834580 tv update
alex
parents: 2790
diff changeset
70 return(TVI_CONTROL_TRUE);
09d5c9834580 tv update
alex
parents: 2790
diff changeset
71 case TVI_CONTROL_VID_CHK_WIDTH:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
72 case TVI_CONTROL_VID_CHK_HEIGHT:
09d5c9834580 tv update
alex
parents: 2790
diff changeset
73 return(TVI_CONTROL_TRUE);
09d5c9834580 tv update
alex
parents: 2790
diff changeset
74 }
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
75 return(TVI_CONTROL_UNKNOWN);
98769cea155c added tv subsystem
alex
parents:
diff changeset
76 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
77
98769cea155c added tv subsystem
alex
parents:
diff changeset
78 static int grab_video_frame(priv_t *priv, char *buffer, int len)
98769cea155c added tv subsystem
alex
parents:
diff changeset
79 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
80 memset(buffer, 0x42, len);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
81 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
82
98769cea155c added tv subsystem
alex
parents:
diff changeset
83 static int get_video_framesize(priv_t *priv)
98769cea155c added tv subsystem
alex
parents:
diff changeset
84 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
85 /* YV12 */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
86 return priv->width*priv->height*12/8;
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
87 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
88
98769cea155c added tv subsystem
alex
parents:
diff changeset
89 static int grab_audio_frame(priv_t *priv, char *buffer, int len)
98769cea155c added tv subsystem
alex
parents:
diff changeset
90 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
91 memset(buffer, 0x42, len);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
92 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
93
98769cea155c added tv subsystem
alex
parents:
diff changeset
94 static int get_audio_framesize(priv_t *priv)
98769cea155c added tv subsystem
alex
parents:
diff changeset
95 {
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
96 return 1;
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
97 }
98769cea155c added tv subsystem
alex
parents:
diff changeset
98
98769cea155c added tv subsystem
alex
parents:
diff changeset
99 #endif /* USE_TV */