一直想搞明白opencore从上往下的接口调用关系,但是光看代码收获很小,而且看得很不爽,只怪自己语言还不到家,看到代码中,
有自己的打印信息,如:
PVLOGGER_LOGMSG(PVLOGMSG_INST_LLDBG, iLogger, PVLOGMSG_STACK_TRACE, (0, "PVPlayerEngine::AddCommandToQueue() In
CmdType %d, CmdId %d", aCmdType, iCommandId));
都是这种格式的,
但是源码中有设置显示打印信息的等级,在Pvlogger.h (external/opencore/oscl/oscl/osclbase/src)文件中有以下内容:
/*
** Default logger instrumentation level. To override this
** setting, define PVLOGGER_INST_LEVEL in the osclconfig.h file.
** Possible values and the resulting intrumentation:
**
** PVLOGGER_INST_LEVEL 0 : No logging. All logging statements compiled out.
** PVLOGGER_INST_LEVEL 1 : Release level only.
** PVLOGGER_INST_LEVEL 2 : Release level + profile level
** PVLOGGER_INST_LEVEL 3 : Release level + profile level + high-level debug
** PVLOGGER_INST_LEVEL 4 : Release level + profile level + high-level debug + mid-level debug
** PVLOGGER_INST_LEVEL 5 & above : Release level + profile level + high-level debug
** + mid-level debug + low-level debug
*/
#ifndef PVLOGGER_INST_LEVEL
#if (OSCL_RELEASE_BUILD)
/* Release mode-- Profile logging */
#define PVLOGGER_INST_LEVEL 2
#else
/* Debug mode-- Complete logging */
#define PVLOGGER_INST_LEVEL 5
#endif
#endif
源码中默认设置PVLOGGER_INST_LEVEL=2,可知仅是 Release level + profile level,只显示一部分打印信息,想要看全部的打印
信息,就要更改这个值,我是这么改的(这个方法比较笨,应该有更好的方法,请指教呵):
1 将Pvlogger.h中的,这一段的PVLOGGER_INST_LEVEL值由2改为5,
2 在Osclconfig.h (external/opencore/oscl/oscl/config/android) 中也有这个的定义:
#ifndef PVLOGGER_INST_LEVEL
#if (OSCL_RELEASE_BUILD)
//Release mode logging - should be kept minimum
#define PVLOGGER_INST_LEVEL 2
#else
//full logging
#define PVLOGGER_INST_LEVEL 5
#endif
#endif
同样改为5,
3 Osclconfig.h (external/opencore/oscl/oscl/config/linux) 文件中也要这么改
改完重新编译生成镜像,开启模拟器:
进入shell,到sdcard下:
#logcat -f <filename>
播放文件,
adb pull <remote> <local>,将打印信息文件拷出来,就可以看了。
opencore播放wav格式的文件的打印信息输出log
最新推荐文章于 2024-09-20 20:44:35 发布