22 lines
864 B
C
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;
|
||
|
};
|