MediaComponent UpdatePlayer Function:
If the MediaPlayer is a nullptr the SharedPtr to the SampleQueue get’s reset (so it’s invalid). The WeakPtr to the CurrentPlayerFacade will stay the same.
If setting the MediaPlayer to the same one as before, GetPlayerFace()
will return the same value as CurrentPlayerFacade
. This means, that a new SampleQueue won’t be created. Since it is still invalid check(SampleQueue.IsValid());
will crash the game.
FIX: Insert CurrentPlayerFacade.Reset();
after SampleQueue.Reset();
at the beginning.
CRASH LOG:
LoginId:
EpicAccountId:
Assertion failed: SampleQueue.IsValid() [File:D:\Build\++UE4+Release-4.18+Compile\Sync\Engine\Source\Runtime\MediaAssets\Private\Assets\MediaSoundComponent.cpp] [Line: 60]
UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:414]
UE4Editor_MediaAssets!UMediaSoundComponent::UpdatePlayer() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\mediaassets\private\assets\mediasoundcomponent.cpp:60]
UE4Editor_Engine!FActorComponentTickFunction::ExecuteTickHelper<<lambda_a8128609955b5bb0ccb5da311e0c1d1a> >() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\classes\gameframework\actor.h:3100]
UE4Editor_Engine!FActorComponentTickFunction::ExecuteTick() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\components\actorcomponent.cpp:794]
UE4Editor_Engine!FTickFunctionTask::DoTask() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\ticktaskmanager.cpp:273]
UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:784]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:651]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilIdle() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:571]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\ticktaskmanager.cpp:559]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\ticktaskmanager.cpp:1454]
UE4Editor_Engine!UWorld::RunTickGroup() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:760]
UE4Editor_Engine!UWorld::Tick() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:1420]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1659]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:396]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3296]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll