SmartAudio/package/allwinner/liballwinner_tina/liballwinner/xmetadataretriever/xmetadataretriever.h

50 lines
1.2 KiB
C
Executable File

#ifndef X_METADATA_RETRIEVER
#define X_METADATA_RETRIEVER
#ifdef __cplusplus
extern 'C' {
#endif
#include "vdecoder.h" //* video decode library in "LIBRARY/CODEC/VIDEO/DECODER"
#include "CdxParser.h" //* parser library in "LIBRARY/DEMUX/PARSER/include/"
#include "CdxStream.h" //* parser library in "LIBRARY/DEMUX/STREAM/include/"
typedef struct VideoFrame
{
// Intentional public access modifier:
uint32_t mWidth;
uint32_t mHeight;
uint32_t mDisplayWidth;
uint32_t mDisplayHeight;
uint32_t mSize; // Number of bytes in mData
uint8_t* mData; // Actual binary data
int32_t mRotationAngle; // rotation angle, clockwise
}VideoFrame;
enum MetaDataType
{
METADATA_VIDEO_WIDTH = 0,
METADATA_VIDEO_HEIGHT = 1,
METADATA_DURATION = 2, // file duration (ms)
};
#define MediaScanDedug (0)
typedef void* AwRetriever;
AwRetriever* AwRetrieverCreate();
int AwRetrieverDestory(AwRetriever* p);
int AwRetrieverSetDataSource(AwRetriever* p, const char* pUrl);
VideoFrame* AwRetrieverGetFrameAtTime(AwRetriever* p, int64_t timeUs);
int AwRetrieverGetMetaData(AwRetriever* p, int type, void* pVal);
#ifdef __cplusplus
}
#endif
#endif