package net.northking.cctp.upperComputer.driver.agent.command.data;

import java.util.ArrayList;
import java.util.List;

public class MediaCodecInfo {
    private String name;
    private String canonicalName;
    private boolean isAlias;
    private boolean isVendor;
    private boolean isSoftwareOnly;
    private boolean isHardwareAccelerated;
    private boolean isEncoder;
    private List<String> supportedTypes = new ArrayList<>(0);

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCanonicalName() {
        return canonicalName;
    }

    public void setCanonicalName(String canonicalName) {
        this.canonicalName = canonicalName;
    }

    public boolean isAlias() {
        return isAlias;
    }

    public void setAlias(boolean alias) {
        isAlias = alias;
    }

    public boolean isVendor() {
        return isVendor;
    }

    public void setVendor(boolean vendor) {
        isVendor = vendor;
    }

    public boolean isSoftwareOnly() {
        return isSoftwareOnly;
    }

    public void setSoftwareOnly(boolean softwareOnly) {
        isSoftwareOnly = softwareOnly;
    }

    public boolean isHardwareAccelerated() {
        return isHardwareAccelerated;
    }

    public void setHardwareAccelerated(boolean hardwareAccelerated) {
        isHardwareAccelerated = hardwareAccelerated;
    }

    public boolean isEncoder() {
        return isEncoder;
    }

    public void setEncoder(boolean encoder) {
        isEncoder = encoder;
    }

    public List<String> getSupportedTypes() {
        return supportedTypes;
    }

    public void setSupportedTypes(List<String> supportedTypes) {
        this.supportedTypes = supportedTypes;
    }

    @Override
    public String toString() {
        return "MediaCodecInfo{" +
                "name='" + name + '\'' +
                ", canonicalName='" + canonicalName + '\'' +
                ", isAlias=" + isAlias +
                ", isVendor=" + isVendor +
                ", isSoftwareOnly=" + isSoftwareOnly +
                ", isHardwareAccelerated=" + isHardwareAccelerated +
                ", isEncoder=" + isEncoder +
                ", supportedTypes=" + supportedTypes +
                '}';
    }
}
