http://packetstormsecurity.org/UNIX/admin/xscreensaver-4.14.tar.gz
[xscreensaver] / driver / xscreensaver-getimage-video
index 03375bab96a9eb1bd9178acad03f46030f0c2b38..d35d0ca730476ead33a91473f070235d47e1fd26 100755 (executable)
@@ -29,7 +29,7 @@ use diagnostics;
 use strict;
 
 my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.10 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.12 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
 
 my $verbose = 0;
 
@@ -55,7 +55,7 @@ my @programs = (
   "bttvgrab -d q -Q -l 1 -o ppm -f $tmpfile",  # BTTV
   "qcam > $tmpfile",                           # Connectix Qcam
   "gqcam -t PPM -d $tmpfile",                  # GTK+ Qcam clone
-  "streamer -a -s 768x576 -o $tmpfile",                # XawTV
+  "streamer -s 768x576 -o $tmpfile",           # XawTV
   "atitv snap $tmpfile",                       # ATI video capture card
 
   "grab -type ppm -format ntsc -source 1 " .
@@ -98,7 +98,8 @@ sub pick_grabber {
 }
 
 
-my $use_stdout = 0;
+my $use_stdout_p = 0;
+my $return_filename_p = 0;
 
 sub grab_image {
   my $cmd = pick_grabber();
@@ -113,7 +114,11 @@ sub grab_image {
       error "\"$cmd\" produced no data.";
     }
 
-  if ($use_stdout) {
+  if ($return_filename_p) {
+    print STDERR "$progname: wrote \"$tmpfile\"\n" if ($verbose);
+    print STDOUT "$tmpfile\n";
+
+  } elsif ($use_stdout_p) {
     local *IN;
     my $ppm = "";
     my $reader  = "<$tmpfile";
@@ -147,7 +152,7 @@ sub grab_image {
 
 
 sub usage {
-  print STDERR "usage: $progname [--verbose] [--stdout]\n";
+  print STDERR "usage: $progname [--verbose] [--name | --stdout]\n";
   exit 1;
 }
 
@@ -156,7 +161,8 @@ sub main {
     shift @ARGV;
     if ($_ eq "--verbose") { $verbose++; }
     elsif (m/^-v+$/) { $verbose += length($_)-1; }
-    elsif (m/^--?stdout$/) { $use_stdout = 1; }
+    elsif (m/^--?stdout$/) { $use_stdout_p = 1; }
+    elsif (m/^--?name$/)   { $return_filename_p = 1; }
     elsif (m/^-./) { usage; }
     else { usage; }
   }