Default to full-resolution preview and fix audio-waveform freeze

- Use a divider of 1 (full resolution) for new sequences and for
  footage-derived viewer parameters instead of the auto-downscaling
  heuristic, so the viewer defaults to full-res preview.
- In AudioWaveformView, base the view timebase on the video frame rate
  when video is present; fall back to the audio sample rate only for
  audio-only sources. Using the audio sample rate as the view timebase
  created an enormous scene rect (time * sample_rate * scale), which
  froze the waveform view and stalled playback updates when showing
  the audio waveform.
This commit is contained in:
2026-07-13 10:19:30 +08:00
parent 51ea3ca24e
commit 282a06b777
2 changed files with 7 additions and 4 deletions
+2 -3
View File
@@ -235,7 +235,7 @@ void ViewerOutput::set_default_parameters()
OLIVE_CONFIG("DefaultSequencePixelAspect").value<rational>(),
OLIVE_CONFIG("DefaultSequenceInterlacing")
.value<VideoParams::Interlacing>(),
VideoParams::generate_auto_divider(width, height)));
1));
AVChannelLayout layout;
av_channel_layout_from_mask(
&layout, OLIVE_CONFIG("DefaultSequenceAudioLayout").toULongLong());
@@ -586,8 +586,7 @@ void ViewerOutput::set_parameters_from_footage(
static_cast<PixelFormat::Format>(
OLIVE_CONFIG("OfflinePixelFormat").toInt()),
VideoParams::kInternalChannelCount, s.pixel_aspect_ratio(),
s.interlacing(),
VideoParams::generate_auto_divider(s.width(), s.height())));
s.interlacing(), 1));
if (found_video_params) {
break;