io.lindstrom.m3u8.model.Playlist Maven / Gradle / Ivy
package io.lindstrom.m3u8.model;
import org.immutables.value.Value;
import java.util.Optional;
/**
* Common playlist interface
*
* @see MasterPlaylist
* @see MediaPlaylist
*/
public interface Playlist {
/**
* The playlist compatibility version.
*
* @return playlist version
* @see
* RFC 8216 - 4.3.1.2. EXT-X-VERSION
*/
Optional version();
/**
* Returns true if the tag EXT-X-INDEPENDENT-SEGMENTS is present in the playlist.
*
* @return true if present
* @see
* RFC 8216 - 4.3.5.1. EXT-X-INDEPENDENT-SEGMENTS
*/
@Value.Default
default boolean independentSegments() {
return false;
}
/**
* The playlist start time offset.
* @return start time offset
* @see
* RFC 8216 - 4.3.5.2. EXT-X-START
*/
Optional startTimeOffset();
}