diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/BadResponseFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/BadResponseFingerprint.kt similarity index 76% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/BadResponseFingerprint.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/BadResponseFingerprint.kt index 280163f96..b0b6c91ff 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/BadResponseFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/BadResponseFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.protobufpoof.fingerprints +package app.revanced.patches.youtube.utils.fix.parameter.fingerprints import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import org.jf.dexlib2.Opcode diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/ProtobufParameterBuilderFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/ProtobufParameterBuilderFingerprint.kt similarity index 84% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/ProtobufParameterBuilderFingerprint.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/ProtobufParameterBuilderFingerprint.kt index 4ec4d067e..4d176d604 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/ProtobufParameterBuilderFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/ProtobufParameterBuilderFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.protobufpoof.fingerprints +package app.revanced.patches.youtube.utils.fix.parameter.fingerprints import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import org.jf.dexlib2.Opcode diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/SubtitleWindowFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/SubtitleWindowFingerprint.kt similarity index 80% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/SubtitleWindowFingerprint.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/SubtitleWindowFingerprint.kt index 4bef89960..10252254a 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/fingerprints/SubtitleWindowFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/fingerprints/SubtitleWindowFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.protobufpoof.fingerprints +package app.revanced.patches.youtube.utils.fix.parameter.fingerprints import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/patch/ProtobufSpoofPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/patch/SpoofPlayerParameterPatch.kt similarity index 72% rename from src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/patch/ProtobufSpoofPatch.kt rename to src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/patch/SpoofPlayerParameterPatch.kt index 743ebb0db..a6fbdb301 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/fix/protobufpoof/patch/ProtobufSpoofPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/fix/parameter/patch/SpoofPlayerParameterPatch.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.utils.fix.protobufpoof.patch +package app.revanced.patches.youtube.utils.fix.parameter.patch import app.revanced.extensions.toErrorResult import app.revanced.patcher.annotation.Description @@ -12,30 +12,27 @@ import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.annotations.DependsOn -import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility -import app.revanced.patches.youtube.utils.fix.protobufpoof.fingerprints.BadResponseFingerprint -import app.revanced.patches.youtube.utils.fix.protobufpoof.fingerprints.ProtobufParameterBuilderFingerprint -import app.revanced.patches.youtube.utils.fix.protobufpoof.fingerprints.SubtitleWindowFingerprint +import app.revanced.patches.youtube.utils.fix.parameter.fingerprints.BadResponseFingerprint +import app.revanced.patches.youtube.utils.fix.parameter.fingerprints.ProtobufParameterBuilderFingerprint +import app.revanced.patches.youtube.utils.fix.parameter.fingerprints.SubtitleWindowFingerprint import app.revanced.patches.youtube.utils.playertype.patch.PlayerTypeHookPatch import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.youtube.utils.videoid.mainstream.patch.MainstreamVideoIdPatch import app.revanced.util.integrations.Constants.MISC_PATH -@Patch -@Name("protobuf-spoof") -@Description("Spoofs the protobuf to prevent playback issues.") +@Name("spoof-player-parameters") +@Description("Spoofs player parameters to prevent playback issues.") @DependsOn( [ MainstreamVideoIdPatch::class, - PlayerTypeHookPatch::class, - SettingsPatch::class + PlayerTypeHookPatch::class ] ) @YouTubeCompatibility @Version("0.0.1") -class ProtobufSpoofPatch : BytecodePatch( +class SpoofPlayerParameterPatch : BytecodePatch( listOf( BadResponseFingerprint, ProtobufParameterBuilderFingerprint, @@ -56,7 +53,7 @@ class ProtobufSpoofPatch : BytecodePatch( addInstructions( 0, """ - invoke-static {p$protobufParam}, $MISC_PATH/ProtobufSpoofPatch;->overrideProtobufParameter(Ljava/lang/String;)Ljava/lang/String; + invoke-static {p$protobufParam}, $MISC_PATH/SpoofPlayerParameterPatch;->overridePlayerParameter(Ljava/lang/String;)Ljava/lang/String; move-result-object p$protobufParam """ ) @@ -66,14 +63,14 @@ class ProtobufSpoofPatch : BytecodePatch( // hook video playback result BadResponseFingerprint.result?.mutableMethod?.addInstruction( 0, - "invoke-static {}, $MISC_PATH/ProtobufSpoofPatch;->switchProtobufSpoof()V" + "invoke-static {}, $MISC_PATH/SpoofPlayerParameterPatch;->switchPlayerParameters()V" ) ?: return BadResponseFingerprint.toErrorResult() // fix protobuf spoof side issue SubtitleWindowFingerprint.result?.mutableMethod?.addInstructions( 0, """ - invoke-static {p1, p2, p3, p4, p5}, $MISC_PATH/ProtobufSpoofPatch;->getSubtitleWindowSettingsOverride(IIIZZ)[I + invoke-static {p1, p2, p3, p4, p5}, $MISC_PATH/SpoofPlayerParameterPatch;->getSubtitleWindowSettingsOverride(IIIZZ)[I move-result-object v0 const/4 v1, 0x0 aget p1, v0, v1 # ap, anchor position @@ -85,17 +82,16 @@ class ProtobufSpoofPatch : BytecodePatch( ) ?: return SubtitleWindowFingerprint.toErrorResult() // Hook video id, required for subtitle fix. - MainstreamVideoIdPatch.injectCall("$MISC_PATH/ProtobufSpoofPatch;->setCurrentVideoId(Ljava/lang/String;)V") + MainstreamVideoIdPatch.injectCall("$MISC_PATH/SpoofPlayerParameterPatch;->setCurrentVideoId(Ljava/lang/String;)V") /** * Add settings */ SettingsPatch.addPreference( arrayOf( - "SETTINGS: ENABLE_PROTOBUF_SPOOF" + "SETTINGS: SPOOF_PLAYER_PARAMETER" ) ) - SettingsPatch.updatePatchStatus("protobuf-spoof") return PatchResultSuccess() } diff --git a/src/main/kotlin/app/revanced/patches/youtube/utils/microg/bytecode/patch/MicroGBytecodePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/utils/microg/bytecode/patch/MicroGBytecodePatch.kt index 25a80e03d..5fc07bbde 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/utils/microg/bytecode/patch/MicroGBytecodePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/utils/microg/bytecode/patch/MicroGBytecodePatch.kt @@ -10,7 +10,7 @@ import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patches.shared.patch.packagename.PackageNamePatch import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.fix.clientspoof.patch.ClientSpoofPatch -import app.revanced.patches.youtube.utils.fix.protobufpoof.patch.ProtobufSpoofPatch +import app.revanced.patches.youtube.utils.fix.parameter.patch.SpoofPlayerParameterPatch import app.revanced.patches.youtube.utils.microg.bytecode.fingerprints.CastContextFetchFingerprint import app.revanced.patches.youtube.utils.microg.bytecode.fingerprints.CastDynamiteModuleFingerprint import app.revanced.patches.youtube.utils.microg.bytecode.fingerprints.CastDynamiteModuleV2Fingerprint @@ -26,7 +26,7 @@ import app.revanced.util.microg.MicroGBytecodeHelper [ ClientSpoofPatch::class, PackageNamePatch::class, - ProtobufSpoofPatch::class + SpoofPlayerParameterPatch::class ] ) @YouTubeCompatibility