From b2f0828df8de1b8baf6c646bc02dd806f2dde183 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 5 Aug 2026 23:54:19 -0500 Subject: [PATCH] Use requested color range as a fallback in isFrameFullRange() --- app/streaming/video/ffmpeg-renderers/renderer.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/streaming/video/ffmpeg-renderers/renderer.h b/app/streaming/video/ffmpeg-renderers/renderer.h index 8cae946c..1262152a 100644 --- a/app/streaming/video/ffmpeg-renderers/renderer.h +++ b/app/streaming/video/ffmpeg-renderers/renderer.h @@ -247,10 +247,16 @@ public: } virtual bool isFrameFullRange(const AVFrame* frame) { - // This handles the case where the color range is unknown, - // so that we use Limited color range which is the default - // behavior for Moonlight. - return frame->color_range == AVCOL_RANGE_JPEG; + switch (frame->color_range) { + case AVCOL_RANGE_JPEG: + return true; + case AVCOL_RANGE_MPEG: + return false; + default: + // If the color range is not populated, assume the encoder + // is sending the color range that we requested. + return getDecoderColorRange() == COLOR_RANGE_FULL; + } } virtual bool isRenderThreadSupported() {