11#include <promeki/config.h>
12#if PROMEKI_ENABLE_PROAV
19PROMEKI_NAMESPACE_BEGIN
60class MediaIOAllocator :
public BufferAllocator {
62 PROMEKI_SHARED_DERIVED(MediaIOAllocator)
65 using Ptr = SharedPtr<MediaIOAllocator,
false>;
67 MediaIOAllocator() =
default;
68 ~MediaIOAllocator()
override =
default;
70 String name()
const override;
71 Buffer allocateVideoPlane(
const ImageDesc &desc,
int planeIndex)
const override;
72 Buffer allocateAudioChunk(
const AudioDesc &desc,
size_t samples)
const override;
73 Buffer allocateBytes(
size_t bytes,
size_t align = 0)
const override;
87 virtual UncompressedVideoPayload::Ptr allocateVideoPayload(
const ImageDesc &desc)
const;
99 virtual PcmAudioPayload::Ptr allocateAudioPayload(
const AudioDesc &desc,
size_t samples)
const;
109 static Ptr defaultAllocator();