diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-10 23:32:10 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-10 23:32:10 +0000 |
commit | fc363d39bc8a1aecc72b62c1108d7cc3b0b40a64 (patch) | |
tree | 7af9a7653c089d0c57bda269d4ffc82a2a97b789 /libmpdemux/tvi_dummy.c | |
parent | 31dc28382695dd2fa4a86a9676113a4eb36010ec (diff) | |
download | mpv-fc363d39bc8a1aecc72b62c1108d7cc3b0b40a64.tar.bz2 mpv-fc363d39bc8a1aecc72b62c1108d7cc3b0b40a64.tar.xz |
tv update
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2803 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/tvi_dummy.c')
-rw-r--r-- | libmpdemux/tvi_dummy.c | 50 |
1 files changed, 42 insertions, 8 deletions
diff --git a/libmpdemux/tvi_dummy.c b/libmpdemux/tvi_dummy.c index 82d2c1e691..d2f9f71473 100644 --- a/libmpdemux/tvi_dummy.c +++ b/libmpdemux/tvi_dummy.c @@ -1,58 +1,92 @@ -#include <stdio.h> +/* + Only a sample! +*/ #include "config.h" #ifdef USE_TV + +#include <stdio.h> #include "tv.h" +/* information about this file */ static tvi_info_t info = { "NULL-TV", "dummy", "alex", - "non-completed" + NULL }; +/* private data's */ typedef struct { + int width; + int height; } priv_t; #include "tvi_def.h" +/* handler creator - entry point ! */ tvi_handle_t *tvi_init_dummy(char *device) { return new_handle(); } -static int init(priv_t *priv) +/* initialisation */ +static int init(priv_t *priv, tvi_param_t *params) +{ + return 1; +} + +/* that's the real start, we'got the format parameters (checked with control) */ +static int start(priv_t *priv) { } -static int close(priv_t *priv) +static int uninit(priv_t *priv) { } static int control(priv_t *priv, int cmd, void *arg) { + switch(cmd) + { + case TVI_CONTROL_IS_VIDEO: + return(TVI_CONTROL_TRUE); + case TVI_CONTROL_VID_GET_FORMAT: + (int)*(void **)arg = IMGFMT_YV12; + return(TVI_CONTROL_TRUE); + case TVI_CONTROL_VID_SET_WIDTH: + priv->width = (int)*(void **)arg; + return(TVI_CONTROL_TRUE); + case TVI_CONTROL_VID_SET_HEIGHT: + priv->height = (int)*(void **)arg; + return(TVI_CONTROL_TRUE); + case TVI_CONTROL_VID_CHK_WIDTH: + case TVI_CONTROL_VID_CHK_HEIGHT: + return(TVI_CONTROL_TRUE); + } return(TVI_CONTROL_UNKNOWN); } static int grab_video_frame(priv_t *priv, char *buffer, int len) { - memset(buffer, 0x77, len); + memset(buffer, 0x42, len); } static int get_video_framesize(priv_t *priv) { - return 0; + /* YV12 */ + return priv->width*priv->height*12/8; } static int grab_audio_frame(priv_t *priv, char *buffer, int len) { - memset(buffer, 0x77, len); + memset(buffer, 0x42, len); } static int get_audio_framesize(priv_t *priv) { - return 0; + return 1; } #endif /* USE_TV */ |