diff options
Diffstat (limited to 'perl-install/harddrake/v4l.pm')
| -rw-r--r-- | perl-install/harddrake/v4l.pm | 18 |
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; } |
