summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-common.h1
-rw-r--r--libmpdemux/tv.c6
-rw-r--r--libmpdemux/tv.h1
3 files changed, 6 insertions, 2 deletions
diff --git a/cfg-common.h b/cfg-common.h
index 945e7723eb..a436277e9c 100644
--- a/cfg-common.h
+++ b/cfg-common.h
@@ -109,6 +109,7 @@ struct config tvopts_conf[]={
{"height", &tv_param_height, CONF_TYPE_INT, 0, 0, 4096},
{"input", &tv_param_input, CONF_TYPE_INT, 0, 0, 20},
{"outfmt", &tv_param_outfmt, CONF_TYPE_STRING, 0, 0, 0},
+ {"fps", &tv_param_fps, CONF_TYPE_FLOAT, 0, 0, 100.0},
{NULL, NULL, 0, 0, 0, 0}
};
#endif
diff --git a/libmpdemux/tv.c b/libmpdemux/tv.c
index 192fc09092..8a7e191427 100644
--- a/libmpdemux/tv.c
+++ b/libmpdemux/tv.c
@@ -44,7 +44,7 @@ int tv_param_width = -1;
int tv_param_height = -1;
int tv_param_input = 0; /* used in v4l and bttv */
char *tv_param_outfmt = "yv12";
-
+float tv_param_fps = -1.0;
/* ================== DEMUX_TV ===================== */
/*
@@ -251,7 +251,9 @@ int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh)
{
if (funcs->control(tvh->priv, TVI_CONTROL_VID_GET_FPS, &sh_video->fps) != TVI_CONTROL_TRUE)
sh_video->fps = 25.0f; /* on PAL */
- }
+ }
+ if (tv_param_fps != -1.0f)
+ sh_video->fps = tv_param_fps;
sh_video->frametime = 1.0f/sh_video->fps;
/* set width */
diff --git a/libmpdemux/tv.h b/libmpdemux/tv.h
index 8fa0e596f3..adfb6189f5 100644
--- a/libmpdemux/tv.h
+++ b/libmpdemux/tv.h
@@ -19,6 +19,7 @@ extern int tv_param_width;
extern int tv_param_height;
extern int tv_param_input;
extern char *tv_param_outfmt;
+extern float tv_param_fps;
typedef struct tvi_info_s
{