Files
TerracottaWarriors/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Public/IAndroidVulkanVideoAVCallback.h
2025-07-14 22:24:27 +08:00

22 lines
864 B
C++

// ------------------------------------------------
// Copyright Joe Marshall 2024- All Rights Reserved
// ------------------------------------------------
//
// Callback used by implementation class to send
// buffers to media player.
// ------------------------------------------------
#pragma once
class IAndroidVulkanVideoAVCallback
{
public:
// called with video frame hardware buffers
virtual void onVideoFrame(void *frameHwBuffer, int w, int h, int64_t presTimeNs) = 0;
// we need to get vulkan functions and device etc. via Unreal Engine for consistency
virtual void *getVkDeviceProcAddr(const char *name) = 0;
virtual VkDevice getVkDevice() = 0;
virtual const VkAllocationCallbacks *getVkAllocationCallbacks() = 0;
virtual VkPhysicalDevice getNativePhysicalDevice() = 0;
virtual void onPlaybackEnd(bool looping) = 0;
};