Skip to content

Commit 34a0f87

Browse files
committed
Fixed mp4/webm size issue
1 parent 321ae34 commit 34a0f87

File tree

5 files changed

+23
-3
lines changed

5 files changed

+23
-3
lines changed

source/FrameRecorder/Inputs/CBRenderTexture/Engine/CBRenderTextureInput.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,13 @@ public override void BeginRecording(RecordingSession session)
7070
GameViewSize.GetGameRenderSize(out screenWidth, out screenHeight);
7171
outputWidth = screenWidth;
7272
outputHeight = screenHeight;
73+
74+
if (cbSettings.m_PadSize)
75+
{
76+
outputWidth = (outputWidth + 1) & ~1;
77+
outputHeight = (outputHeight + 1) & ~1;
78+
}
79+
7380
break;
7481
}
7582

@@ -78,9 +85,16 @@ public override void BeginRecording(RecordingSession session)
7885
outputHeight = (int)cbSettings.m_RenderSize;
7986
outputWidth = (int)(outputHeight * AspectRatioHelper.GetRealAR(cbSettings.m_RenderAspect));
8087

88+
if (cbSettings.m_PadSize)
89+
{
90+
outputWidth = (outputWidth + 1) & ~1;
91+
outputHeight = (outputHeight + 1) & ~1;
92+
}
93+
8194
var size = GameViewSize.FindSize(outputWidth, outputHeight);
8295
if (size == null)
8396
size = GameViewSize.AddSize(outputWidth, outputHeight);
97+
8498
GameViewSize.SelectSize(size);
8599
break;
86100
}

source/FrameRecorder/Inputs/CBRenderTexture/Engine/CBRenderTextureInputSettings.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ public class CBRenderTextureInputSettings : InputSettings<CBRenderTextureInput>
77
public EImageAspect m_RenderAspect = EImageAspect.x5_4;
88
public string m_CameraTag;
99
public bool m_FlipVertical = false;
10+
public bool m_PadSize = false;
1011
}
1112
}

source/FrameRecorder/Integrations/FrameCapturer/Recorders/MP4/MP4RecorderSettings.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ public class MP4RecorderSettings : BaseFCRecorderSettings
1212

1313
public override List<RecorderInputSetting> GetDefaultSourcesSettings()
1414
{
15-
return new List<RecorderInputSetting>() { ScriptableObject.CreateInstance<CBRenderTextureInputSettings>() };
15+
var settings = ScriptableObject.CreateInstance<CBRenderTextureInputSettings>();
16+
settings.m_PadSize = true;
17+
return new List<RecorderInputSetting>() { settings };
1618
}
1719
}
1820
}

source/FrameRecorder/Integrations/FrameCapturer/Recorders/WEBM/WEBMRecorderSettings.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ public class WEBMRecorderSettings : BaseFCRecorderSettings
1212

1313
public override List<RecorderInputSetting> GetDefaultSourcesSettings()
1414
{
15-
return new List<RecorderInputSetting>() { ScriptableObject.CreateInstance<CBRenderTextureInputSettings>() };
15+
var settings = ScriptableObject.CreateInstance<CBRenderTextureInputSettings>();
16+
settings.m_PadSize = true;
17+
return new List<RecorderInputSetting>() { settings };
1618
}
1719
}
1820
}

source/FrameRecorder/Packager/Private/Editor/FRPackager.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System.IO;
22
using UnityEngine;
3-
3+
using UTJ.FrameCapturer.Recorders;
44

55
namespace UnityEditor.FrameRecorder
66
{
@@ -12,6 +12,7 @@ static class FRPackager
1212
static void GeneratePackage()
1313
{
1414
var rootPath = FRPackagerPaths.GetFrameRecorderRootPath();
15+
FrameCapturerPackagerInternal.GeneratePackage();
1516

1617
string[] files = new string[]
1718
{

0 commit comments

Comments
 (0)