Hardware: RPI4 running LE 10.0.2 (Kodi 19.4).
PVR SW: NextPVR
I'm in the Miami Florida USA area and one of the local 1080i TV stations somehow put in the European frame rate of 25 fps in their metadata instead of the ATSC standard 29.97 fps. All the other 1080i stations played with no problem so it was this station that was the "problem child".
The result was the audio played normally but could not sync with the video which was running at the slower rate on my RPI4 that was connected to a 1080p TV. What was really strange was that an identically configured RPI4 connected to an older 720p TV ran perfectly. Also Kodi on my HP laptop (Windows 11) ran perfectly as well.
Frustrated, I finally figured out that I should do the following:
1. Add the following to my advancedsettings.xml file:
<advancedsettings>
<video>
<fallback>
<refreshmin>29.97</refreshmin>
<refreshmax>59.94</refreshmax>
</fallback>
</video>
</advancedsettings>
2. Go into Settings->System ->Display and set the whitelist to the appropriate settings for my TV. I also enabled 3:2 pulldown and double refresh rates.
[WHITELIST] whitelisted modes:
1920x1080 @ 60.000000 Hz
1920x1080 @ 59.940063 Hz
1920x1080 @ 30.000000 Hz
1920x1080 @ 29.970032 Hz
1920x1080 @ 24.000000 Hz
1920x1080 @ 23.976025 Hz
1920x1080 @ 24.000000 Hz
1920x1080 @ 23.976025 Hz
I rebooted my system and lo and behold, the errant channel was now at the correct frame rate and the audio and video was synching perfectly.
In the for what it's worth department, I did contact the TV station's chief engineer about the issue and nothing was done on their end to rectify the problem. Fortunately, Kodi had the tools I needed to resolve the problem.