ffmpeg主函数入口及添加自己的日志函数
来源:互联网 发布:网络机顶盒免费vip软件 编辑:程序博客网 时间:2024/06/05 17:30
1 入口函数
在ffmpeg.c中的main函数
2 添加日志函数
添加自己的日志函数,可以打印文件名、函数名、行号,方便定位问题。
在log.h添加
#define isLinux 1#if isLinux#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <sys/time.h>#include <pthread.h>#endif
void logWrite(const char *FileName,const char *FuncName,int Line,long ThreadID,int Type,const char* format,... );#define myLog(Type,format,args...) \ logWrite( __FILE__,__FUNCTION__ ,__LINE__,pthread_self(),Type,format,##args)
在log.c中添加
static void GetTime(struct tm *newtime){ if(NULL == newtime){return ;} struct tm *newtimeTemp=NULL; time_t aclock;aclock=time(NULL); newtimeTemp=localtime(&aclock);newtimeTemp->tm_year += 1900;newtimeTemp->tm_mon += 1; memcpy(newtime,newtimeTemp,sizeof(struct tm)); return ;}void logWrite(const char *FileName,const char *FuncName,int Line,long ThreadID,int Type,const char* format,... ){#define MAX_LOG_MSG_Size 514#define FileNameSize 50#define FuncNameSize 30char LogMsg[MAX_LOG_MSG_Size]={0};char LogMsgFormat[MAX_LOG_MSG_Size]={0};char FilenameTemp[FileNameSize]={0};struct tm CurTime;va_list arg_ptr;va_start(arg_ptr,format); memset(&CurTime, 0x0,sizeof( CurTime ));(void)GetTime(&CurTime);//文件名 char *strrchr(const char *str, char c);char *pStar=NULL;if( NULL != (pStar = strrchr(FileName,'/'))){ pStar = pStar + 1; }else{ pStar = FileName;}strncpy( FilenameTemp , pStar ,FileNameSize-1 );vsnprintf(LogMsg, sizeof(LogMsg)-1, format,arg_ptr);snprintf(LogMsgFormat,sizeof(LogMsgFormat)-1, "%lu|%4d-%2d-%2d %2d:%2d:%2d|%s:%d|%s|%s", ThreadID, CurTime.tm_year,CurTime.tm_mon,CurTime.tm_mday, CurTime.tm_hour,CurTime.tm_min,CurTime.tm_sec, FilenameTemp,Line,FuncName,LogMsg);av_log(NULL, Type, "%s\n",LogMsgFormat);va_end(arg_ptr);}
原生的ffmpeg的日志即为av_log,其实相当于把av_log再封装一下。
0 0
- ffmpeg主函数入口及添加自己的日志函数
- ffmpeg添加自己的日志
- 自己写的日志函数
- 封装自己的日志函数
- 驱动程序的入口函数
- 进程的入口函数
- jquery的入口函数
- kotlin的入口函数
- jQuery的入口函数
- C语言封装自己的日志函数
- 实现自己的日志函数,非常简单。
- 手动添加自己的消息映射函数
- 添加自己的printf 打印函数
- main 函数的入口参数
- DLL的DllMain入口函数
- 修改函数入口的方法
- window的入口函数main
- 线程的入口函数总结
- sql语句嵌套查询
- Android后退事件的处理
- 在Eclipse中Ctrl+鼠标单击查看
- java变量的初始化之后的默认值
- FreeRTOS 和uCOS II的简单比较
- ffmpeg主函数入口及添加自己的日志函数
- SQL的四种连接查询
- Myeclipse与mysql数据库的连接
- jdkWIN7环境配置
- Hadoop 中的 Partitioner 过程
- Android开发:shape和selector和layer-list的(详细说明)
- JSONKIT isa错误的解决办法
- C#程序实现闰年的判断
- comparator接口与Comparable接口的区别