Files

22 lines
864 B
C
Raw Permalink Normal View History

2025-07-14 22:24:27 +08:00
// ------------------------------------------------
// 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;
};