// ------------------------------------------------ // 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; };