#ifndef VIDEO_JBUFFER_DEFINES_H_ #define VIDEO_JBUFFER_DEFINES_H_ #include "../video_common/video_encoded_image.h" #ifdef __cplusplus extern "C" { #endif enum PACKET_TYPE_IN_FRAME{ FIRST_PACKET_IN_FRAME, NORMAL_PACKET_IN_FRAME, LAST_PACKET_IN_FRAME }; enum FrameBufferEnum { kOutOfBoundsPacket = -7, kNotInitialized = -6, kOldPacket = -5, kGeneralError = -4, kFlushIndicator = -3, // Indicator that a flush has occurred. kTimeStampError = -2, kSizeError = -1, kNoError = 0, kIncomplete = 1, // Frame incomplete. kCompleteSession = 3, // at least one layer in the frame complete. kDuplicatePacket = 5 // We're receiving a duplicate packet. }; typedef struct _VideoJBufferPacketInfo{ int length; unsigned int timestamp; unsigned short seq; enum PACKET_TYPE_IN_FRAME packet_type; int is_key; unsigned pt; } VideoJBufferPacketInfo; typedef struct _VideoJBufferObserver{ // Callback function which is called when an image has been Received. int ( *OnReceiveEncodedImage)(const EncodedImage *encoded_image, unsigned int timestamp, unsigned short first_seq, unsigned short last_seq, void *userdata); int ( *RequestKeyFrame)(void *userdata); void *userdata; } VideoJBufferObserver; typedef struct _VideoJBufferLogCallBack{ // Callback function. int(*log_fn)(void *userdata, int level, const char* file, int line, const char* fmt, va_list vl); void *userdata; } VideoJBufferLogCallBack; #ifdef __cplusplus } #endif /* end of __cplusplus */ #endif // VIDEO_JBUFFER_DEFINES_H_