Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.05 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use feature qw(say);
  5.  
  6. my @devices = (
  7.     'hw:0,0',
  8. );
  9. my @rates = (
  10.     '48000',
  11.     '96000',
  12. );
  13. my @formats = (
  14.     'S16_LE',
  15. );
  16. sub test {
  17.     my $device = shift();
  18.     my $rate = shift();
  19.     my $format = shift();
  20.     my $cmd = "aplay";
  21.     $cmd .= " --duration=1";
  22.     $cmd .= " --channels=2";
  23.     $cmd .= " --device=$device";
  24.     $cmd .= " --rate=$rate";
  25.     $cmd .= " --format=$format";
  26.     $cmd .= " --disable-format";
  27.     $cmd .= " --quiet";
  28.     $cmd .= " /dev/zero";
  29.     $cmd .= " 2>&1";
  30.     my $data = `$cmd`;
  31.     return $data
  32. }
  33. foreach my $device (@devices) {
  34.     foreach my $rate (@rates) {
  35.         foreach my $format (@formats) {
  36.             my $lines = test(
  37.                 $device,
  38.                 $rate,
  39.                 $format
  40.             );
  41.             my @lines = split(/\n/, $lines);
  42.             my $result = 'PASS';
  43.             if(@lines > 0) {
  44.                 $result = 'FAIL';
  45.                 print("$result device='$device' rate='$rate' format='$format' $lines[0]\n");
  46.                 foreach my $line (@lines) {
  47.                     print("$line\n");
  48.                 }
  49.             } else {
  50.                 print("$result device='$device' rate='$rate' format='$format'\n");
  51.             }
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement