mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-06-12 13:17:46 +02:00
feat(YouTube/Video playback): add Disable VP9 codec
setting https://github.com/inotia00/ReVanced_Extended/issues/2384
This commit is contained in:
@ -30,6 +30,7 @@ import app.revanced.patches.youtube.video.playback.fingerprints.PlaybackSpeedCha
|
||||
import app.revanced.patches.youtube.video.playback.fingerprints.PlaybackSpeedInitializeFingerprint
|
||||
import app.revanced.patches.youtube.video.playback.fingerprints.QualityChangedFromRecyclerViewFingerprint
|
||||
import app.revanced.patches.youtube.video.playback.fingerprints.QualitySetterFingerprint
|
||||
import app.revanced.patches.youtube.video.playback.fingerprints.VP9CapabilityFingerprint
|
||||
import app.revanced.patches.youtube.video.videoid.VideoIdPatch
|
||||
import app.revanced.util.getReference
|
||||
import app.revanced.util.getStringInstructionIndex
|
||||
@ -72,7 +73,8 @@ object VideoPlaybackPatch : BaseBytecodePatch(
|
||||
QualityChangedFromRecyclerViewFingerprint,
|
||||
QualityMenuViewInflateFingerprint,
|
||||
QualitySetterFingerprint,
|
||||
VideoEndFingerprint
|
||||
VideoEndFingerprint,
|
||||
VP9CapabilityFingerprint
|
||||
)
|
||||
) {
|
||||
private const val PLAYBACK_SPEED_MENU_FILTER_CLASS_DESCRIPTOR =
|
||||
@ -81,6 +83,8 @@ object VideoPlaybackPatch : BaseBytecodePatch(
|
||||
"$COMPONENTS_PATH/VideoQualityMenuFilter;"
|
||||
private const val INTEGRATIONS_AV1_CODEC_CLASS_DESCRIPTOR =
|
||||
"$VIDEO_PATH/AV1CodecPatch;"
|
||||
private const val INTEGRATIONS_VP9_CODEC_CLASS_DESCRIPTOR =
|
||||
"$VIDEO_PATH/VP9CodecPatch;"
|
||||
private const val INTEGRATIONS_CUSTOM_PLAYBACK_SPEED_CLASS_DESCRIPTOR =
|
||||
"$VIDEO_PATH/CustomPlaybackSpeedPatch;"
|
||||
private const val INTEGRATIONS_HDR_VIDEO_CLASS_DESCRIPTOR =
|
||||
@ -326,6 +330,21 @@ object VideoPlaybackPatch : BaseBytecodePatch(
|
||||
|
||||
// endregion
|
||||
|
||||
// region patch for disable VP9 codec
|
||||
|
||||
VP9CapabilityFingerprint.resultOrThrow().mutableMethod.apply {
|
||||
addInstructionsWithLabels(
|
||||
0, """
|
||||
invoke-static {}, $INTEGRATIONS_VP9_CODEC_CLASS_DESCRIPTOR->disableVP9Codec()Z
|
||||
move-result v0
|
||||
if-nez v0, :default
|
||||
return v0
|
||||
""", ExternalLabel("default", getInstruction(0))
|
||||
)
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
/**
|
||||
* Add settings
|
||||
*/
|
||||
|
@ -0,0 +1,14 @@
|
||||
package app.revanced.patches.youtube.video.playback.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal object VP9CapabilityFingerprint : MethodFingerprint(
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
returnType = "Z",
|
||||
strings = listOf(
|
||||
"vp9_supported",
|
||||
"video/x-vnd.on2.vp9"
|
||||
)
|
||||
)
|
Reference in New Issue
Block a user