⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avsync.h

📁 sample on embedded linux
💻 H
字号:
#ifndef __AVSYNC_H__#define __AVSYNC_H__#include <pthread.h>#include <sys/time.h>#include <time.h>#include <sys/types.h>#include <unistd.h>#include "hi_rtp.h"#include "avcommon.h"/*定义vo显示时间,单位ms*/#define VO_DISPLAY_TIME 80/*定义音频解码时间,单位ms*/#define AUDIO_DECODE_TIME 0/*定义视频丢帧最小间隔*/#define MIN_FRAME_DISCARD_INTERVAL 24/*定义同步状态变迁门限,单位ms*/#define MAX_V2A_SYNC    160#define MIN_V2A_SYNC    -160#define MAX_V2A_OUTSYNC 300#define MIN_V2A_OUTSYNC -300/*定义重新校正基准时间(音频pts)的间隔*/#define AUDIO_RECHECK_COUNT 1000/*定义同步状态*/typedef enum {    VIDEO_SYNC = 1,    VIDEO_SLIGHT_QUICK = 2,    VIDEO_SLIGHT_SLOW = 3,    VIDEO_OUTSYNC_QUICK = 4,    VIDEO_OUTSYNC_SLOW = 5}AVSYNC_STATUS_E;typedef struct{    /*记录音频pts和对应系统时间*/    HI_U64 system_time;/*单位us*/    HI_U32 audio_pts;/*单位ms*/}AVSYNC_TIMER_S;HI_S32 audio_onrecv(IN struct hiRTP_RECV_S  * pRtpStream,                                         unsigned char * pBuff,  unsigned int len, int *ext_args);/*timeval结构转化为U64的us数*/static inline HI_U64 AVSYNC_Get_Time_Inusec(struct timeval tv) {    HI_U64 systime;    systime = tv.tv_sec*1000000 + tv.tv_usec;    return systime;}void AVSYNC_Start(void);void AVSYNC_Stop(void);void AVSYNC_Frame2Vo_Start(VDEC_CHN ChanID);void AVSYNC_Frame2Vo_Stop();#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -