NAME

Parse::M3U::Extended - Extended M3U playlist parser

SYNOPSIS

use LWP::Simple;
use Parse::M3U::Extended qw(m3u_parser);

my $m3u = get("http://example.com/foo.m3u");
my @items = m3u_parser($m3u);

DESCRIPTION

This module contains a simple parser for the Extended M3U playlist format as used in e.g. HTTP Live Streaming. It also supports the regular M3U format, usually found with digital copies of music albums etc.

SUBROUTINES

m3u_parser

Takes a m3u playlist as a string and returns a list, with each element is a hashref with the keys type and value. If the playlist's first line is "#EXTM3U\n", then the elements in the returned list can have type "directive", which has a "tag" key and the value key is optional.

{
  type => 'comment',
  value => 'a comment',
}

{
  type => 'item',
  value => 'http://example.com/foo.mp3',
}

{
  type => 'directive',
  tag => 'EXTM3U',
}

{
  type => 'directive',
  tag => 'EXT-X-ALLOW-CACHE',
  value => 'YES',
}

SEE ALSO

  • IETF Internet Draft: draft-pantos-http-live-streaming-08

COPYRIGHT

Copyright (c) 2012, 2016 - Olof Johansson <olof@cpan.org> All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.