diff --git a/cfg-common.h b/cfg-common.h index abc186adf3..941d9b8348 100644 --- a/cfg-common.h +++ b/cfg-common.h @@ -227,6 +227,7 @@ struct config tvopts_conf[]={ {"treble", &tv_param_treble, CONF_TYPE_INT, CONF_RANGE, 0, 65535, NULL}, {"balance", &tv_param_balance, CONF_TYPE_INT, CONF_RANGE, 0, 65535, NULL}, {"forcechan", &tv_param_forcechan, CONF_TYPE_INT, CONF_RANGE, 1, 2, NULL}, + {"forceaudio", &tv_param_force_audio, CONF_TYPE_FLAG, 0, 0, 1, NULL}, #ifdef HAVE_ALSA9 {"alsa", &tv_param_alsa, CONF_TYPE_FLAG, 0, 0, 1, NULL}, #endif diff --git a/libmpdemux/tv.c b/libmpdemux/tv.c index e0f78c906c..7ecd6339e9 100644 --- a/libmpdemux/tv.c +++ b/libmpdemux/tv.c @@ -59,6 +59,7 @@ int tv_param_bass = -1; int tv_param_treble = -1; int tv_param_balance = -1; int tv_param_forcechan = -1; +int tv_param_force_audio = 0; #ifdef HAVE_ALSA9 int tv_param_alsa = 0; #endif diff --git a/libmpdemux/tv.h b/libmpdemux/tv.h index ce622ea8f9..d780f68083 100644 --- a/libmpdemux/tv.h +++ b/libmpdemux/tv.h @@ -31,6 +31,7 @@ extern int tv_param_bass; extern int tv_param_treble; extern int tv_param_balance; extern int tv_param_forcechan; +extern int tv_param_force_audio; #ifdef HAVE_ALSA9 extern int tv_param_alsa; #endif diff --git a/libmpdemux/tvi_v4l.c b/libmpdemux/tvi_v4l.c index 22d801f6a3..0602f5286a 100644 --- a/libmpdemux/tvi_v4l.c +++ b/libmpdemux/tvi_v4l.c @@ -492,7 +492,7 @@ static int init(priv_t *priv) /* init v4l audio even when we don't capture */ init_v4l_audio(priv); - if (!priv->capability.audios) tv_param_noaudio = 1; + if (!priv->capability.audios && !tv_param_force_audio) tv_param_noaudio = 1; /* audio init */ if (!tv_param_noaudio) {