protected virtual void UpdateSettings(IMovieRecorderSettings source, Camera camera) { MovieEncoderSettings settings = Encoder.Settings; switch (source.ResolutionMode) { case MovieResolutionMode.Custom: settings.ResolutionWidth = source.ResolutionWidth; settings.ResolutionHeight = source.ResolutionHeight; break; case MovieResolutionMode.Width: settings.ResolutionWidth = source.ResolutionWidth; settings.ResolutionHeight = Mathf.RoundToInt(source.ResolutionWidth / camera.aspect); break; case MovieResolutionMode.Height: settings.ResolutionWidth = Mathf.RoundToInt(source.ResolutionHeight * camera.aspect); settings.ResolutionHeight = source.ResolutionHeight; break; case MovieResolutionMode.Camera: settings.ResolutionWidth = camera.pixelWidth; settings.ResolutionHeight = camera.pixelHeight; break; default: throw new InvalidOperationException(); } settings.FrameRateMode = source.FrameRateMode; settings.FrameRate = source.FrameRate; MinUpdateRate = source.MinUpdateRate; }
protected override void UpdateSettings(IMovieRecorderSettings source, Camera camera) { base.UpdateSettings(source, camera); IGifRecorderSettings gifSource = source as IGifRecorderSettings; if (gifSource != null) { GifEncoderSettings settings = Encoder.Settings; settings.Colors = gifSource.GifColors; settings.UseLocalPalette = gifSource.GifUseLocalPalette; } }
protected override void UpdateSettings(IMovieRecorderSettings source, Camera camera) { base.UpdateSettings(source, camera); IMP4RecorderSettings mp4Source = source as IMP4RecorderSettings; if (mp4Source != null) { MP4EncoderSettings settings = Encoder.Settings; settings.CaptureVideo = mp4Source.MP4CaptureVideo; settings.CaptureAudio = mp4Source.MP4CaptureAudio; settings.VideoBitrate = mp4Source.MP4VideoBitrate; settings.AudioBitrate = mp4Source.MP4AudioBitrate; } }
void IEditorMovieRecorder.UpdateSettings(IMovieRecorderSettings source, Camera camera) { UpdateSettings(source, camera); }