Sebastian Dröge
2432846064
Move the crate docs to the root of the crate so they actually show up
...
And also fix all the broken links while we're at it.
2021-11-18 15:04:17 +02:00
Sebastian Dröge
51fcb70113
Re-export all types from the crate root and remove the playlist sub-module
...
There's not much else in this crate and having it behind another module
decreases visibility.
2021-11-18 15:00:01 +02:00
Sebastian Dröge
3edf5d1c0f
Fix various minor clippy warnings
2021-11-18 14:54:46 +02:00
Sebastian Dröge
7e62854e20
Use unwrap_or_default()
instead of unwrap_or_else(Default::default)
2021-11-18 14:52:38 +02:00
Sebastian Dröge
336f11e1ba
Remove useless fn main()
from documentation examples
2021-11-18 14:52:03 +02:00
Sebastian Dröge
a5d8358379
Make most internal parser functions private
...
And move parser internals tests into a test submodule of the parser.
Also add actual assertions to various tests so they test something.
2021-11-18 14:50:14 +02:00
Sebastian Dröge
5500166f74
Fix confusing #[path] usage and re-exports in lib.rs
...
This has effectively the same behaviour now with fewer lines, less
confusion and fewer compiler warnings about unused code.
2021-11-17 19:32:57 +02:00
Sebastian Dröge
4e6ac58d0c
Add tests for parsing non-playlist text and binary data
...
These should fail to parse (and not panic), but previously the
non-playlist text succeeded.
2021-11-17 19:22:28 +02:00
Sebastian Dröge
65c295ee02
Require each M3U8 playlist to start with the #EXTM3U8 tag
...
The RFC requires this to be the very first line of every master/media
playlist, and without this we would be parsing arbitrary text files as
playlist without erroring out.
See https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.1.1
Fixes https://github.com/rutgersc/m3u8-rs/issues/27
2021-11-17 19:14:58 +02:00
Sebastian Dröge
a44c2a1a72
Run parser through cargo fmt
...
Now that we don't use the nom macros anymore this works properly.
2021-11-17 16:00:25 +02:00
Sebastian Dröge
0ed0ce51f8
Migrate to Rust 2018
...
Cleans up some noise.
2021-11-17 16:00:23 +02:00
Sebastian Dröge
81398f86cd
Port to nom 7
...
Fixes https://github.com/rutgersc/m3u8-rs/issues/35
2021-11-17 16:00:08 +02:00
rutgersc
f104d431d9
Merge pull request #34 from rutgersc/ci-check-formatting
...
CI check formatting
2021-10-19 19:50:26 +02:00
Rutger Schoorstra
0a3fb0e671
Version 2.1.0
2021-10-19 19:48:26 +02:00
Rutger Schoorstra
1287975af4
Check cargo fmt
on CI
2021-10-19 19:48:26 +02:00
Rutger Schoorstra
6ee1b52c01
Update readme
2021-10-19 19:48:26 +02:00
rutgersc
303d0ecfce
Merge pull request #33 from rafaelcaricio/apply-fmt-and-clippy
...
Apply cargo fmt and clippy suggestions
2021-10-19 18:54:21 +02:00
3d5599fa28
Apply clippy suggestions
2021-10-18 11:48:30 +02:00
39aab3a2ac
Apply cargo fmt
2021-10-18 11:41:28 +02:00
rutgersc
359695a25c
Merge pull request #30 from rafaelcaricio/support-segment-unknown-tags
...
Support parsing of unknown tags on segments
2021-10-16 21:09:02 +02:00
677027e22c
Update readme with new attribute
2021-10-14 21:35:35 +02:00
dc352301a3
Allow unknown tags at the master playlist level
2021-10-14 21:21:03 +02:00
c1ff2b3730
Support parsing of unknown tags on segments
2021-10-12 23:06:47 +02:00
Rutger Schoorstra
06162a8554
Version 2.0.0
2021-04-24 19:06:57 +02:00
rutgersc
46922bdab3
Merge pull request #23 from rutgersc/use-features
...
Use features to split parser and types
2021-04-24 19:03:49 +02:00
Rutger Schoorstra
dc576c8e3c
Add parser as default feature
2021-04-24 18:43:57 +02:00
Rutger Schoorstra
c3ef5bc16e
Split code into parser/types
2021-04-24 18:39:25 +02:00
rutgersc
5a72e1e875
Merge pull request #24 from thaytan/20-multiple-session-data-keys
...
Fixes for session data and keys handling
2021-04-24 17:29:44 +02:00
Jan Schmidt
05669cab68
Support multiple session data and key tags.
...
Collect Vecs of session_data and session_key tags to
allow for multiples of each. Doesn't do any validation
as to disallowed duplicated values.
Fixes #20
2021-04-25 00:44:08 +10:00
Jan Schmidt
870ca830d3
SessionData: Must have either VALUE or URI, but not both.
...
If SessionData has a value, don't write the URI and vice-versa.
As per https://tools.ietf.org/html/rfc8216#section-4.3.4.4
EXT-X-SESSION-DATA must have one or the other, not both.
2021-04-25 00:44:08 +10:00
rutgersc
85b0826103
Merge pull request #26 from thaytan/update-to-rfc8216
...
Add HDCP-LEVEL and CHANNELS fields.
2021-04-21 18:20:16 +02:00
Jan Schmidt
5fe3fc309c
Add HDCP-LEVEL and CHANNELS fields.
...
Add support for parsing / generating HDCP-LEVEL in a VariantStream
and CHANNELS in AlternativeMedia. The fields were added after
draft-pantos-http-live-streaming-19.txt and brings things up to date
with RFC 8216.
2021-04-21 13:44:17 +10:00
rutgersc
b75379437d
Merge pull request #16 from rafaelcaricio/master
...
Expose unknown tags
2021-04-20 19:35:58 +02:00
3e74f7787f
Expose unknown tags
2021-04-20 19:29:04 +02:00
rutgersc
302ff22f31
Merge pull request #21 from rutgersc/fix/alternatives
...
Move alternatives to MasterPlaylist
2021-04-20 18:47:33 +02:00
Rutger Schoorstra
b44f6518c8
Version 1.0.8
2021-04-18 12:51:43 +02:00
rutgersc
37acdb304d
Merge pull request #22 from rutgersc/fix/line-ending
...
Fix "Last URL in m3u8 file not found unless a new line is found"
2021-04-18 12:07:38 +02:00
Rutger Schoorstra
087c47bddd
Fix consume_line
not returning line when line doesn't end with a newline
2021-04-18 11:59:31 +02:00
Rutger Schoorstra
57d60ba438
Move alternatives to MasterPlaylist
2021-04-16 21:20:30 +02:00
rutgersc
cd9402051e
Merge pull request #18 from thaytan/17-fix-master-playlists
...
Handle blank lines when checking for master playlist tags.
2021-04-16 19:05:22 +02:00
Rutger Schoorstra
64de5e4d9b
Version 1.0.7
2021-03-17 17:16:40 +01:00
Jan Schmidt
978e6a7e58
Handle blank lines when checking for master playlist tags.
...
Fix a bug where a blank line in a master playlist before the first
master playlist tag will make the parser think it's a media playlist.
Fixes #17
2021-03-17 06:41:35 +11:00
Rutger Schoorstra
76aab26b20
Create rust.yml
2020-07-01 17:13:26 +02:00
rutgersc
1b18c7902c
Create rust-windows.yml
2020-07-01 17:08:06 +02:00
rutgersc
e2822e4521
Merge pull request #11 from vagetman/vagetman-nom-5.1.0
...
Upgraded macros to Nom 5
2020-07-01 16:43:30 +02:00
Vadim Getmanshchuk
7a882e5df0
fixed warning: unused std::result::Result
...
```
warning: unused `std::result::Result` that must be used
```
I forgot `?` for the error propagation
2020-03-21 21:23:03 -07:00
Vadim Getmanshchuk
a081b462d1
Stops #X-EXT-KEY and #X-EXT-MAP tags replication
2020-03-15 11:02:35 +01:00
Vadim Getmanshchuk
3fee7b9983
Merge pull request #1 from rutgersc/vaget/vagetman-nom-5.1.0-extra
...
Updated docs, tests to nom 5.1.0
2020-03-08 12:15:03 -07:00
rutgersc
ca9c41d823
Merge pull request #10 from vagetman/patch-1
...
Version update in README to match the current
2020-03-07 10:43:42 +01:00
Rutger Schoorstra
100a57078a
Fix failed test on CLRF
2020-03-07 10:23:06 +01:00