All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.alexeylapin.m3u8.model.IFrameVariant Maven / Gradle / Ivy

package com.github.alexeylapin.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();

    Optional score();

    List codecs();

    Optional resolution();

    Optional hdcpLevel();

    List allowedCpc();

    Optional stableVariantId();

    Optional video();

    Optional programId();
    
    Optional videoRange();

    Optional name();

    Optional language();

    Optional pathwayId();

    static Builder builder() {
        return new Builder();
    }

    class Builder extends IFrameVariantBuilder {
        public Builder videoRange(String value) {
            return videoRange(VideoRange.valueOf(value));
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy