Video Sync RPCs infinitely loop OnVideoEnd
closed
Joshua Worley
Using SendRPC to a video player triggered by OnVideoEnd seems to cause an infinite loop.
I've tried Stop, Pause, and PlayIndex. All seem to crash the game at the end of the video. If I use a delay, it loops over and over after that amount of time. (So a delay of 1 seconds will loop play/stop/etc every 1 second).
Other actions, not having to do with the video player itself, seem to work. I've not tested it much, though.
Log In
Tupper - VRChat Head of Community
marked this post as
closed
Closing due to age, please make a new post if it is still relevant.
Eremite
Also getting this issue.
I thought that the problem might be from the trigger constantly triggering while the video was in the "Ended" state or whatever, so I tried having the OnVideoEnd disable its own trigger component after it executes the custom trigger, then enabling it when the video is started again.
That didn't help as even with the VRC Trigger disabled, it still spams the logs with requests to the custom trigger. Once this happens, the game freezes entirely, spinning wheel/white overlay, and has to be killed.
----------------
2019.05.06 18:28:54 Log - [VRC_EventDispatcherRFC] ActivateCustomTrigger:VideoEnd on (Stop)
2019.05.06 18:28:54 Log - [VRC_TriggerInternal] 55.74984 Stop via VideoEnd:Custom executing SendRPC
2019.05.06 18:28:54 Warning - [Network Transport] Deferred event 6 because it's over its limit of 50 per 0.1
2019.05.06 18:28:54 Log - [VRC_EventDispatcherRFC] SendRPC VideoPlayer:Stop:Owner for VRCPlayer[Local] Eremite 1 and 0 bytes
2019.05.06 18:28:54 Log - [Network Processing] RPC invoked Stop on VideoPlayer for Eremite
2019.05.06 18:28:54 Error - [Network Processing] User code has thrown an exception, when calling Stop on VideoPlayer: The requested operation caused a stack overflow.
at VRC_EventLog.NFOLEMNOJJP (.NEKFNAAFEEJ ICIIBNCAKCI, VRC.Player NPEMLKPGJKJ) [0x00000] in <filename unknown>:0
at VRC.EventReplicator`2[EventType,EventEqualityComparerType].KAFIPOGHFMJ (.EventType ICIIBNCAKCI, Boolean EEKFEMAAOBF, .LDCELBEJAPL NPEMLKPGJKJ) [0x00000] in <filename unknown>:0
at VRC.EventReplicator`2[EventType,EventEqualityComparerType].ProcessEvent (.EventType ICIIBNCAKCI, .LDCELBEJAPL NPEMLKPGJKJ) [0x00000] in <filename unknown>:0
at VRC_EventLog.LogEvent (VRCSDK2.VRC_EventHandler JLMGGAJKEKN, VRCSDK2.VrcEvent AIHMOLAEHNE, VrcBroadcastType LAOMADOHNBF, Int32 CIKLHIPCIMB, Single DPJJJBJFMLA) [0x00000] in <filename unknown>:0
at VrcSdk2Interface.PJLDOCBJLAM (VRCSDK2.VRC_EventHandler JLMGGAJKEKN, VRCSDK2.VrcEvent AIHMOLAEHNE, VrcBroadcastType LAOMADOHNBF, Int32 CIKLHIPCIMB, Single DPJJJBJFMLA) [0x00000] in <filename unknown>:0
at VRCSDK2.VRC_EventHandler.InternalTriggerEvent (VRCSDK2.VrcEvent e, VrcBroadcastType broadcast, Int32 instagatorId, Single fastForward) [0x00000] in <filename unknown>:0
at VRCSDK2.VRC_EventHandler.TriggerEvent (VRCSDK2.VrcEvent e, VrcBroadcastType broadcast, UnityEngine.GameObject instagator, Single fastForward) [0x00000] in <filename unknown>:0
at VRC_TriggerInternal+MCOBAIGECED.MoveNext () [0x00000] in <filename unknown>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto_Internal (System.Collections.IEnumerator)
at UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0
at VRC_TriggerInternal.MDHFJDOCMIC (VRCSDK2.TriggerEvent LLACFOELBDC) [0x00000] in <filename unknown>:0
at VRCSDK2.VRC_Trigger.ExecuteTriggerType (TriggerType triggerType) [0x00000] in <filename unknown>:0
at VRCSDK2.VRC_Trigger.Trigger (UnityEngine.GameObject obj, TriggerType type) [0x00000] in <filename unknown>:0
at SyncVideoStream.PGHKNDGKDMA (TriggerType GMIAFNGPHDO) [0x00000] in <filename unknown>:0
at SyncVideoStream.Stop (Boolean GKJGPKPABBA, Boolean CPNMNHJLOIJ) [0x00000] in <filename unknown>:0
at VrcSdk2Interface.DFHGBPEKLBN (VRCSDK2.VRC_SyncVideoStream FMEJNNJEICK) [0x00000] in <filename unknown>:0
at VRCSDK2.VRC_SyncVideoStream.Stop () [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
2019.05.06 18:28:54 Warning - [Network Transport] Deferred event 6 because it's over its limit of 50 per 0.1
2019.05.06 18:28:54 Log - [VRC_EventDispatcherRFC] SendRPC VideoPlayer:Stop:Owner for VRCPlayer[Local] Eremite 1 and 0 bytes
2019.05.06 18:28:54 Log - [Network Processing] RPC invoked Stop on VideoPlayer for Eremite
2019.05.06 18:28:54 Log - [VRC_TriggerInternal] 55.74984 VideoPlayer via Unnamed:OnVideoEnd executing ActivateCustomTrigger
2019.05.06 18:28:54 Warning - [Network Transport] Deferred event 6 because it's over its limit of 50 per 0.1
2019.05.06 18:28:54 Log - [VRC_EventDispatcherRFC] ActivateCustomTrigger:VideoEnd on (Stop)
2019.05.06 18:28:54 Log - [VRC_TriggerInternal] 55.74984 Stop via VideoEnd:Custom executing SendRPC
2019.05.06 18:28:54 Warning - [Network Transport] Deferred event 6 because it's over its limit of 50 per 0.1
2019.05.06 18:28:54 Log - [VRC_EventDispatcherRFC] SendRPC VideoPlayer:Stop:Owner for VRCPlayer[Local] Eremite 1 and 0 bytes
2019.05.06 18:28:54 Log - [Network Processing] RPC invoked Stop on VideoPlayer for Eremite
2019.05.06 18:28:54 Log - [VRC_TriggerInternal] 55.74984 VideoPlayer via Unnamed:OnVideoEnd executing ActivateCustomTrigger
2019.05.06 18:28:54 Warning - [Network Transport] Deferred event 6 because it's over its limit of 50 per 0.1
2019.05.06 18:28:54 Log - [VRC_EventDispatcherRFC] ActivateCustomTrigger:VideoEnd on (Stop)
Eremite
"Added OnVideoStart, OnVideoEnd, OnVideoPlay and OnVideoPause triggers for use with VRC_SyncVideoPlayer"
I was using this with the new stream player, so that is likely the cause. This trigger may need updating to also handle the new sync video streams.
Eremite
This also crashes when using the VRC_SyncVideoPlayer.