summaryrefslogtreecommitdiffstats
path: root/perl-install/harddrake/v4l.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/harddrake/v4l.pm')
-rw-r--r--perl-install/harddrake/v4l.pm18
1 files changed, 8 insertions, 10 deletions
diff --git a/perl-install/harddrake/v4l.pm b/perl-install/harddrake/v4l.pm
index 9d4feaa14..b2f5fe5b9 100644
--- a/perl-install/harddrake/v4l.pm
+++ b/perl-install/harddrake/v4l.pm
@@ -279,7 +279,7 @@ my %pll_lst =
);
sub config {
- my ($in, $driver) = @_;
+ my ($in, $modules_conf, $driver) = @_;
my $min_gbuffers = 2;
my $max_gbuffers = 32;
@@ -290,7 +290,7 @@ sub config {
my %rvs_cards_list = reverse %cards_list;
# get the existing options (if there are any)
- my $current = modules::get_options($driver);
+ my $current = $modules_conf->get_options($driver);
foreach (split(/\s+/,$current)) {
$conf{$1} = $2 if /^(gbuffers|tuner|radio|pll)=(.+)/;
@@ -302,8 +302,10 @@ sub config {
$conf{gbuffers} = min($max_gbuffers, $conf{gbuffers});
$conf{card} = $default if !defined $cards_list{$conf{card}};
$conf{tuner} = -1 if !defined $tuners_lst{$conf{tuner}};
- $conf{pll} = -1 if !defined $pll_lst{$conf{tuner}};
- $conf{radio} = 0 if $conf{radio} !~ /(0|1)/;
+ if ($driver eq 'bttv') {
+ $conf{pll} = -1 if !defined $pll_lst{$conf{tuner}};
+ $conf{radio} = 0 if $conf{radio} !~ /(0|1)/;
+ }
if ($in->ask_from("BTTV configuration", N("For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-detect the rights parameters.
@@ -319,14 +321,10 @@ If your card is misdetected, you can force the right tuner and card types here.
))
{
$conf{card} = $cards_list{$conf{card}};
-
- my $options =
- 'radio=' . ($conf{radio} ? 1 : 0) . ' ' .
- join(' ', map { if_($conf{$_} ne -1, "$_=$conf{$_}") } qw(card pll tuner gbuffers));
- if ($options) {
+ if (my $options = join(' ', if_($driver eq 'bttv', 'radio=' . ($conf{radio} ? 1 : 0)), map { if_($conf{$_} ne -1, "$_=$conf{$_}") } qw(card pll tuner gbuffers))) {
log::l(qq([harddrake::v4l] set "$options" options for $driver));
# log::explanations("modified file /etc/modules.conf ($options)") if $::isStandalone;
- modules::set_options($driver, $options);
+ $modules_conf->set_options($driver, $options);
}
return 1;
}