| |
mp3_send.pl
initiates MP3-encoded telephone calls.
0 #!/usr/bin/perl
1 # file mp3_send.pl
2 use strict;
3 use DSP;
4 use IO::Socket;
5 use constant BUFSIZE => 1024;
6 $SIG{CHLD} = sub { exit 0 };
7 my $dest = shift || 'prego';
8 my $port = shift || 2007;
9 my $sock = IO::Socket::INET->new("$dest:$port")
|| die "Can't connect: $!";
10 my $dsp = new DSP;
11 my $child = fork();
12 die "Can't fork: $!" unless defined $child;
13 my $data;
14 if ($child) { # parent process
15 my $uncompress = $dsp->uncompress;
16 print $uncompress $data while sysread($sock, $data, BUFSIZE);
17 kill TERM => $child;
18 } else {
19 my $compress = $dsp->compress;
20 print $sock $data while sysread($compress, $data, BUFSIZE);
21 }
|