您的位置:首页 > 运维架构

opencore播放wav格式的文件的打印信息输出log

2010-04-28 10:08 639 查看
一直想搞明白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>,将打印信息文件拷出来,就可以看了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: