Rename VideoWriter -> FFmpegWriter

This commit is contained in:
Jonas Herzig
2020-10-03 14:52:58 +02:00
parent aee486c4f3
commit 17e554b67c
5 changed files with 20 additions and 20 deletions

View File

@@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit;
import static com.replaymod.render.ReplayModRender.LOGGER; import static com.replaymod.render.ReplayModRender.LOGGER;
import static org.apache.commons.lang3.Validate.isTrue; import static org.apache.commons.lang3.Validate.isTrue;
public class VideoWriter implements FrameConsumer<BitmapFrame> { public class FFmpegWriter implements FrameConsumer<BitmapFrame> {
private final VideoRenderer renderer; private final VideoRenderer renderer;
private final RenderSettings settings; private final RenderSettings settings;
@@ -38,7 +38,7 @@ public class VideoWriter implements FrameConsumer<BitmapFrame> {
private ByteArrayOutputStream ffmpegLog = new ByteArrayOutputStream(4096); private ByteArrayOutputStream ffmpegLog = new ByteArrayOutputStream(4096);
public VideoWriter(final VideoRenderer renderer) throws IOException { public FFmpegWriter(final VideoRenderer renderer) throws IOException {
this.renderer = renderer; this.renderer = renderer;
this.settings = renderer.getRenderSettings(); this.settings = renderer.getRenderSettings();

View File

@@ -2,7 +2,7 @@ package com.replaymod.render.gui;
import com.replaymod.core.ReplayMod; import com.replaymod.core.ReplayMod;
import com.replaymod.render.RenderSettings; import com.replaymod.render.RenderSettings;
import com.replaymod.render.VideoWriter; import com.replaymod.render.FFmpegWriter;
import de.johni0702.minecraft.gui.container.GuiPanel; import de.johni0702.minecraft.gui.container.GuiPanel;
import de.johni0702.minecraft.gui.container.GuiScreen; import de.johni0702.minecraft.gui.container.GuiScreen;
import de.johni0702.minecraft.gui.container.GuiVerticalList; import de.johni0702.minecraft.gui.container.GuiVerticalList;
@@ -23,7 +23,7 @@ import static com.replaymod.core.versions.MCVer.addDetail;
import static com.replaymod.render.ReplayModRender.LOGGER; import static com.replaymod.render.ReplayModRender.LOGGER;
public class GuiExportFailed extends GuiScreen { public class GuiExportFailed extends GuiScreen {
public static GuiExportFailed tryToRecover(VideoWriter.FFmpegStartupException e, Consumer<RenderSettings> doRestart) { public static GuiExportFailed tryToRecover(FFmpegWriter.FFmpegStartupException e, Consumer<RenderSettings> doRestart) {
// Always log the error first // Always log the error first
LOGGER.error("Rendering video:", e); LOGGER.error("Rendering video:", e);
@@ -74,7 +74,7 @@ public class GuiExportFailed extends GuiScreen {
setBackground(Background.DIRT); setBackground(Background.DIRT);
} }
public GuiExportFailed(VideoWriter.FFmpegStartupException e, Consumer<RenderSettings> doRestart) { public GuiExportFailed(FFmpegWriter.FFmpegStartupException e, Consumer<RenderSettings> doRestart) {
logList.getListPanel().addElements(null, logList.getListPanel().addElements(null,
Arrays.stream(e.getLog().replace("\t", " ").split("\n")) Arrays.stream(e.getLog().replace("\t", " ").split("\n"))
.map(l -> new GuiLabel().setText(l)) .map(l -> new GuiLabel().setText(l))

View File

@@ -6,7 +6,7 @@ import com.replaymod.core.utils.Utils;
import com.replaymod.core.versions.MCVer; import com.replaymod.core.versions.MCVer;
import com.replaymod.render.RenderSettings; import com.replaymod.render.RenderSettings;
import com.replaymod.render.ReplayModRender; import com.replaymod.render.ReplayModRender;
import com.replaymod.render.VideoWriter; import com.replaymod.render.FFmpegWriter;
import com.replaymod.render.rendering.VideoRenderer; import com.replaymod.render.rendering.VideoRenderer;
import com.replaymod.render.utils.RenderJob; import com.replaymod.render.utils.RenderJob;
import com.replaymod.replay.ReplayHandler; import com.replaymod.replay.ReplayHandler;
@@ -169,7 +169,7 @@ public class GuiRenderQueue extends AbstractGuiPopup<GuiRenderQueue> implements
try { try {
VideoRenderer videoRenderer = new VideoRenderer(renderJob.getSettings(), replayHandler, renderJob.getTimeline()); VideoRenderer videoRenderer = new VideoRenderer(renderJob.getSettings(), replayHandler, renderJob.getTimeline());
videoRenderer.renderVideo(); videoRenderer.renderVideo();
} catch (VideoWriter.NoFFmpegException e) { } catch (FFmpegWriter.NoFFmpegException e) {
LOGGER.error("Rendering video:", e); LOGGER.error("Rendering video:", e);
NoticeScreen errorScreen = new NoticeScreen( NoticeScreen errorScreen = new NoticeScreen(
//#if MC>=11400 //#if MC>=11400
@@ -183,7 +183,7 @@ public class GuiRenderQueue extends AbstractGuiPopup<GuiRenderQueue> implements
); );
mc.openScreen(errorScreen); mc.openScreen(errorScreen);
return; return;
} catch (VideoWriter.FFmpegStartupException e) { } catch (FFmpegWriter.FFmpegStartupException e) {
int jobsToSkip = jobsDone; int jobsToSkip = jobsDone;
GuiExportFailed.tryToRecover(e, newSettings -> { GuiExportFailed.tryToRecover(e, newSettings -> {
// Update current job with fixed ffmpeg arguments // Update current job with fixed ffmpeg arguments

View File

@@ -10,7 +10,7 @@ import com.google.gson.JsonSyntaxException;
import com.replaymod.core.ReplayMod; import com.replaymod.core.ReplayMod;
import com.replaymod.render.RenderSettings; import com.replaymod.render.RenderSettings;
import com.replaymod.render.ReplayModRender; import com.replaymod.render.ReplayModRender;
import com.replaymod.render.VideoWriter; import com.replaymod.render.FFmpegWriter;
import com.replaymod.render.rendering.VideoRenderer; import com.replaymod.render.rendering.VideoRenderer;
import com.replaymod.replay.ReplayHandler; import com.replaymod.replay.ReplayHandler;
import com.replaymod.replaystudio.pathing.path.Timeline; import com.replaymod.replaystudio.pathing.path.Timeline;
@@ -248,7 +248,7 @@ public class GuiRenderSettings extends AbstractGuiPopup<GuiRenderSettings> {
try { try {
VideoRenderer videoRenderer = new VideoRenderer(save(false), replayHandler, timeline); VideoRenderer videoRenderer = new VideoRenderer(save(false), replayHandler, timeline);
videoRenderer.renderVideo(); videoRenderer.renderVideo();
} catch (VideoWriter.NoFFmpegException e) { } catch (FFmpegWriter.NoFFmpegException e) {
LOGGER.error("Rendering video:", e); LOGGER.error("Rendering video:", e);
NoticeScreen errorScreen = new NoticeScreen( NoticeScreen errorScreen = new NoticeScreen(
//#if MC>=11400 //#if MC>=11400
@@ -261,7 +261,7 @@ public class GuiRenderSettings extends AbstractGuiPopup<GuiRenderSettings> {
//#endif //#endif
); );
getMinecraft().openScreen(errorScreen); getMinecraft().openScreen(errorScreen);
} catch (VideoWriter.FFmpegStartupException e) { } catch (FFmpegWriter.FFmpegStartupException e) {
GuiExportFailed.tryToRecover(e, newSettings -> { GuiExportFailed.tryToRecover(e, newSettings -> {
// Update settings with fixed ffmpeg arguments // Update settings with fixed ffmpeg arguments
exportArguments.setText(newSettings.getExportArguments()); exportArguments.setText(newSettings.getExportArguments());

View File

@@ -9,7 +9,7 @@ import com.replaymod.pathing.player.ReplayTimer;
import com.replaymod.pathing.properties.TimestampProperty; import com.replaymod.pathing.properties.TimestampProperty;
import com.replaymod.render.RenderSettings; import com.replaymod.render.RenderSettings;
import com.replaymod.render.ReplayModRender; import com.replaymod.render.ReplayModRender;
import com.replaymod.render.VideoWriter; import com.replaymod.render.FFmpegWriter;
import com.replaymod.render.blend.BlendState; import com.replaymod.render.blend.BlendState;
import com.replaymod.render.capturer.RenderInfo; import com.replaymod.render.capturer.RenderInfo;
import com.replaymod.render.events.ReplayRenderCallback; import com.replaymod.render.events.ReplayRenderCallback;
@@ -83,7 +83,7 @@ public class VideoRenderer implements RenderInfo {
private final ReplayHandler replayHandler; private final ReplayHandler replayHandler;
private final Timeline timeline; private final Timeline timeline;
private final Pipeline renderingPipeline; private final Pipeline renderingPipeline;
private final VideoWriter videoWriter; private final FFmpegWriter ffmpegWriter;
private int fps; private int fps;
private boolean mouseWasGrabbed; private boolean mouseWasGrabbed;
@@ -119,10 +119,10 @@ public class VideoRenderer implements RenderInfo {
BlendState.setState(new BlendState(settings.getOutputFile())); BlendState.setState(new BlendState(settings.getOutputFile()));
this.renderingPipeline = Pipelines.newBlendPipeline(this); this.renderingPipeline = Pipelines.newBlendPipeline(this);
this.videoWriter = null; this.ffmpegWriter = null;
} else { } else {
this.renderingPipeline = Pipelines.newPipeline(settings.getRenderMethod(), this, this.renderingPipeline = Pipelines.newPipeline(settings.getRenderMethod(), this,
videoWriter = new VideoWriter(this) { ffmpegWriter = new FFmpegWriter(this) {
@Override @Override
public void consume(BitmapFrame frame) { public void consume(BitmapFrame frame) {
gui.updatePreview(frame); gui.updatePreview(frame);
@@ -381,10 +381,10 @@ public class VideoRenderer implements RenderInfo {
new SoundHandler().playRenderSuccessSound(); new SoundHandler().playRenderSuccessSound();
try { try {
if (!hasFailed() && videoWriter != null) { if (!hasFailed() && ffmpegWriter != null) {
new GuiRenderingDone(ReplayModRender.instance, videoWriter.getVideoFile(), totalFrames, settings).display(); new GuiRenderingDone(ReplayModRender.instance, ffmpegWriter.getVideoFile(), totalFrames, settings).display();
} }
} catch (VideoWriter.FFmpegStartupException e) { } catch (FFmpegWriter.FFmpegStartupException e) {
setFailure(e); setFailure(e);
} }
@@ -652,8 +652,8 @@ public class VideoRenderer implements RenderInfo {
} }
public void cancel() { public void cancel() {
if (videoWriter != null) { if (ffmpegWriter != null) {
videoWriter.abort(); ffmpegWriter.abort();
} }
this.cancelled = true; this.cancelled = true;
renderingPipeline.cancel(); renderingPipeline.cancel();