Guest User

Untitled

a guest
Sep 28th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.50 KB | None | 0 0
  1. --- ProtocolHandler.pm  2012-02-20 00:15:06.000000000 +0000
  2. +++ /home/alasdair/ProtocolHandler.pm   2012-09-28 10:27:25.180538890 +0100
  3. @@ -402,23 +402,19 @@
  4.  
  5.                  # Replace known unicode characters
  6.                  $vars{url_encoded_fmt_stream_map} =~ s/\\u0026/\&/g;
  7. +                $vars{url_encoded_fmt_stream_map} =~ s/sig=/signature=/g;
  8.                  $log->debug("url_encoded_fmt_stream_map: $vars{url_encoded_fmt_stream_map}");
  9.              }
  10.  
  11.             my $streams = uri_unescape($vars{url_encoded_fmt_stream_map});
  12. -
  13. -           for my $stream (split(/,/, $streams)) {
  14. -               if ($stream =~ /^url=(.*)&itag=(.*)/) {
  15. -                   $streams{$2} = uri_unescape ($1);
  16. -               }
  17. -           }
  18. +           my %stream_hash = ($streams) =~ m/itag=(.+?)&url=(.+?=.+?)(?=,itag.+?)/ig;
  19.  
  20.             # check streams in preferred id order
  21.             my @streamOrder = $prefs->get('prefer_lowbitrate') ? (5, 34) : (34, 35, 5);
  22.  
  23.             for my $id (@streamOrder) {
  24. -               if (my $stream = $streams{$id}) {
  25. -                   push @streams, { url => $streams{$id}, format => $id == 5 ? 'mp3' : 'aac' };
  26. +               if (my $stream = $stream_hash{$id}) {
  27. +                   push @streams, { url => uri_unescape($stream_hash{$id}), format => $id == 5 ? 'mp3' : 'aac' };
  28.                 }
  29.             }
  30.  
  31. @@ -515,7 +511,7 @@
  32.                 my $meta = {
  33.                     title    => $title,
  34.                     artist   => $artist,
  35. -                   duration => $xml->{'media:group'}->{'yt:duration'}->{'seconds'},
  36. +                   duration => $xml->{'media:group'}->{'duration'},
  37.                     icon     => $icon,
  38.                     cover    => $cover || $icon,
  39.                     type     => 'YouTube',
Advertisement
Add Comment
Please, Sign In to add comment