59 lines
1.9 KiB
C
59 lines
1.9 KiB
C
#ifndef ANDROID_DVR_BUFFER_H_
|
|
#define ANDROID_DVR_BUFFER_H_
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <sys/cdefs.h>
|
|
#include <memory>
|
|
|
|
__BEGIN_DECLS
|
|
|
|
typedef struct DvrWriteBuffer DvrWriteBuffer;
|
|
typedef struct DvrReadBuffer DvrReadBuffer;
|
|
typedef struct DvrBuffer DvrBuffer;
|
|
typedef struct AHardwareBuffer AHardwareBuffer;
|
|
struct native_handle;
|
|
|
|
// Destroys the write buffer.
|
|
void dvrWriteBufferDestroy(DvrWriteBuffer* write_buffer);
|
|
|
|
// Returns 1 if the given write buffer object contains a buffer, 0 otherwise.
|
|
int dvrWriteBufferIsValid(DvrWriteBuffer* write_buffer);
|
|
|
|
// Returns the global BufferHub id of this buffer.
|
|
int dvrWriteBufferGetId(DvrWriteBuffer* write_buffer);
|
|
|
|
// Returns an AHardwareBuffer for the underlying buffer.
|
|
// Caller must call AHardwareBuffer_release on hardware_buffer.
|
|
int dvrWriteBufferGetAHardwareBuffer(DvrWriteBuffer* write_buffer,
|
|
AHardwareBuffer** hardware_buffer);
|
|
|
|
// Destroys the read buffer.
|
|
void dvrReadBufferDestroy(DvrReadBuffer* read_buffer);
|
|
|
|
// Returns 1 if the given write buffer object contains a buffer, 0 otherwise.
|
|
int dvrReadBufferIsValid(DvrReadBuffer* read_buffer);
|
|
|
|
// Returns the global BufferHub id of this buffer.
|
|
int dvrReadBufferGetId(DvrReadBuffer* read_buffer);
|
|
|
|
// Returns an AHardwareBuffer for the underlying buffer.
|
|
// Caller must call AHardwareBuffer_release on hardware_buffer.
|
|
int dvrReadBufferGetAHardwareBuffer(DvrReadBuffer* read_buffer,
|
|
AHardwareBuffer** hardware_buffer);
|
|
|
|
// Destroys the buffer.
|
|
void dvrBufferDestroy(DvrBuffer* buffer);
|
|
|
|
// Gets an AHardwareBuffer from the buffer.
|
|
// Caller must call AHardwareBuffer_release on hardware_buffer.
|
|
int dvrBufferGetAHardwareBuffer(DvrBuffer* buffer,
|
|
AHardwareBuffer** hardware_buffer);
|
|
|
|
// Retrieve the shared buffer layout version defined in dvr_shared_buffers.h.
|
|
int dvrBufferGlobalLayoutVersionGet();
|
|
|
|
__END_DECLS
|
|
|
|
#endif // ANDROID_DVR_BUFFER_H_
|