Improves configuration handling and stuff
All checks were successful
KnarCraft/FFmpegConvert/pipeline/head This commit looks good

This commit is contained in:
2024-05-19 10:16:51 +02:00
parent ac25ca1986
commit 380a1b800a
22 changed files with 598 additions and 148 deletions

View File

@@ -4,7 +4,6 @@ import net.knarcraft.ffmpegconverter.FFMpegConvert;
import net.knarcraft.ffmpegconverter.config.ConfigHandler;
import net.knarcraft.ffmpegconverter.config.ConfigKey;
import net.knarcraft.ffmpegconverter.utility.OutputUtil;
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.PropertiesConfiguration;
import org.jetbrains.annotations.NotNull;
@@ -17,7 +16,7 @@ import java.util.List;
*/
public record AvailableHardwareEncoderHandler(@NotNull List<String> availableHardwareEncodings) {
private static final ConfigHandler configHandler = FFMpegConvert.getConfigHandler();
private static final ConfigHandler configHandler = FFMpegConvert.getConfiguration().getConfigHandler();
/**
* Gets all hardware encodings
@@ -44,7 +43,7 @@ public record AvailableHardwareEncoderHandler(@NotNull List<String> availableHar
*/
public void save() {
PropertiesConfiguration configuration = configHandler.getWritableConfiguration();
configuration.setProperty(ConfigKey.HARDWARE_ACCELERATED_ENCODERS.toString(), this.availableHardwareEncodings);
configuration.setProperty(ConfigKey.HARDWARE_ACCELERATED_ENCODERS.toString(), String.join(",", this.availableHardwareEncodings));
configHandler.writeConfiguration();
OutputUtil.printDebug("Saved available hardware encoder handler");
}
@@ -56,14 +55,12 @@ public record AvailableHardwareEncoderHandler(@NotNull List<String> availableHar
*/
@NotNull
public static AvailableHardwareEncoderHandler load() {
Configuration configuration;
try {
configuration = configHandler.load();
configHandler.load();
} catch (IOException e) {
throw new RuntimeException(e);
}
List<String> getEncodings = configuration.getList(String.class, ConfigKey.HARDWARE_ACCELERATED_ENCODERS.toString());
return new AvailableHardwareEncoderHandler(getEncodings);
return new AvailableHardwareEncoderHandler(FFMpegConvert.getConfiguration().hardwareEncoders());
}
}