io.lindstrom.m3u8.model.IFrameVariant Maven / Gradle / Ivy
package io.lindstrom.m3u8.model;
import org.immutables.value.Value;
import java.util.List;
import java.util.Optional;
/**
* I-Frame variant stream (EXT-X-I-FRAME-STREAM-INF)
*
* @see
* RFC 8216 - 4.3.4.3. EXT-X-I-FRAME-STREAM-INF
* @see Variant
*/
@Value.Immutable
public interface IFrameVariant {
String uri();
long bandwidth();
Optional averageBandwidth();
List codecs();
Optional resolution();
Optional hdcpLevel();
Optional video();
Optional programId();
Optional videoRange();
static Builder builder() {
return new Builder();
}
class Builder extends IFrameVariantBuilder {
public Builder videoRange(String value) {
return videoRange(VideoRange.valueOf(value));
}
}
}