Move StripPath to PathUtils and clarify why we need custom version.
Explain fields of the DVBState struct.
PPageAdvanced: Don't use hardcoded true/false strings.

Fixes #5055
CFavoriteOrganizeDlg: Show tooltip with path of the item.

Fixes #1494
Fix: The tracks could be duplicated in the "Details" tab of the "Properties" dialog.

One line got lost in 072b1f04d3cad6f0a5f29d48f91aa47da307e062.

Fixes #5029.
DSUtil: Remove duplicated function "FileExists".
Cosmetics: Remove unused include.
DSUtil: Remove duplicated function GetProgramPath.
Cosmetics: Use PathUtils::GetProgramPath when possible.
VSFilter: Remove an unused function.
Cosmetics: External toolbar image: Replace nested if by loops.
AStyle: Increase max-instatement-indent from 40 to 65.

max-instatement-indent=65 covers all the cases we had except one in MpcAudioRenderer.cpp which has been manually adjusted.
Changelog: Document a fixed bug in LAV Video Decoder.

Fixes #5030.
Text subtitles: Fix a crash in case of memory allocation failure.

Fixes #5010.
Text subtitles: Don't fail too hard if an opaque box cannot be allocated.

Properly catch the memory allocation error and continue painting since a missing opaque box is not critical.
Translations: std::list cannot hold const objects.

At least that's what the standard says but MSVC is currently broken and accepts this.
Property dialog: Always show the beginning of the file name when it doesn't fit.
Fix a rare crash when right-clicking on the playlist panel.

I wasn't able to reproduce the issue but some users had this crash and it doesn't hurt to be careful.

Fixes #4029.
Video renderers: Fix possible crashes when saving the current frame.

Correctly lock the resources and check their validity before using them.

Fixes #4551.
Video renderers: Some locks were released too early.

Temporary CAutoLock objects were created instead of scope variables due to the variable names having been forgotten.

As far as I know, nobody ever reported any issue related to this.