- fixed: onscreen widget level
- flush frames when entering background
This commit is contained in:
1 parent
6008865a41
commit
4ecb8bfede
2 files changed
+5
-5
No files matched your search
@@ -358,8 +358,6 @@ int DrSubmitDecodeUnit(PDECODE_UNIT decodeUnit);
|
|||||||
// Legacy frame pacing callback - matches upstream/Integration behavior exactly
|
// Legacy frame pacing callback - matches upstream/Integration behavior exactly
|
||||||
- (void)displayLinkCallback:(CADisplayLink *)sender
|
- (void)displayLinkCallback:(CADisplayLink *)sender
|
||||||
{
|
{
|
||||||
if(appDidEnterBackgroundWithoutPip) return;
|
|
||||||
|
|
||||||
VIDEO_FRAME_HANDLE handle;
|
VIDEO_FRAME_HANDLE handle;
|
||||||
PDECODE_UNIT du;
|
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);
|
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
|
#ifdef DISPLAYLINK_VERBOSE
|
||||||
// Some OS-level metrics I'm not sure what to do with
|
// 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) {
|
if (_framePacingMode == FramePacingModeLegacy || _framePacingMode == FramePacingModeOff) {
|
||||||
// Enqueue the next frame
|
// 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) {
|
if (du->frameType == FRAME_TYPE_IDR) {
|
||||||
// Ensure the layer is visible now
|
// Ensure the layer is visible now
|
||||||
|
|||||||
@@ -2135,7 +2135,7 @@ BOOL isCustomResolution(int resolutionSelected) {
|
|||||||
|
|
||||||
// this setting will be affected by touchMode, must be loaded before them.
|
// this setting will be affected by touchMode, must be loaded before them.
|
||||||
NSInteger onscreenControlsLevel = [self->tempSettings.onscreenControls integerValue];
|
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.onScreenWidgetSelector addTarget:self action:@selector(onScreenWidgetChanged) forControlEvents:UIControlEventValueChanged];
|
||||||
[self onScreenWidgetChanged];
|
[self onScreenWidgetChanged];
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user