@@ -5,6 +5,7 @@ import app.revanced.extension.youtube.patches.VideoInformation
55import com.google.android.libraries.youtube.innertube.model.media.VideoQuality
66import de.robv.android.xposed.XC_MethodHook
77import de.robv.android.xposed.XposedBridge
8+ import de.robv.android.xposed.XposedHelpers
89import io.github.chsbuffer.revancedxposed.findFirstFieldByExactType
910import io.github.chsbuffer.revancedxposed.getStaticObjectField
1011import io.github.chsbuffer.revancedxposed.scopedHook
@@ -15,6 +16,7 @@ import io.github.chsbuffer.revancedxposed.youtube.video.playerresponse.playerRes
1516import io.github.chsbuffer.revancedxposed.youtube.video.videoid.VideoId
1617import io.github.chsbuffer.revancedxposed.youtube.video.videoid.videoIdHooks
1718import org.luckypray.dexkit.wrap.DexClass
19+ import java.lang.ref.WeakReference
1820import java.lang.reflect.Field
1921import java.lang.reflect.Method
2022
@@ -34,6 +36,7 @@ val videoTimeHooks = mutableListOf<(Long) -> Unit>()
3436 * Hook when the video speed is changed for any reason _except when the user manually selects a new speed_.
3537 * */
3638val videoSpeedChangedHook = mutableListOf< (Float ) -> Unit > ()
39+
3740/* *
3841 * Hook the video speed selected by the user.
3942 */
@@ -56,17 +59,23 @@ fun doOverridePlaybackSpeed(speedOverride: Float) {
5659}
5760
5861class PlaybackController (
59- private val obj : Any ,
62+ obj : Any ,
6063 private val seekTo : Method ,
6164 private val seekToRelative : Method ,
6265 val seekSourceNone : Any
6366) : VideoInformation.PlaybackController {
67+ val obj = WeakReference (obj)
68+
69+ init {
70+ XposedHelpers .setAdditionalInstanceField(obj, " patch_controller" , this )
71+ }
72+
6473 override fun patch_seekTo (videoTime : Long ): Boolean {
65- return seekTo.invoke(obj, videoTime, seekSourceNone) as Boolean
74+ return seekTo.invoke(obj.get() , videoTime, seekSourceNone) as Boolean
6675 }
6776
6877 override fun patch_seekToRelative (videoTimeOffset : Long ) {
69- seekToRelative.invoke(obj)
78+ seekToRelative.invoke(obj.get() )
7079 }
7180}
7281
0 commit comments