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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user