diff --git a/VoidLink/Stream/VideoDecoderRenderer.m b/VoidLink/Stream/VideoDecoderRenderer.m index 859db78e..48573d21 100644 --- a/VoidLink/Stream/VideoDecoderRenderer.m +++ b/VoidLink/Stream/VideoDecoderRenderer.m @@ -358,8 +358,6 @@ int DrSubmitDecodeUnit(PDECODE_UNIT decodeUnit); // Legacy frame pacing callback - matches upstream/Integration behavior exactly - (void)displayLinkCallback:(CADisplayLink *)sender { - if(appDidEnterBackgroundWithoutPip) return; - VIDEO_FRAME_HANDLE handle; PDECODE_UNIT du; @@ -408,7 +406,8 @@ int DrSubmitDecodeUnit(PDECODE_UNIT decodeUnit); Log(LOG_I, @"Setting timebase for stream to %d / %d", pts.value, pts.timescale); } - if(!appDidEnterBackgroundWithoutPip) [self->_displayLayer enqueueSampleBuffer:frame.sampleBuffer]; + if(appDidEnterBackgroundWithoutPip) [self->_displayLayer flush]; + else [self->_displayLayer enqueueSampleBuffer:frame.sampleBuffer]; #ifdef DISPLAYLINK_VERBOSE // Some OS-level metrics I'm not sure what to do with @@ -921,7 +920,8 @@ int DrSubmitDecodeUnit(PDECODE_UNIT decodeUnit); if (_framePacingMode == FramePacingModeLegacy || _framePacingMode == FramePacingModeOff) { // Enqueue the next frame - if(!appDidEnterBackgroundWithoutPip) [self->_displayLayer enqueueSampleBuffer:sampleBuffer]; + if(appDidEnterBackgroundWithoutPip) [self->_displayLayer flush]; + else [self->_displayLayer enqueueSampleBuffer:sampleBuffer]; if (du->frameType == FRAME_TYPE_IDR) { // Ensure the layer is visible now diff --git a/VoidLink/ViewControllers/SettingsViewController.m b/VoidLink/ViewControllers/SettingsViewController.m index 18abe7c2..b89e632b 100644 --- a/VoidLink/ViewControllers/SettingsViewController.m +++ b/VoidLink/ViewControllers/SettingsViewController.m @@ -2135,7 +2135,7 @@ BOOL isCustomResolution(int resolutionSelected) { // this setting will be affected by touchMode, must be loaded before them. NSInteger onscreenControlsLevel = [self->tempSettings.onscreenControls integerValue]; - [self.onScreenWidgetSelector setSelectedSegmentIndex:MAX(onscreenControlsLevel,OnScreenControlsLevelCustom)]; + [self.onScreenWidgetSelector setSelectedSegmentIndex:MIN(onscreenControlsLevel,OnScreenControlsLevelCustom)]; [self.onScreenWidgetSelector addTarget:self action:@selector(onScreenWidgetChanged) forControlEvents:UIControlEventValueChanged]; [self onScreenWidgetChanged];