use HTTP::Cookies;
use HTML::TokeParser;
use Data::Dumper;
-use List::Util;
use strict;
if ($e =~ m|\x22fmt_url_map\x22\s*:\s*\x22([^\x22]+)\x22|) {
$self->debug("Found fmt_url_map: %s", $1);
my $urls = $1;
- my @urls;
my %urls;
- $urls =~ s/%(..)/chr(hex($1))/ge;
- @urls = split(/,/, $urls);
- foreach (@urls) {
- my ($tag, $url) = split(/\|/);
- if ($tag == 35) {
- $self->debug('Found flv,h264,large: %s', $url);
- } elsif ($tag == 34) {
- $self->debug('Found flv,h264: %s', $url);
- } elsif ($tag == 22) {
- $self->debug('Found mp4,h264,large: %s', $url);
- } elsif ($tag == 18) {
- $self->debug('Found mp4,h264: %s', $url);
- } elsif ($tag == 5) {
- $self->debug('Found flv,flv: %s', $url);
+ $urls =~ s/%([[:xdigit:]]{2})/chr(hex($1))/ge;
+ %urls = split(/[\|,]/, $urls);
+ $self->debug("Found quality levels [%s]", join(", ", keys(%urls)));
+
+ foreach (keys(%urls)) {
+ if ($_ == 35) {
+ $self->debug('Found flv,h264,large: %s', $urls{$_});
+ } elsif ($_ == 34) {
+ $self->debug('Found flv,h264: %s', $urls{$_});
+ } elsif ($_ == 22) {
+ $self->debug('Found mp4,h264,large: %s', $urls{$_});
+ } elsif ($_ == 18) {
+ $self->debug('Found mp4,h264: %s', $urls{$_});
+ } elsif ($_ == 5) {
+ $self->debug('Found flv,flv: %s', $urls{$_});
} else {
- $self->error('Unknown tag %s: %s', $tag, $url);
- next;
+ $self->error('Unknown tag %s: %s', $_, $urls{$_});
}
- $urls{$tag} = $url;
}
foreach (@{$preflist}) {