[Bug-Report] Bink Media Broken in 5.6

Hi, we are hitting something similar, but with Vulkan on Windows.

Almost the same repro steps:

  • Add the Bink Media plugin.
  • Create a Bink Media Player
  • Add bk2 to URL
  • CRASH

It’s really an assert in FVulkanTexture::InternalLockWrite

Callstack is as follows:

> [Inline Frame] UnrealEditor-VulkanRHI.dll!FVulkanTexture::InternalLockWrite::__l2::<lambda_1>::operator()() Line 122 C++
UnrealEditor-VulkanRHI.dll!FVulkanTexture::InternalLockWrite(FVulkanContextCommon & Context, FVulkanTexture * Surface, const VkBufferImageCopy & Region, VulkanRHI::FStagingBuffer * StagingBuffer) Line 122 C++
[Inline Frame] UnrealEditor-VulkanRHI.dll!FVulkanDynamicRHI::InternalUpdateTexture2D::__l2::<lambda_1>::operator()(FRHICommandListBase &) Line 1338 C++
UnrealEditor-VulkanRHI.dll!?ExecuteAndDestruct@?$TRHILambdaCommand@VFRHICommandListBase@@V<lambda_1>@?1??InternalUpdateTexture2D@FVulkanDynamicRHI@@IEAAXAEAV1@PEAVFRHITexture@@IAEBUFUpdateTextureRegion2D@@IPEBE@Z@@@UEAAXAEAVFRHICommandListBase@@@Z(FRHICommandListBase & CmdList) Line 387 C++
UnrealEditor-RHI.dll!FRHICommandListBase::Execute() Line 527 C++
UnrealEditor-RHI.dll!FRHICommandListExecutor::FTranslateState::Translate(FRHICommandListBase * CmdList) Line 1081 C++
UnrealEditor-RHI.dll!??R<lambda_1>@?9??Dispatch@FSubmitState@FRHICommandListExecutor@@QEAAXPEAVFRHICommandListBase@@@Z@QEBA@XZ() Line 1028 C++
[Inline Frame] UnrealEditor-RHI.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<0>,void __cdecl(void)>::operator()() Line 471 C++
UnrealEditor-RHI.dll!FRHICommandListExecutor::FTaskPipe::Execute(FRHICommandListExecutor::FTaskPipe::FTask * Task, const TRefCountPtr & CurrentEvent) Line 725 C++
[Inline Frame] UnrealEditor-RHI.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &)>::operator()(ENamedThreads::Type <Params_0>, const TRefCountPtr &) Line 471 C++
[Inline Frame] UnrealEditor-RHI.dll!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &),0>::DoTaskImpl(TUniqueFunction<void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &)> & Function, ENamedThreads::Type) Line 1123 C++
[Inline Frame] UnrealEditor-RHI.dll!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &),0>::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr &) Line 1104 C++
UnrealEditor-RHI.dll!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(ENamedThreads::Type,TRefCountPtr const & __ptr64),0>>::ExecuteTask() Line 706 C++
UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() Line 527 C++
[Inline Frame] UnrealEditor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> &) Line 505 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 779 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 668 C++
UnrealEditor-RenderCore.dll!FRHIThread::Run() Line 270 C++
UnrealEditor-Core.dll!FRunnableThreadWin::Run() Line 159 C++
UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() Line 71 C++