Skip to content

Added options to choose codec for streaming, show performance stats, enable vsync and frame pacing#130

Merged
FrogTheFrog merged 8 commits intoFrogTheFrog:mainfrom
AugustoPedron:features/add_codec_option
Jan 12, 2026
Merged

Added options to choose codec for streaming, show performance stats, enable vsync and frame pacing#130
FrogTheFrog merged 8 commits intoFrogTheFrog:mainfrom
AugustoPedron:features/add_codec_option

Conversation

@AugustoPedron
Copy link
Copy Markdown
Contributor

I have added the possibility to choose which codec to use for streaming. The "Default" option corresponds to the current behaviour of using the codec configured in Moonlight's settings. Other options correspond to Moonlight available options: AV1, HEVC, H.264 and Auto.
I have also added a toggle to show or hide performance stats (the default value is false).

Copy link
Copy Markdown
Owner

@FrogTheFrog FrogTheFrog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR!

I have finished the initial review. Please read all of the comments before doing anything since they still apply, but stuff will have to moved around (or removed) based on one of the later comments.

PS. My SteamDeck is on RMA, so even if we're "done done" with the PR, I will only merge it once I can test it live.

@AugustoPedron
Copy link
Copy Markdown
Contributor Author

Thanks for the PR!

I have finished the initial review. Please read all of the comments before doing anything since they still apply, but stuff will have to moved around (or removed) based on one of the later comments.

PS. My SteamDeck is on RMA, so even if we're "done done" with the PR, I will only merge it once I can test it live.

Just pushed the fixes.
No problem for merging the changes when you feel ok with them. I'll be testing them on my Deck in the meantime

@FrogTheFrog
Copy link
Copy Markdown
Owner

FrogTheFrog commented Dec 30, 2025

I've decided to finally get rid of some tech. debt with this PR (hope you don't mind).

I've pushed some python changes. Could I ask you to test them out, just to see if it works at all, if not plz help me fix it :)
I have not checked the typescript code yet, but will do it later.

EDIT:
Also moonlight allegedly does case insensitive matching for video codec, so I've removed the Auto -> auto mapping.

@AugustoPedron
Copy link
Copy Markdown
Contributor Author

AugustoPedron commented Dec 30, 2025

I've decided to finally get rid of some tech. debt with this PR (hope you don't mind).

I've pushed some python changes. Could I ask you to test them out, just to see if it works at all, if not plz help me fix it :) I have not checked the typescript code yet, but will do it later.

EDIT: Also moonlight allegedly does case insensitive matching for video codec, so I've removed the Auto -> auto mapping.

No problem! I'll test them in the next days and let you know.

EDIT: While we are it, I would also add options for V-sync and frame pacing (that in my case helped with stuttering of the stream) and put also those in the general section. What do you think?

@FrogTheFrog
Copy link
Copy Markdown
Owner

FrogTheFrog commented Jan 3, 2026

EDIT: While we are it, I would also add options for V-sync and frame pacing (that in my case helped with stuttering of the stream) and put also those in the general section. What do you think?

Go for it.

FYI, for stuttering what I did was changes the SteamDeck FPS to match that of the Moonlight. However, I have not added this to Moondeck yet (since I need to check if there would be any complications).

EDIT: I will continue the review after I receive my SteamDeck. Which should hopefully come back to me next week.

… for vsync and frame pacing in general section
@AugustoPedron
Copy link
Copy Markdown
Contributor Author

I have implemented the options for vsync and frame pacing. I have created a generic dropdown component for boolean options aswell.
Regarding the stuttering, in my case the FPS of the deck were already in sync with the stream but due to connection jitter (I stream on wifi most of the time) the frame pacing option was beneficial to reduce stuttering and audio glitches.

@AugustoPedron AugustoPedron changed the title Added options to choose codec for streaming and show performance stats Added options to choose codec for streaming, show performance stats, enable vsync and frame pacing Jan 5, 2026
@FrogTheFrog
Copy link
Copy Markdown
Owner

I'm done with my refactoring. Please get yourself a fresh build and play a round a little. If you spot no problems, I will merge and start the release process.

@AugustoPedron
Copy link
Copy Markdown
Contributor Author

I've tested the changes on my deck they are working fine

@FrogTheFrog FrogTheFrog merged commit 280b360 into FrogTheFrog:main Jan 12, 2026
6 checks passed
@FrogTheFrog
Copy link
Copy Markdown
Owner

FrogTheFrog commented Jan 15, 2026

@AugustoPedron could I ask you to leave a review in SteamDeckHomebrew/decky-plugin-database#956 ?

(please lookup the proper report template in https://wiki.deckbrew.xyz/en/user-guide/testing)

@AugustoPedron
Copy link
Copy Markdown
Contributor Author

@AugustoPedron could I ask you to leave a review in SteamDeckHomebrew/decky-plugin-database#956 ?

(please lookup the proper report template in https://wiki.deckbrew.xyz/en/user-guide/testing)

Sorry for the late answer but I didn't check the emails until now and thought I had nothing left to do for the PR...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants