grafov / m3u8

Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema:
http://tools.ietf.org/html/draft-pantos-http-live-streaming
BSD 3-Clause "New" or "Revised" License
1.23k stars 315 forks source link

Add support for "m3u+" #123

Closed hoshsadiq closed 4 years ago

hoshsadiq commented 5 years ago

This add support for m3u+. Which should close #82

I've made it fail when strict=true since, from what I could tell, this is not part of the spec.

Let me know what you guys think.

coveralls commented 5 years ago

Coverage Status

Coverage increased (+2.9%) to 74.871% when pulling c0d276dbf913de8382f5037ebeedaafae709e94f on hoshsadiq:master into 1d88be54fa785021109edc0bd1a65518cec073a9 on grafov:master.

hoshsadiq commented 5 years ago

Anyone?

hoshsadiq commented 5 years ago

@leikao sorry to keep adding commits. I am currently using the library for my own project, and I'm adding these changes as I find edge cases. however, I think this is ready when it comes to attributes. Will raise new PRs for other things if I find them.

hoshsadiq commented 5 years ago

@leikao sorry to be a bother, but I'm trying to setup automated builds for a project that I'm working on. Since I've included this project in the go.mod, it's pulling this repo which doesn't include the required Attributes that I need in the project. Will you be able to merge it soon?

hoshsadiq commented 5 years ago

While this probably started out as a custom implementation it is relatively widely used today. Many IPTV services produce m3u files using these attributes and many player such Kodi also understand these tags. Also I based on what @bradleyfalzon said in https://github.com/grafov/m3u8/pull/83#issuecomment-298267652