Apache-MP3
view release on metacpan or search on metacpan
MP3/Playlist.pm view on Meta::CPAN
}
sub retrieve_playlist {
my $self = shift;
my $r = $self->r;
my $session = $self->session;
$session->param(playlist=>[]) unless $session->param('playlist');
my $playlist = $session->param('playlist');
$r->err_headers_out->add('Set-Cookie' => CGI::Cookie->new(-name=>'apache_mp3',
-value=>$session->id,
));
$playlist;
}
sub session {
my $self = shift;
local $CGI::Session::NAME = 'apache_mp3';
return $self->{session} ||= CGI::Session->new();
}
MP3/Resample.pm view on Meta::CPAN
package Apache::MP3::Resample;
# $Id: Resample.pm,v 1.7 2003/10/06 14:10:30 lstein Exp $
# Resamples (downsamples) on the fly
use strict;
use vars qw(@ISA $VERSION);
use Apache2::Const -compile => qw(:common);
use IO::File;
use CGI qw(:standard *table *TR *td escape);
use CGI::Cookie;
use Apache::MP3::Playlist;
use File::Basename;
$VERSION = 1.0;
@ISA = 'Apache::MP3::Playlist';
use constant ENCODE => qq(%Dlame%I %b -%F);
my @DECOMPRESSOR_DEFAULTS = ("audio/shorten" => "shorten -x %f -|",
"audio/flac" => "flac -d -c -s %f|");
MP3/Resample.pm view on Meta::CPAN
$self->SUPER::run();
}
sub process_cookies {
my $self = shift;
my $r = $self->r;
# don't set cookies for ordinary MP3 file downloads.
return if !param() && !-d $r->filename;
if (my $cookies = CGI::Cookie->parse($r->headers_in('Cookie'))) {
$self->bitrate($cookies->{bitrate}->value)
if $cookies->{bitrate};
}
$self->bitrate(param('bitrate')) if defined param('bitrate');
my $c = CGI::Cookie->new(-name => 'bitrate',
-value => $self->bitrate,
-expires => '+90d'
);
tied(%{$r->err_headers_out})->add('Set-Cookie' => $c);
param(bitrate => $self->bitrate);
}
sub bitrate {
my $self = shift;
my $g = $self->{bitrate};
$self->{bitrate} = shift if @_;
return unless $self->presets($g);
$g;
}
( run in 0.341 second using v1.01-cache-2.11-cpan-4e96b696675 )