Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/Limelight.h
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,10 @@ typedef struct _DECODE_UNIT {
// supports reference frame invalidation for AV1 streams. This flag is only valid on video renderers.
#define CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1 0x40

// If set in the video renderer capabilities field, this flag specifies that the renderer
// needs to opt-in to intra refresh, some clients (like the Xbox client with NVEnc) needs it
#define CAPABILITY_INTRA_REFRESH 0x80

// If set in the video renderer capabilities field, this macro specifies that the renderer
// supports slicing to increase decoding performance. The parameter specifies the desired
// number of slices per frame. This capability is only valid on video renderers.
Expand Down
7 changes: 7 additions & 0 deletions src/SdpGenerator.c
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,13 @@ static PSDP_OPTION getAttributesList(char*urlSafeAddr) {
else {
err |= addAttributeString(&optionHead, "x-ss-video[0].chromaSamplingType", "0");
}

// Add intra-refresh if opted in
if (VideoCallbacks.capabilities & CAPABILITY_INTRA_REFRESH){
err |= addAttributeString(&optionHead, "x-ss-video[0].intraRefresh", "1");
} else {
err |= addAttributeString(&optionHead, "x-ss-video[0].intraRefresh", "0");
}
}

snprintf(payloadStr, sizeof(payloadStr), "%d", StreamConfig.width);
Expand Down