Florent BERANGER <[EMAIL PROTECTED]> writes:
> > > Yes, about drakxtv bugs. Sorry if it's out of topic but I think that
> > > drakxtv need to be upgraded.
> >
> > there's no bug in not configuring something that cannot be configured
>
> ? In http://www.mandrake.com/en/archives/cooker/2002-11/msg00160.php message,
> the author says that he have to configure something manually. It's just a
> little bug, don't formalize please.
this message talk about bttv and old tv card that don't have subsystem
ids we can check to discriminate the right model.
i don't see the drakxtv bug here.
unlike what you said, this is where harddrake::v4l is nice since it
enable one to pick his tv card & tuner models in pull down menus.
> > > > > > i quote you : "drakxtv doesn't handle all bttv cards"
> > > > >
> > > > > yes, some bttv cards doesn't works fine (no sound, only one channel
> > > > > as described in
> > > > > http://www.mandrake.com/en/archives/cooker/2002-11/msg00160.php )
> > > >
> > > > you speak of totally different things:
> > > >
> > > > - support of cards supported by bttv, which we do fine for quite some
> > > > time
> > > >
> > > > - support for other devices (such as dvb, saa7134, usb video, ...).
> > > > for each new case we added, we need to think before doing
> > > > anything. so are they webcam or real tv tuners ?
> > >
> > > They are TV cards in user view.
> >
> > all i want to know is if they support chanell selection ?
>
> no scantv with actual driver (see : http://www.emuit.com/webcam.html
> for more info).
this page source is currently :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"><html><head><title></title></head>
<body></body></html>
... which is quite empty
anyway, i reviewed your patch. i cleaned the source.
here's the cleaned (untested) version :
Index: harddrake/data.pm
===================================================================
RCS file: /cooker/gi/perl-install/harddrake/data.pm,v
retrieving revision 1.41
diff -u -w -r1.41 data.pm
--- harddrake/data.pm 2002/11/06 13:20:18 1.41
+++ harddrake/data.pm 2002/11/06 16:22:19
@@ -11,7 +11,7 @@
# Update me each time you handle one more devices class (aka configurator)
sub unknown {
- grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne 'scanner') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/} @devices;
+ grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne '^(scanner|usbvideo)$') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/ } @devices;
}
@@ -28,7 +28,7 @@
["DVDROM","DVD-ROM", "cd.png", "", sub { grep { ! detect_devices::isBurner($_) } detect_devices::dvdroms}, 0 ],
["TAPE","Tape", "tape.png", "", \&detect_devices::tapes, 0 ],
["VIDEO","Videocard", "video.png", "$sbindir/XFdrake", sub { grep { $_->{driver} =~ /^(Card|Server):/ || $_->{media_type} =~ 'DISPLAY_VGA' } @devices }, 1 ],
- ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI' } @devices}, 0 ],
+ ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { ($_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI')||($_->{driver} eq 'usbvision' && (($_->{description} =~ '(Hauppauge|Pinnacle Systems, Inc.)'))) } @devices}, 0 ],
["MULTIMEDIA_OTHER","Other MultiMedia devices", "multimedia.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_OTHER' } @devices}, 0 ],
["AUDIO","Soundcard", "sound.png", "$sbindir/draksound", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_AUDIO' } @devices}, 0 ],
["WEBCAM","Webcam", "webcam.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} ne 'PCI'} @devices }, 0 ],
Index: standalone/drakxtv
===================================================================
RCS file: /cooker/gi/perl-install/standalone/drakxtv,v
retrieving revision 1.27
diff -u -r1.27 drakxtv
--- standalone/drakxtv 2002/11/06 13:20:21 1.27
+++ standalone/drakxtv 2002/11/06 16:02:11
@@ -134,20 +134,24 @@
}
}
-my @devices = grep { $_->{media_type} eq 'MULTIMEDIA_VIDEO' } detect_devices::probeall(1);
+my @devices = grep { ($_->{media_type} eq 'MULTIMEDIA_VIDEO') || ($_->{driver} eq 'usbvision' && (($_->{description} =~ '(Hauppauge|Pinnacle Systems, Inc.)'))) } detect_devices::probeall(1);
if (@devices) {
# TODO: That need some work for multiples TV cards
foreach (@devices) {
- if (($< == 0) && (grep { $_->{driver} =~ '(bttv|saa7134)' } @devices)) {
- require harddrake::v4l;
- require modules;
- no strict 'subs';
- modules::read_conf;
- harddrake::v4l::config($in, $_->{driver});
- modules::write_conf;
- }
- scan4channels();
- $in->exit(0);
+ if ($< == 0) {
+ if (grep { $_->{driver} =~ '(bttv|saa7134)' } @devices) {
+ require harddrake::v4l;
+ require modules;
+ no strict 'subs';
+ modules::read_conf;
+ harddrake::v4l::config($in, $_->{driver});
+ modules::write_conf;
+ scan4channels();
+ } elsif (grep { $_->{driver} = 'usbvision' } @devices) {
+ $in->ask_warn(_("usbision USB TV cards"),_("Your TV card is not fully impemented yet in actual version.\nSee www.emuit.com/webcam.html web page for driver status."));
+ }
+
+ }
}
} else {
$in->ask_warn(N("No TV Card detected!"), formatAlaTeX(
@@ -159,6 +163,7 @@
http://www.linux-mandrake.com/en/hardware.php3")));
}
+$in->exit(0) if defined $in;
# TODO:
(which has the stupid "cannot configure" window that i don't accept)
i looked at usbvision source. it support VIDIOC{G,S}FREQ v4l ioctl, so
i agree to add it to tv cards and offer to scan channels on.
since scantv uses VIDIOCSFREQ, it should works smoothly.
i don't understand the next part :
$_->{description} =~ '(Hauppauge|Pinnacle Systems, Inc.)
i thought that all devices that usbvision supports should support
VIDIOCSFREQ; so is this vendor string test really is needed ?
then we can simply do :
Index: harddrake/data.pm
===================================================================
RCS file: /cooker/gi/perl-install/harddrake/data.pm,v
retrieving revision 1.41
diff -u -w -r1.41 data.pm
--- harddrake/data.pm 2002/11/06 13:20:18 1.41
+++ harddrake/data.pm 2002/11/06 16:25:07
@@ -11,7 +11,7 @@
# Update me each time you handle one more devices class (aka configurator)
sub unknown {
- grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne 'scanner') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/} @devices;
+ grep { ($_->{media_type} !~ /tape|SERIAL_(USB|SMBUS)|Printer|DISPLAY|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|STORAGE_(IDE|SCSI|OTHER)|BRIDGE|NETWORK/) && ($_->{driver} ne '^(scanner|usbvideo)$') && $_->{type} ne 'network' && $_->{driver} !~ /Mouse:USB/ } @devices;
}
@@ -28,7 +28,7 @@
["DVDROM","DVD-ROM", "cd.png", "", sub { grep { ! detect_devices::isBurner($_) } detect_devices::dvdroms}, 0 ],
["TAPE","Tape", "tape.png", "", \&detect_devices::tapes, 0 ],
["VIDEO","Videocard", "video.png", "$sbindir/XFdrake", sub { grep { $_->{driver} =~ /^(Card|Server):/ || $_->{media_type} =~ 'DISPLAY_VGA' } @devices }, 1 ],
- ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI' } @devices}, 0 ],
+ ["TV","Tvcard", "tv.png", "/usr/bin/XawTV", sub { grep { ($_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} eq 'PCI') || $_->{driver} eq 'usbvision' } @devices}, 0 ],
["MULTIMEDIA_OTHER","Other MultiMedia devices", "multimedia.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_OTHER' } @devices}, 0 ],
["AUDIO","Soundcard", "sound.png", "$sbindir/draksound", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_AUDIO' } @devices}, 0 ],
["WEBCAM","Webcam", "webcam.png", "", sub { grep { $_->{media_type} =~ 'MULTIMEDIA_VIDEO' && $_->{bus} ne 'PCI'} @devices }, 0 ],
Index: standalone/drakxtv
===================================================================
RCS file: /cooker/gi/perl-install/standalone/drakxtv,v
retrieving revision 1.27
diff -u -w -r1.27 drakxtv
--- standalone/drakxtv 2002/11/06 13:20:21 1.27
+++ standalone/drakxtv 2002/11/06 16:25:07
@@ -134,11 +134,11 @@
}
}
-my @devices = grep { $_->{media_type} eq 'MULTIMEDIA_VIDEO' } detect_devices::probeall(1);
+my @devices = grep { ($_->{media_type} eq 'MULTIMEDIA_VIDEO') || $_->{driver} eq 'usbvision' } detect_devices::probeall(1);
if (@devices) {
# TODO: That need some work for multiples TV cards
foreach (@devices) {
- if (($< == 0) && (grep { $_->{driver} =~ '(bttv|saa7134)' } @devices)) {
+ if (( $< == 0) && (grep { $_->{driver} =~ '(bttv|saa7134|usbvision)' } @devices)) {
require harddrake::v4l;
require modules;
no strict 'subs';
@@ -147,8 +147,6 @@
modules::write_conf;
}
scan4channels();
- $in->exit(0);
- }
} else {
$in->ask_warn(N("No TV Card detected!"), formatAlaTeX(
N("No TV Card has been detected on your machine. Please verify that a Linux-supported Video/TV Card is correctly plugged in.
@@ -159,6 +157,7 @@
http://www.linux-mandrake.com/en/hardware.php3")));
}
+$in->exit(0) if defined $in;
# TODO:
btw, do not s!bin/XawTV!sbin/drakxtv! !!!!
> > i can accept your changes regarding harddrake::date *IF* these usb
> > pets don't have the right class (can you provide me the info displayed
> > by harddrake?)
>
> Ok, no problem. I'll send it to you.