Rename VideoWriter -> FFmpegWriter
This commit is contained in:
@@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit;
|
||||
import static com.replaymod.render.ReplayModRender.LOGGER;
|
||||
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 RenderSettings settings;
|
||||
@@ -38,7 +38,7 @@ public class VideoWriter implements FrameConsumer<BitmapFrame> {
|
||||
|
||||
private ByteArrayOutputStream ffmpegLog = new ByteArrayOutputStream(4096);
|
||||
|
||||
public VideoWriter(final VideoRenderer renderer) throws IOException {
|
||||
public FFmpegWriter(final VideoRenderer renderer) throws IOException {
|
||||
this.renderer = renderer;
|
||||
this.settings = renderer.getRenderSettings();
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.replaymod.render.gui;
|
||||
|
||||
import com.replaymod.core.ReplayMod;
|
||||
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.GuiScreen;
|
||||
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;
|
||||
|
||||
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
|
||||
LOGGER.error("Rendering video:", e);
|
||||
|
||||
@@ -74,7 +74,7 @@ public class GuiExportFailed extends GuiScreen {
|
||||
setBackground(Background.DIRT);
|
||||
}
|
||||
|
||||
public GuiExportFailed(VideoWriter.FFmpegStartupException e, Consumer<RenderSettings> doRestart) {
|
||||
public GuiExportFailed(FFmpegWriter.FFmpegStartupException e, Consumer<RenderSettings> doRestart) {
|
||||
logList.getListPanel().addElements(null,
|
||||
Arrays.stream(e.getLog().replace("\t", " ").split("\n"))
|
||||
.map(l -> new GuiLabel().setText(l))
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.replaymod.core.utils.Utils;
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.render.RenderSettings;
|
||||
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.utils.RenderJob;
|
||||
import com.replaymod.replay.ReplayHandler;
|
||||
@@ -169,7 +169,7 @@ public class GuiRenderQueue extends AbstractGuiPopup<GuiRenderQueue> implements
|
||||
try {
|
||||
VideoRenderer videoRenderer = new VideoRenderer(renderJob.getSettings(), replayHandler, renderJob.getTimeline());
|
||||
videoRenderer.renderVideo();
|
||||
} catch (VideoWriter.NoFFmpegException e) {
|
||||
} catch (FFmpegWriter.NoFFmpegException e) {
|
||||
LOGGER.error("Rendering video:", e);
|
||||
NoticeScreen errorScreen = new NoticeScreen(
|
||||
//#if MC>=11400
|
||||
@@ -183,7 +183,7 @@ public class GuiRenderQueue extends AbstractGuiPopup<GuiRenderQueue> implements
|
||||
);
|
||||
mc.openScreen(errorScreen);
|
||||
return;
|
||||
} catch (VideoWriter.FFmpegStartupException e) {
|
||||
} catch (FFmpegWriter.FFmpegStartupException e) {
|
||||
int jobsToSkip = jobsDone;
|
||||
GuiExportFailed.tryToRecover(e, newSettings -> {
|
||||
// Update current job with fixed ffmpeg arguments
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.google.gson.JsonSyntaxException;
|
||||
import com.replaymod.core.ReplayMod;
|
||||
import com.replaymod.render.RenderSettings;
|
||||
import com.replaymod.render.ReplayModRender;
|
||||
import com.replaymod.render.VideoWriter;
|
||||
import com.replaymod.render.FFmpegWriter;
|
||||
import com.replaymod.render.rendering.VideoRenderer;
|
||||
import com.replaymod.replay.ReplayHandler;
|
||||
import com.replaymod.replaystudio.pathing.path.Timeline;
|
||||
@@ -248,7 +248,7 @@ public class GuiRenderSettings extends AbstractGuiPopup<GuiRenderSettings> {
|
||||
try {
|
||||
VideoRenderer videoRenderer = new VideoRenderer(save(false), replayHandler, timeline);
|
||||
videoRenderer.renderVideo();
|
||||
} catch (VideoWriter.NoFFmpegException e) {
|
||||
} catch (FFmpegWriter.NoFFmpegException e) {
|
||||
LOGGER.error("Rendering video:", e);
|
||||
NoticeScreen errorScreen = new NoticeScreen(
|
||||
//#if MC>=11400
|
||||
@@ -261,7 +261,7 @@ public class GuiRenderSettings extends AbstractGuiPopup<GuiRenderSettings> {
|
||||
//#endif
|
||||
);
|
||||
getMinecraft().openScreen(errorScreen);
|
||||
} catch (VideoWriter.FFmpegStartupException e) {
|
||||
} catch (FFmpegWriter.FFmpegStartupException e) {
|
||||
GuiExportFailed.tryToRecover(e, newSettings -> {
|
||||
// Update settings with fixed ffmpeg arguments
|
||||
exportArguments.setText(newSettings.getExportArguments());
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.replaymod.pathing.player.ReplayTimer;
|
||||
import com.replaymod.pathing.properties.TimestampProperty;
|
||||
import com.replaymod.render.RenderSettings;
|
||||
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.capturer.RenderInfo;
|
||||
import com.replaymod.render.events.ReplayRenderCallback;
|
||||
@@ -83,7 +83,7 @@ public class VideoRenderer implements RenderInfo {
|
||||
private final ReplayHandler replayHandler;
|
||||
private final Timeline timeline;
|
||||
private final Pipeline renderingPipeline;
|
||||
private final VideoWriter videoWriter;
|
||||
private final FFmpegWriter ffmpegWriter;
|
||||
|
||||
private int fps;
|
||||
private boolean mouseWasGrabbed;
|
||||
@@ -119,10 +119,10 @@ public class VideoRenderer implements RenderInfo {
|
||||
BlendState.setState(new BlendState(settings.getOutputFile()));
|
||||
|
||||
this.renderingPipeline = Pipelines.newBlendPipeline(this);
|
||||
this.videoWriter = null;
|
||||
this.ffmpegWriter = null;
|
||||
} else {
|
||||
this.renderingPipeline = Pipelines.newPipeline(settings.getRenderMethod(), this,
|
||||
videoWriter = new VideoWriter(this) {
|
||||
ffmpegWriter = new FFmpegWriter(this) {
|
||||
@Override
|
||||
public void consume(BitmapFrame frame) {
|
||||
gui.updatePreview(frame);
|
||||
@@ -381,10 +381,10 @@ public class VideoRenderer implements RenderInfo {
|
||||
new SoundHandler().playRenderSuccessSound();
|
||||
|
||||
try {
|
||||
if (!hasFailed() && videoWriter != null) {
|
||||
new GuiRenderingDone(ReplayModRender.instance, videoWriter.getVideoFile(), totalFrames, settings).display();
|
||||
if (!hasFailed() && ffmpegWriter != null) {
|
||||
new GuiRenderingDone(ReplayModRender.instance, ffmpegWriter.getVideoFile(), totalFrames, settings).display();
|
||||
}
|
||||
} catch (VideoWriter.FFmpegStartupException e) {
|
||||
} catch (FFmpegWriter.FFmpegStartupException e) {
|
||||
setFailure(e);
|
||||
}
|
||||
|
||||
@@ -652,8 +652,8 @@ public class VideoRenderer implements RenderInfo {
|
||||
}
|
||||
|
||||
public void cancel() {
|
||||
if (videoWriter != null) {
|
||||
videoWriter.abort();
|
||||
if (ffmpegWriter != null) {
|
||||
ffmpegWriter.abort();
|
||||
}
|
||||
this.cancelled = true;
|
||||
renderingPipeline.cancel();
|
||||
|
||||
Reference in New Issue
Block a user