mirror of
https://github.com/v0l/m3u8-rs.git
synced 2025-06-21 10:50:44 +00:00
fix: target duration should be float
This commit is contained in:
@ -42,7 +42,7 @@
|
||||
//!
|
||||
//! let playlist = MediaPlaylist {
|
||||
//! version: Some(6),
|
||||
//! target_duration: 3,
|
||||
//! target_duration: 3.,
|
||||
//! media_sequence: 338559,
|
||||
//! discontinuity_sequence: 1234,
|
||||
//! end_list: true,
|
||||
@ -74,7 +74,7 @@
|
||||
//! WRITE_OPT_FLOAT_PRECISION.store(5, Ordering::Relaxed);
|
||||
//!
|
||||
//! let playlist = MediaPlaylist {
|
||||
//! target_duration: 3,
|
||||
//! target_duration: 3.,
|
||||
//! segments: vec![
|
||||
//! MediaSegmentType::Full(MediaSegment {
|
||||
//! duration: 2.9,
|
||||
|
@ -344,7 +344,7 @@ fn parse_media_playlist_tags(i: &[u8]) -> IResult<&[u8], Vec<MediaPlaylistTag>>
|
||||
enum MediaPlaylistTag {
|
||||
Version(usize),
|
||||
Segment(SegmentTag),
|
||||
TargetDuration(u64),
|
||||
TargetDuration(f32),
|
||||
MediaSequence(u64),
|
||||
DiscontinuitySequence(u64),
|
||||
EndList,
|
||||
@ -367,7 +367,7 @@ fn media_playlist_tag(i: &[u8]) -> IResult<&[u8], MediaPlaylistTag> {
|
||||
alt((
|
||||
map(version_tag, MediaPlaylistTag::Version),
|
||||
map(
|
||||
pair(tag("#EXT-X-TARGETDURATION:"), number),
|
||||
pair(tag("#EXT-X-TARGETDURATION:"), float),
|
||||
|(_, duration)| MediaPlaylistTag::TargetDuration(duration),
|
||||
),
|
||||
map(
|
||||
|
@ -735,7 +735,7 @@ impl SessionData {
|
||||
pub struct MediaPlaylist {
|
||||
pub version: Option<usize>,
|
||||
/// `#EXT-X-TARGETDURATION:<s>`
|
||||
pub target_duration: u64,
|
||||
pub target_duration: f32,
|
||||
/// `#EXT-X-MEDIA-SEQUENCE:<number>`
|
||||
pub media_sequence: u64,
|
||||
pub segments: Vec<MediaSegmentType>,
|
||||
|
@ -203,7 +203,7 @@ fn create_and_parse_master_playlist_empty() {
|
||||
fn create_segment_float_inf() {
|
||||
let playlist = Playlist::MediaPlaylist(MediaPlaylist {
|
||||
version: Some(6),
|
||||
target_duration: 3,
|
||||
target_duration: 3.0,
|
||||
media_sequence: 338559,
|
||||
discontinuity_sequence: 1234,
|
||||
end_list: true,
|
||||
@ -335,7 +335,7 @@ fn create_and_parse_media_playlist_empty() {
|
||||
#[test]
|
||||
fn create_and_parse_media_playlist_single_segment() {
|
||||
let mut playlist_original = Playlist::MediaPlaylist(MediaPlaylist {
|
||||
target_duration: 2,
|
||||
target_duration: 2.,
|
||||
segments: vec![MediaSegmentType::Full(MediaSegment {
|
||||
uri: "20140311T113819-01-338559live.ts".into(),
|
||||
duration: 2.002,
|
||||
@ -352,7 +352,7 @@ fn create_and_parse_media_playlist_single_segment() {
|
||||
fn create_and_parse_media_playlist_full() {
|
||||
let mut playlist_original = Playlist::MediaPlaylist(MediaPlaylist {
|
||||
version: Some(4),
|
||||
target_duration: 3,
|
||||
target_duration: 3.,
|
||||
media_sequence: 338559,
|
||||
discontinuity_sequence: 1234,
|
||||
end_list: true,
|
||||
@ -480,7 +480,7 @@ fn parsing_binary_data_should_fail_cleanly() {
|
||||
fn create_and_parse_media_playlist_llhls() {
|
||||
let mut playlist_original = Playlist::MediaPlaylist(MediaPlaylist {
|
||||
version: Some(9),
|
||||
target_duration: 2,
|
||||
target_duration: 2.,
|
||||
media_sequence: 338559,
|
||||
discontinuity_sequence: 1234,
|
||||
end_list: false,
|
||||
|
Reference in New Issue
Block a user