21 lines
810 B
C
21 lines
810 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;
|
||
|
|
|
||
|
|
};
|