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
Rutger Schoorstra
ab9c554eb4
Upgraded tests to Nom 5
2020-03-07 10:23:06 +01:00