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 {