Merge pull request #73 from rutgersc/fix/targetduration

#EXT-X-TARGETDURATION:<s> is supposed to be a decimal-integer
This commit is contained in:
rutgersc 2024-01-30 20:57:38 +01:00 committed by GitHub
commit 7f322675eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 7 additions and 7 deletions

View file

@ -1,6 +1,6 @@
[package] [package]
name = "m3u8-rs" name = "m3u8-rs"
version = "5.0.5" version = "6.0.0"
authors = ["Rutger"] authors = ["Rutger"]
readme = "README.md" readme = "README.md"
repository = "https://github.com/rutgersc/m3u8-rs" repository = "https://github.com/rutgersc/m3u8-rs"

View file

@ -42,7 +42,7 @@
//! //!
//! let playlist = MediaPlaylist { //! let playlist = MediaPlaylist {
//! version: Some(6), //! version: Some(6),
//! target_duration: 3.0, //! target_duration: 3,
//! media_sequence: 338559, //! media_sequence: 338559,
//! discontinuity_sequence: 1234, //! discontinuity_sequence: 1234,
//! end_list: true, //! end_list: true,

View file

@ -344,7 +344,7 @@ fn parse_media_playlist_tags(i: &[u8]) -> IResult<&[u8], Vec<MediaPlaylistTag>>
enum MediaPlaylistTag { enum MediaPlaylistTag {
Version(usize), Version(usize),
Segment(SegmentTag), Segment(SegmentTag),
TargetDuration(f32), TargetDuration(u64),
MediaSequence(u64), MediaSequence(u64),
DiscontinuitySequence(u64), DiscontinuitySequence(u64),
EndList, EndList,
@ -361,7 +361,7 @@ fn media_playlist_tag(i: &[u8]) -> IResult<&[u8], MediaPlaylistTag> {
alt(( alt((
map(version_tag, MediaPlaylistTag::Version), map(version_tag, MediaPlaylistTag::Version),
map( map(
pair(tag("#EXT-X-TARGETDURATION:"), float), pair(tag("#EXT-X-TARGETDURATION:"), number),
|(_, duration)| MediaPlaylistTag::TargetDuration(duration), |(_, duration)| MediaPlaylistTag::TargetDuration(duration),
), ),
map( map(

View file

@ -713,7 +713,7 @@ impl SessionData {
pub struct MediaPlaylist { pub struct MediaPlaylist {
pub version: Option<usize>, pub version: Option<usize>,
/// `#EXT-X-TARGETDURATION:<s>` /// `#EXT-X-TARGETDURATION:<s>`
pub target_duration: f32, pub target_duration: u64,
/// `#EXT-X-MEDIA-SEQUENCE:<number>` /// `#EXT-X-MEDIA-SEQUENCE:<number>`
pub media_sequence: u64, pub media_sequence: u64,
pub segments: Vec<MediaSegment>, pub segments: Vec<MediaSegment>,

View file

@ -304,7 +304,7 @@ fn create_and_parse_media_playlist_empty() {
#[test] #[test]
fn create_and_parse_media_playlist_single_segment() { fn create_and_parse_media_playlist_single_segment() {
let mut playlist_original = Playlist::MediaPlaylist(MediaPlaylist { let mut playlist_original = Playlist::MediaPlaylist(MediaPlaylist {
target_duration: 2.0, target_duration: 2,
segments: vec![MediaSegment { segments: vec![MediaSegment {
uri: "20140311T113819-01-338559live.ts".into(), uri: "20140311T113819-01-338559live.ts".into(),
duration: 2.002, duration: 2.002,
@ -321,7 +321,7 @@ fn create_and_parse_media_playlist_single_segment() {
fn create_and_parse_media_playlist_full() { fn create_and_parse_media_playlist_full() {
let mut playlist_original = Playlist::MediaPlaylist(MediaPlaylist { let mut playlist_original = Playlist::MediaPlaylist(MediaPlaylist {
version: Some(4), version: Some(4),
target_duration: 3.0, target_duration: 3,
media_sequence: 338559, media_sequence: 338559,
discontinuity_sequence: 1234, discontinuity_sequence: 1234,
end_list: true, end_list: true,