Yeah I realize that making a solution that works in all cases with all different renderers could be challenging.
For me, if I could just set different audio delays (in ms) per frame rate row in the Dynamic Refresh Rate settings dialog, and just have the code that does the refresh rate change also update the current audio delay of LAV audio filter whenever a refresh rate occurs, that would be absolutely awesome! Something like this mockup:
Just as inspiration, I attached my old patch I used back in 2014 when I had this working automatically. It is very crude, it hard codes stuff directly in the code (instead of using a nice table like the mockup above), makes ugly hacks to get the _graphbuilder object and no longer applies to the current code base, but it worked fine for me for several years. You do not need the LAVFilters.cs it creates (I think I found most of that file from some other project which I can not remember), cause I guess you already have that part since you can adjust the audio delay of LAV audio filter manually now. Main code is in g_player.cs.
For me, if I could just set different audio delays (in ms) per frame rate row in the Dynamic Refresh Rate settings dialog, and just have the code that does the refresh rate change also update the current audio delay of LAV audio filter whenever a refresh rate occurs, that would be absolutely awesome! Something like this mockup:
Just as inspiration, I attached my old patch I used back in 2014 when I had this working automatically. It is very crude, it hard codes stuff directly in the code (instead of using a nice table like the mockup above), makes ugly hacks to get the _graphbuilder object and no longer applies to the current code base, but it worked fine for me for several years. You do not need the LAVFilters.cs it creates (I think I found most of that file from some other project which I can not remember), cause I guess you already have that part since you can adjust the audio delay of LAV audio filter manually now. Main code is in g_player.cs.
Attachments
Last edited: