diff --git a/code/BasicFeature/Media/AVCodec/.gitignore b/code/BasicFeature/Media/AVCodec/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..fbabf771011fe78f9919db0b1195ab6cadffc2b0 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/.gitignore @@ -0,0 +1,11 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/AppScope/app.json5 b/code/BasicFeature/Media/AVCodec/AppScope/app.json5 new file mode 100644 index 0000000000000000000000000000000000000000..8f551dbb787b6f5477f1281f29e4165031b4d65f --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.example.avcodecsample", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/code/BasicFeature/Media/AVCodec/AppScope/resources/base/element/string.json b/code/BasicFeature/Media/AVCodec/AppScope/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..8427310926f445f5313595f2990e44c6ced2af54 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "AVCodec" + } + ] +} diff --git a/code/BasicFeature/Media/AVCodec/AppScope/resources/base/media/app_icon.png b/code/BasicFeature/Media/AVCodec/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/AppScope/resources/base/media/app_icon.png differ diff --git a/code/BasicFeature/Media/AVCodec/README_zh.md b/code/BasicFeature/Media/AVCodec/README_zh.md new file mode 100644 index 0000000000000000000000000000000000000000..e726f0751d6d6086811ddd0054279b3145461f9c --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/README_zh.md @@ -0,0 +1,458 @@ +# AVCodecSample + +### 介绍 + +AVCodec 部件示例 Sample,基于 API12 构建,提供视频播放和录制的功能。 + +- 视频播放的主要流程是将视频文件通过解封装->解码->送显/播放。 +- 视频录制的主要流程是相机采集->编码->封装成mp4文件。 + +### 播放支持的原子能力规格 + +| 媒体格式 | 封装格式 | 码流格式 | +|------|:--------|:------------------------------------| +| 视频 | mp4 | 视频码流:H.264/H.265, 音频码流:Audio | +| 视频 | mkv | 视频码流:H.264/H.265, 音频码流:aac/mp3/opus | +| 视频 | mpeg-ts | 视频码流:H.264, 音频码流:Audio | + +### 录制支持的原子能力规格 + +| 封装格式 | 视频编解码类型 | +|------|-------------| +| mp4 | H.264/H.265 | AAC、MPEG(MP3) | + +注意,目前仅支持视频录制,未集成音频能力 + +### 效果预览 + +| 播放(横屏) | 播放(竖屏) | 录制 | 录制 | +|---------------------------------|-------------------------------------|---------------------------------|-------------------------------------| +| ![播放.jepg](screenshots/播放.jpeg) | ![播放_2.jpeg](screenshots/播放_2.jpeg) | ![录制.jpeg](screenshots/录制.jpeg) | ![录制_2.jpeg](screenshots/录制_2.jpeg) | + +### 使用说明 + +弹出是否允许“AVCodec”使用相机?点击“允许” + +- 推送视频到文件管理? + hdc file send xx.xx storage/media/100/local/files/Docs +- 推送视频到图库? + hdc file send xx.mp4 storage/media/100/local/files + hdc shell mediatool send /storage/media/100/local/files/xx.mp4 + +#### 播放 + +1. 点击下方“录制”,录制一个视频文件(无音频)或推送文件到本地(可单独音频、单独视频、视频含音频) + +2. 点击播放按钮,选择从文件管理选取或从图库选取,点击确定,选择文件播放 + +#### 录制 + +1. (可选)选择相机分辨率 + +2. 点击“录制” + +3. 选取视频输出路径 + +4. 点击“开始录制” + +5. 点击“停止录制” + +### 目录 + +仓目录结构如下: + +``` +video-codec-sample/entry/src/main/ +├── cpp # Native层 +│ ├── capbilities # 能力接口和实现 +│ │ ├── include # 能力接口 +│ │ ├── audio_decoder.cpp # 音频解码实现 +│ │ ├── demuxer.cpp # 解封装实现 +│ │ ├── muxer.cpp # 封装实现 +│ │ ├── video_decoder.cpp # 视频解码实现 +│ │ └── video_encoder.cpp # 视频编码实现 +│ ├── common # 公共模块 +│ │ ├── dfx # 日志 +│ │ ├── sample_callback.cpp # 编解码回调实现 +│ │ ├── sample_callback.h # 编解码回调定义 +│ │ └── sample_info.h # 功能实现公共类 +│ ├── render # 送显模块接口和实现 +│ │ ├── include # 送显模块接口 +│ │ ├── egl_core.cpp # 送显参数设置 +│ │ ├── plugin_manager.cpp # 送显模块管理实现 +│ │ └── plugin_render.cpp # 送显逻辑实现 +│ ├── sample # Native层 +│ │ ├── player # Native层播放接口和实现 +│ │ │ ├── Player.cpp # Native层播放功能调用逻辑的实现 +│ │ │ ├── Player.h # Native层播放功能调用逻辑的接口 +│ │ │ ├── PlayerNative.cpp # Native层 播放的入口 +│ │ │ └── PlayerNative.h # +│ │ └── recorder # Native层录制接口和实现 +│ │ ├── Recorder.cpp # Native层录制功能调用逻辑的实现 +│ │ ├── Recorder.h # Native层录制功能调用逻辑的接口 +│ │ ├── RecorderNative.cpp # Native层 录制的入口 +│ │ └── RecorderNative.h # +│ ├── types # Native层暴露上来的接口 +│ │ ├── libplayer # 播放模块暴露给UI层的接口 +│ │ └── librecorder # 录制模块暴露给UI层的接口 +│   └── CMakeLists.txt # 编译入口 +├── ets # UI层 +│ ├── common # 公共模块 +│ │ └──utils # 共用的工具类 +│ │ ├── CameraCheck.ets # 相机能力查询 +│ │ ├── DateTimeUtils.ets # 获取当前时间 +│ │ └── Logger.ts # 日志工具 +│ ├── CommonConstants.ets # 参数常量 +│ ├── entryability # 应用的入口 +│ │   └── EntryAbility.ts # 申请权限弹窗实现 +│ ├── pages # EntryAbility 包含的页面 +│ │ └── Index.ets # 首页/播放页面 +│   └── sample # sample +│ └── recorder # 录制 +│ └── Recorder.ets # 录制页面 +├── resources # 用于存放应用所用到的资源文件 +│ ├── base # 该目录下的资源文件会被赋予唯一的ID +│ │ ├── element # 用于存放字体和颜色 +│ │ ├── media # 用于存放图片 +│ │ └── profile # 应用入口首页 +│ ├── en_US # 设备语言是美式英文时,优先匹配此目录下资源 +│ └── zh_CN # 设备语言是简体中文时,优先匹配此目录下资源 +└── module.json5 # 模块配置信息 +``` + +### 具体实现 + +#### *播放* + +##### UI层 + +1. 在UI层[Index.ets](entry%2Fsrc%2Fmain%2Fets%2Fpages%2FIndex.ets)页面,用户点击播放按钮后,触发点击事件,调起selectFile() + 函数,该函数会调起文件管理的选择文件模块,拿到用户选取文件的路径。 +2. 用户选择文件成功后,调起play() + 函数,该函数会根据上一步获取到的路径,打开一个文件,并获取到该文件的大小,改变按钮状态为不可用,之后调起js层暴露给应用层的[playNative()](entry%2Fsrc%2Fmain%2Fcpp%2Ftypes%2Flibplayer%2Findex.d.ts) + 接口 +3. 根据playNative字段,调起[PlayerNative::Play](entry%2Fsrc%2Fmain%2Fcpp%2Fsample%2Fplayer%2FPlayerNative.cpp) + 函数,此处会注册播放结束的回调。 +4. 播放结束时,Callback()中napi_call_function()接口调起,通知应用层,恢复按钮状态为可用。 + +##### JS层 + +1. 在[Init()](entry%2Fsrc%2Fmain%2Fcpp%2Fsample%2Fplayer%2FPlayerNative.cpp)中调用PluginManager()中的Export() + 方法,注册OnSurfaceCreatedCB()回调,当屏幕上出现新的Xcomponent时,将其转换并赋给单例类PluginManager中的pluginWindow_; + +##### Native层 + +参考[开发者文档](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/media/avcodec),以下是补充: + +1. 解码器config阶段,OH_VideoDecoder_SetSurface接口的入参OHNativeWindow*,即为PluginManager中的pluginWindow_。 +2. [Start时](entry%2Fsrc%2Fmain%2Fcpp%2Fsample%2Fplayer%2FPlayer.cpp),起两个专门用于输入和输出的线程。 +3. 具体实现原理: + - + 解码器Start后,输入回调会调起,用户需要把待解码的数据填入OH_AVBuffer中,调用PushInputBuffer接口,归还解码器解码(每次Start后,至少要Push一次XPS帧)。 + - 解码器每解出来一帧,输出回调就会调起一次,用户需要及时调用送显或释放接口,归还buffer给解码器。 + 注意:由于解码器给用户的buffer数量有上限,用户需要及时归还回调上来的buffer给解码器,否则达到这个这个上限,解码器就会停止工作,直到有buffer被归还。 + +##### Buffer轮转 + +![img_3.png](img_3.png) + +#### *录制* + +##### UI层 + +1. 在UI层[Index.ets](entry%2Fsrc%2Fmain%2Fets%2Fpages%2FIndex.ets)页面,用户点击“开始录制”后,会调起文件管理,用户选择一个输出地址。录制结束后,文件会存放于此。 +2. + +选择好文件后,会用刚刚打开的fd,和用户预设的录制参数,掉起JS层的initNative,待初始化结束后,调用OH_NativeWindow_GetSurfaceId接口,得到NativeWindow的surfaceId,并把surfaceId回调回UI层。 + +3. + +UI层拿到编码器给的surfaceId后,调起页面路由,携带该surfaceId,跳转到[Recorder.ets](entry%2Fsrc%2Fmain%2Fets%2Frecorder%2FRecorder.ets) + +4. 录制页面构建时,Xcomponent构建时,会调起.onLoad() + 方法,此方法,首先会拿到Xcomponent的surfaceId,然后调起createDualChannelPreview() + ,此函数会建立一个相机生产,Xcomponent和编码器的surface消费的生产消费模型。 + +##### Native层 + +参考[开发者文档](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/media/avcodec),以下是补充: + +1. 用户点击开始录制后,编码器启动,开始对UI层相机预览流进行编码。 +2. 编码器每编码成功一帧,输出回调[OnNewOutputBuffer()](entry%2Fsrc%2Fmain%2Fcpp%2Fcommon%2Fsample_callback.cpp) + 就会调起一次,此时用户会拿到avcodec框架给出的编码后的OH_AVBuffer。 +3. 在输出线程中,调用封装接口WriteSample,这一帧封装入MP4中了,之后调用释放接口,归还buffer给avcodec框架。 + +### 音画同步 + +#### 前言 + +##### 背景和目的 + +目前手机播放器在输出设备为蓝牙耳机时会出现严重音视频不同步现象, 严重影响用户体验。本文旨在指导第三方视频播放应用正确获取并使用音频相关信息来保证音视频同步。 + +精确的音视频同步是媒体播放的关键性能指标之一。一般来说,在录音设备上同时录制的音频和视频需要在播放设备(例如手机,电视,媒体播放器)上同时播放。为了实现设备上的音视频同步,可以按如下指南操作。 + +##### 概念定义 + +| Abbreviations缩略语 | Full spelling 英文全名 | Chinese explanation 中文解释 | +|------------------|:------------------------|:-------------------------| +| PTS | Presentation Time Stamp | 送显时间戳 | +| DTS | Decoding Time Stamp | 解码时间戳 | + +- DTS(解码时间戳) + 指音视频数据在解码器中开始解码的时间戳。它表示解码器应该从输入数据流中读取和解码的特定时间点。DTS用于控制解码器的解码顺序,确保音视频数据按照正确的顺序解码。 +- PTS(显示时间戳) + 指音视频数据在播放时应该显示给用户的时间戳。它表示解码后的音视频数据在播放时应该出现在屏幕上或传递给音视频输出设备的时间点。PTS用于控制音视频的播放顺序和时序,以确保音视频在正确的时间点进行显示或播放。 + +##### 音画同步原理 + +音视频数据的最小处理单元称为帧。音频流和视频流都被分割成帧,所有帧都被标记为需要按特定的时间戳显示。音频和视频可以独立下载和解码,但就具有匹配时间戳的音频和视频帧应同时呈现,达到A/V同步的效果。 +![img.png](img.png) +理论上,因为音频通路存在时延,匹配音频和视频处理,有三种A/V同步解决方案可用; +(1)连续播放音频帧:使用音频播放位置作为主时间参考,并将视频播放位置与其匹配。 +(2)使用系统时间作为参考:将音频和视频播放与系统时间匹配。 +(3)使用视频播放作为参考:让音频匹配视频。 + +| 策略名称 | 优点 | 缺点 | +|-------------|:----------------------------------------------------|:-------------------------------------------------------------------------| +| 连续播放音频帧(推荐) | ①用户肉眼的敏感度较弱,不易察觉视频微小的调整。
②容易实现,因为视频刷新时间的调整相对容易。 | ①如果视频帧率不稳定或延迟渲染大,可能导致视频卡顿或跳帧。 | +| 使用系统时间作为参考 | 可以最大限度地保证音频和视频都不发生跳帧行为。 | ①需要额外依赖系统时钟,增加系统复杂性和维护成本。
②系统时钟的准确性对同步效果影响较大,如果系统时钟不准确,可能导致同步效果大打折扣。 | +| 使用视频播放作为参考 | 音频可以根据视频帧进行调整,减少音频跳帧的情况。 | ①音频播放可能会出现等待或加速的情况,相较于视频,会对用户的影响更为严重和明显。
②如果视频帧率不稳定,可能导致音频同步困难。 | + +第一个选项是唯一一个具有连续音频数据流的选项,没有对音频帧的显示时间、播放速度或持续时间进行任何调整。这些参数的任何调整都很容易被人的耳朵注意到,并导致干扰的音频故障,除非音频被重新采样;但是,重新采样也会改变音调。因此,一般的多媒体应用使用音频播放位置作为主时间参考。以下段落将讨论此解决方案。(其它两个选项不在本文档的范围内) + +#### 效果展示 + +##### 场景说明 + +##### 适用范围 + +适用于应用中视频播放过程中,由于设备渲染延迟、播放链路异常导致的音画不同步的场景 + +##### 场景体验指标 + +音画同步标准 +① 为了衡量音画同步的性能,用对应音频和视频帧实际播放时间的差值作为数值指标,数值大于0表示声音提前画面,小于0表示声音落后画面。 +② 最大卡顿时长,单帧图像停滞时间超过100ms的,定义为卡顿一次。连续测试5分钟,建议设置为100ms。 +③ 平均播放帧率,平均每秒播放帧数,不反映每帧显示时长。 +测试基准:一倍速场景 + +| | 范围 | 主观体验 | +|--------|:---------------|:-----| +| S标(建议) | [-80ms, 25ms] | 无法察觉 | +| A标 | [-125ms, 45ms] | 能够察觉 | +| B标 | [-185ms, 90ms] | 能够察觉 | + +| 描述 | 应用内播放视频,音画同步指标应满足[-125ms, 45ms]。 | +|------|:---------------------------------| +| 类型 | 规则 | +| 适用设备 | 手机、折叠屏、平板 | +| 说明 | 无 | + +#### 场景分析 + +##### 典型场景及优化方案 + +**典型场景描述** +应用内播放视频,音画同步指标应满足[-80ms, 25ms]. +**场景优化方案** +该解决方案使用: + +- 视频同步到音频(主流方案) +- 获取音频渲染进度动态调整视频渲染进度 + +最终实现音画同步[-80ms,25ms]的效果。 + +**图2 音画同步示意图** +![img_1.png](img_1.png) + +#### 场景实现 + +##### 场景整体介绍 + +音频和视频的管道必须同时以相同的时间戳呈现每帧数据。音频播放位置用作主时间参考,而视频管道只输出与最新渲染音频匹配的视频帧。对于所有可能的实现,精确计算最后一次呈现的音频时间戳是至关重要的。OS提供API来查询音频管道各个阶段的音频时间戳和延迟。 + +音频管道支持查询最新呈现的时间戳,getTimeStamp() +方法提供了一种简单的方法来确定我们要查找的值。如果时间戳可用,则audioTimestamp实例将填充以帧单位表示的位置,以及显示该帧时的估计时间。此信息可用于控制视频管道,使视频帧与音频帧匹配。 + +##### 接口说明 + +```cpp +/* + * Query the the time at which a particular frame was presented. + * + * @since 10 + * + * @param renderer Reference created by OH_AudioStreamBuilder_GenerateRenderer() + * @param clockId {@link #CLOCK_MONOTONIC} + * @param framePosition Pointer to a variable to receive the position + * @param timestamp Pointer to a variable to receive the timestamp + * @return Function result code: + * {@link AUDIOSTREAM_SUCCESS} If the execution is successful. + * {@link AUDIOSTREAM_ERROR_INVALID_PARAM}: + * 1.The param of renderer is nullptr; + * 2.The param of clockId invalid. + * {@link AUDIOSTREAM_ERROR_ILLEGAL_STATE} Execution status exception. + */ +OH_AudioStream_Result OH_AudioRenderer_GetTimestamp(OH_AudioRenderer* renderer, + clockid_t clockId, int64_t* framePosition, int64_t* timestamp); +``` + +注意事项: + +(1) +OH_AudioRenderer_Start到真正写入硬件有一定延迟,因此该接口在OH_AudioRenderer_Start之后过一会儿才会再拿到有效值,期间音频未发声时建议画面帧先按照正常速度播放,后续再逐步追赶音频位置从而提升用户看到画面的起搏时延。 + +(2)当framePosition和timeStamp稳定之前,调用可以比较频繁(如100ms) +,当以稳定的速度增长前进后,建议OH_AudioRenderer_GetTimestamp的频率不要太频繁,可以每分钟一次,最好不要低于500ms一次,因为频繁调用可能会带来功耗问题,因此在能保证音画同步效果的情况下,不需要频繁地查询时间戳。 + +(3)OH_AudioRenderer_Flush接口执行后,framePosition返回值会重新(从0)开始计算。 + +(4)OH_AudioRenderer_GetFramesWritten 接口在Flush的时候不会清空,该接口和OH_AudioRenderer_GetTimestamp接口并不建议配合使用。 + +(5)音频设备切换过程中OH_AudioRenderer_GetTimestamp返回的framePosition和timestamp不会倒退,但由于新设备写入有时延,会出现短暂时间内音频进度无增长,建议画面帧保持流程播放不要产生卡顿。 + +(6) +OH_AudioRenderer_GetTimeStamp获取的是实际写到硬件的采样帧数,不受倍速影响。对AudioRender设置了倍速的场景下,播放进度计算需要特殊处理,系统保证应用设置完倍速播放接口后,新写入AudioRender的采样点才会做倍速处理。 + +##### 关键代码片段 + +(1)获取音频渲染的位置 + +```cpp +// get audio render position +int64_t framePosition = 0; +int64_t timestamp = 0; +int32_t ret = OH_AudioRenderer_GetTimestamp(audioRenderer_, CLOCK_MONOTONIC, &framePosition, ×tamp); +AVCODEC_SAMPLE_LOGI("VD framePosition: %{public}li, nowTimeStamp: %{public}li", framePosition, nowTimeStamp); +audioTimeStamp = timestamp; // ns +``` + +(2)音频启动前暂不做音画同步 + +- 音频未启动前,timestamp和framePosition返回结果为0,为避免出现卡顿等问题,暂不同步 + +```cpp +// audio render getTimeStamp error, render it +if (ret != AUDIOSTREAM_SUCCESS || (timestamp == 0) || (framePosition == 0)) { + // first frame, render without wait + videoDecoder_->FreeOutputBuffer(bufferInfo.bufferIndex, true); + lastPushTime = std::chrono::system_clock::now(); + continue; +} +``` + +(3)根据视频帧pts和音频渲染位置计算延迟waitTimeUs + +- audioPlayedTime音频帧期望渲染时间 +- videoPlayedTime视频帧期望送显时间 + +```cpp +// after seek, audio render flush, framePosition = 0, then writtenSampleCnt = 0 +int64_t latency = (audioDecContext_->frameWrittenForSpeed - framePosition) * 1000 * + 1000 / sampleInfo_.audioSampleRate / speed; +AVCODEC_SAMPLE_LOGI("VD latency: %{public}li writtenSampleCnt: %{public}li", latency, writtenSampleCnt); + +nowTimeStamp = GetCurrentTime(); +int64_t anchordiff = (nowTimeStamp - audioTimeStamp) / 1000; + +// us, audio buffer accelerate render time +int64_t audioPlayedTime = audioDecContext_->currentPosAudioBufferPts - latency + anchorDiff; +// us, video buffer expected render time +int64_t videoPlayedTime = bufferInfo.attr.pts; + +// audio render timestamp and now timestamp diff +int64_t waitTimeUs = videoPlayedTime - audioPlayedTime; // us +``` + +(4)根据业务延迟做音画同步策略 + +- [,-40ms) 视频帧较晚,此帧丢掉 +- [-40ms,0ms)视频帧直接送显 +- [0ms,)视频帧较早,根据业务需要选择现象追帧 + +```cpp +// video buffer is too late, drop it +if (waitTimeUs < WAIT_TIME_US_THRESHOLD_WARNING) { + dropFrame = true; + AVCODEC_SAMPLE_LOGI("VD buffer is too late"); +} else { + AVCODEC_SAMPLE_LOGE("VD buffer is too early waitTimeUs:%{public}ld", waitTimeUs); + // [0, ), render it wait waitTimeUs, max 1s + // [-40, 0), render it + if (waitTimeUs > WAIT_TIME_US_THRESHOLD) { + waitTimeUs = WAIT_TIME_US_THRESHOLD; + } + // per frame render time reduced by 33ms + if (waitTimeUs > sampleInfo_.frameInterval + PER_SINK_TIME_THRESHOLD) { + waitTimeUs = sampleInfo_.frameInterval + PER_SINK_TIME_THRESHOLD; + AVCODEC_SAMPLE_LOGE("VD buffer is too early and reduced 33ms, waitTimeUs: %{public}ld", waitTimeUs); + } +} +``` + +(5)进行音画同步 +若视频帧的时间大于2倍vsync的时间,则需要sleep超过的时间。 + +```cpp +if (static_cast(waitTimeUs) > FRAME_TIME * LIP_SYNC_BALANCE_VALUE) { + std::this_thread::sleep_for(std::chrono::microseconds( + static_cast(static_cast(waitTimeUs)-FRAME_TIME * LIP_SYNC_BALANCE_VALUE))); +} +ret = videoDecoder_->FreeOutputBuffer(bufferInfo.bufferIndex, !dropFrame, FRAME_TIME * LIP_SYNC_BALANCE_VALUE * 1000 + GetCurrentTime()); +CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Decoder output thread"); +``` + +### 倍速播放方案 + +#### 当前问题 + +![img_4.png](img_4.png) +通过Audio GetTimeStamp拿到的Position始终是一倍速参考系下计算的,导致应用写下多倍速的音频帧后不清楚底层实际播放的原始位置。 + +**比如假设采样率是48k,应用写的frameIn A一共写了48000,2倍速后的frameOut A' 只有24000, +底层播了一半后返回给应用的position是12000 - 硬件latency(假设是100ms) +,也就是倍速后播了150ms,但应用实际播放的pts应该是24000-硬件latency×2 = 300ms** + +Position表示的是音频帧,一个音频帧包括左右声道的采样点交织形成的数据包,比如双声道16bit采样点,一帧数据是4个字节,48k采样率的音频,一秒播放48000帧 + +应用一般音画同步做法: + +视频每解码一帧,获取一下音频clock,视频帧永远跟随音频pts + +#### **倍速的音频时间戳计算算法(此方法也同样适用于三方自研播放器)** + +原理:记录每次setSpeed时的最后position状态作为基准,更新speed之后,按照上一次speed末尾的基准+数据delta×最新speed返回给应用 + +| **时间线** | **应用行为** | **播放范围(写给AudioRender的数据)** | **此刻音频服务处理的位置(frameOutC)** | **pulseaudio实际返回的position** | **audiorender矫正后返回给应用的值** | **音频PTS(假设起始时间是X)** | +|:---------------:|:--------:|:---------------------------------------:|:--------------------------:|:-----------------------------------------------------------------------------------------------------------------:|:-------------------------:|:----------------------------------------------------------------:| +| **T0时刻** | 先一倍速 | 1-1000 | 800 | 600 | 600 | X + 600/48000 | +| **T1时刻** | 倍速调节成2 | | | 记录倍速调节之前写的位置
lastSpeedX = 1000
lastSpeedFramesWritten = 1000 | | | +| **T2时刻** | 2倍速 | 原始数据1001-2000,倍速后送给Audio服务的是(1001-1500) | 1400 | 1200 | | | +| **计算T2时刻音频PTS** | | | | 1200如何倒推音源Position?
实际位置=(position-lastSpeedIdx)*speed + lastSpeedFramesWritten
(1200-1000)×2+1000 = 1400 | 1400 | X+1400/48000
记录lastPosition = 1400
lastPositionTime = T2 | +| **视频出帧T2'时刻** | | | | | | 送显delay = 视频PTS - (X + 1400 / 48000 + (T2' - T2)*2 | +| **T3时刻** | 倍速调节成3 | | | 记录倍速调节之前写的位置
lastSpeedIdx = 1500
lastSpeedFramesWritten = 2000 | | | +| **T4时刻** | 3倍速 | 原始数据2001-3500,倍速后送欸Audio服务的是(1501-2000) | 1600 | 1400 | | | +| **计算T4时刻音频PTS** | | | | 1400 < 1500, 说明底层还在播老倍速的数据,复用上一次的音频pts做偏移 | 1400+(T4-T2)×2 | X+(lastPosition+(T4-T2)×2) | +| **T5时刻** | 3倍速 | 原始数据2001-3500 播放中 | 1900 | 1700 | | | +| **计算T5时刻音频PTS** | | Content | | 实际位置=(position-lastSpeedIdx)*speed + lastSpeedFramesWritten
(1700-1500)×3+2000 = 2600 | 2600 | X+2600/48000 | + +### 相关权限 + +#### [ohos.permission.CAMERA](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/security/permission-list.md/#ohospermissioncamera) + +### 依赖 + +不涉及。 + +### 约束与限制 + +1.本示例仅支持标准系统上运行; + +2.本示例仅支持 API12 及以上版本SDK,SDK版本号(API Version 12 Release),镜像版本号(5.0 Release); + +3.本示例需要使用DevEco Studio 5.0 才可编译运行。 + +### 相关仓 + +- [multimedia_av_codec](https://gitee.com/openharmony/multimedia_av_codec) \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/build-profile.json5 b/code/BasicFeature/Media/AVCodec/build-profile.json5 new file mode 100644 index 0000000000000000000000000000000000000000..46db5f046565014cdea020e8d70664335f77d6f1 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/build-profile.json5 @@ -0,0 +1,45 @@ +{ + "app": { + "signingConfigs": [ + { + "name": "default", + "type": "HarmonyOS", + "material": { + "certpath": "C:\\Users\\leo\\.ohos\\config\\default_AVCodecSample_WoskRniMF1sh_wN3SLgTN2z2y57z4jO_NTIgkFjSqAo=.cer", + "storePassword": "0000001BFFAEF8E43682FCB052F381D0FF4F4C2691570B8DA6F86B2C9EC10FC78B3908C068D1308DF05486", + "keyAlias": "debugKey", + "keyPassword": "0000001BD0BB8B5222D7F602A58F6C67C0B541C19177FDC6602BB8F7DF2FEA023D181DD6DF669ADF6EE284", + "profile": "C:\\Users\\leo\\.ohos\\config\\default_AVCodecSample_WoskRniMF1sh_wN3SLgTN2z2y57z4jO_NTIgkFjSqAo=.p7b", + "signAlg": "SHA256withECDSA", + "storeFile": "C:\\Users\\leo\\.ohos\\config\\default_AVCodecSample_WoskRniMF1sh_wN3SLgTN2z2y57z4jO_NTIgkFjSqAo=.p12" + } + } + ], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compatibleSdkVersion": "5.0.0(12)", + //指定HarmonyOS应用/服务兼容的最低版本。注意使用英文.和() + "targetSdkVersion": "5.0.0(12)", + //指定HarmonyOS应用/服务目标版本。若没有设置,默认为compatibleSdkVersion + "runtimeOS": "HarmonyOS", + //指定为HarmonyOS + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/.gitignore b/code/BasicFeature/Media/AVCodec/entry/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e2713a2779c5a3e0eb879efe6115455592caeea5 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/build-profile.json5 b/code/BasicFeature/Media/AVCodec/entry/build-profile.json5 new file mode 100644 index 0000000000000000000000000000000000000000..4284436e687906bbbacd940c3fc75e0b00088d16 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/build-profile.json5 @@ -0,0 +1,20 @@ +{ + "apiType": 'stageMode', + "buildOption": { + "externalNativeOptions": { + "abiFilters": ["arm64-v8a", "x86_64"], + "path": "./src/main/cpp/CMakeLists.txt", + "arguments": "", + "cppFlags": "", + } + }, + "targets": [ + { + "name": "default", + "runtimeOS": "HarmonyOS" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/hvigorfile.ts b/code/BasicFeature/Media/AVCodec/entry/hvigorfile.ts new file mode 100644 index 0000000000000000000000000000000000000000..80e4ec5b81689f238c34614b167a0b9e9c83e8d9 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/hvigorfile.ts @@ -0,0 +1,2 @@ +// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently. +export { hapTasks } from '@ohos/hvigor-ohos-plugin'; diff --git a/code/BasicFeature/Media/AVCodec/entry/oh-package-lock.json5 b/code/BasicFeature/Media/AVCodec/entry/oh-package-lock.json5 new file mode 100644 index 0000000000000000000000000000000000000000..4b35fc4253b119c76ce1fec3d5e3b159ea3c0169 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/oh-package-lock.json5 @@ -0,0 +1,25 @@ +{ + "meta": { + "stableOrder": true + }, + "lockfileVersion": 3, + "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", + "specifiers": { + "libplayer.so@src/main/cpp/types/libplayer": "libplayer.so@src/main/cpp/types/libplayer", + "librecorder.so@src/main/cpp/types/librecorder": "librecorder.so@src/main/cpp/types/librecorder" + }, + "packages": { + "libplayer.so@src/main/cpp/types/libplayer": { + "name": "libplayer.so", + "version": "1.0.0", + "resolved": "src/main/cpp/types/libplayer", + "registryType": "local" + }, + "librecorder.so@src/main/cpp/types/librecorder": { + "name": "librecorder.so", + "version": "1.0.0", + "resolved": "src/main/cpp/types/librecorder", + "registryType": "local" + } + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/oh-package.json5 b/code/BasicFeature/Media/AVCodec/entry/oh-package.json5 new file mode 100644 index 0000000000000000000000000000000000000000..ca8155cfe235af4ec786491046316f827e22af3d --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/oh-package.json5 @@ -0,0 +1,13 @@ +{ + "license": "", + "devDependencies": {}, + "author": "", + "name": "entry", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": { + "libplayer.so": "file:./src/main/cpp/types/libplayer", + "librecorder.so": "file:./src/main/cpp/types/librecorder" + } +} diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/CMakeLists.txt b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..5cfaabf41fcc2d48176bb2eb9d661392df346495 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/CMakeLists.txt @@ -0,0 +1,41 @@ +# the minimum version of CMake. +cmake_minimum_required(VERSION 3.4.1) +project(videoCodecSample) + +set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +include_directories(${NATIVERENDER_ROOT_PATH} + ${NATIVERENDER_ROOT_PATH}/capbilities/include + ${NATIVERENDER_ROOT_PATH}/common + ${NATIVERENDER_ROOT_PATH}/common/dfx/err + ${NATIVERENDER_ROOT_PATH}/common/dfx/log + ${NATIVERENDER_ROOT_PATH}/render/include + ${NATIVERENDER_ROOT_PATH}/sample/player + ${NATIVERENDER_ROOT_PATH}/sample/recorder +) + +set(BASE_LIBRARY + libace_napi.z.so libGLESv3.so libace_ndk.z.so libuv.so libhilog_ndk.z.so + libnative_media_codecbase.so libnative_media_core.so libnative_media_vdec.so libnative_window.so + libnative_media_venc.so libnative_media_acodec.so libnative_media_avdemuxer.so libnative_media_avsource.so libnative_media_avmuxer.so + libohaudio.so +) +add_library(player SHARED sample/player/PlayerNative.cpp + sample/player/Player.cpp + capbilities/demuxer.cpp + capbilities/video_decoder.cpp + capbilities/audio_decoder.cpp + render/plugin_render.cpp + render/plugin_manager.cpp + common/sample_callback.cpp +) + +add_library(recorder SHARED sample/recorder/RecorderNative.cpp + sample/recorder/Recorder.cpp + capbilities/muxer.cpp + capbilities/video_encoder.cpp + common/sample_callback.cpp +) + +target_link_libraries(player PUBLIC ${BASE_LIBRARY}) +target_link_libraries(recorder PUBLIC ${BASE_LIBRARY}) \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/audio_decoder.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/audio_decoder.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8109a113cd0f540a1da959f4ed5ba4268063d1ee --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/audio_decoder.cpp @@ -0,0 +1,149 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "audio_decoder.h" + +#undef LOG_TAG +#define LOG_TAG "AudioDecoder" + +AudioDecoder::~AudioDecoder() +{ + Release(); +} + +int32_t AudioDecoder::Create(const std::string &codecMime) +{ + decoder_ = OH_AudioCodec_CreateByMime(codecMime.c_str(), false); + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Create failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t AudioDecoder::SetCallback(CodecUserData *codecUserData) +{ + int32_t ret = AV_ERR_OK; + ret = OH_AudioCodec_RegisterCallback(decoder_, + {SampleCallback::OnCodecError, SampleCallback::OnCodecFormatChange, + SampleCallback::OnNeedInputBuffer, SampleCallback::OnNewOutputBuffer}, + codecUserData); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Set callback failed, ret: %{public}d", ret); + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t AudioDecoder::Configure(const SampleInfo &sampleInfo) +{ + OH_AVFormat *format = OH_AVFormat_Create(); + CHECK_AND_RETURN_RET_LOG(format != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "AVFormat create failed"); + + OH_AVFormat_SetIntValue(format, OH_MD_KEY_AUDIO_SAMPLE_FORMAT, SAMPLE_S16LE); // SAMPLE_S16LE SAMPLE_F32P + OH_AVFormat_SetIntValue(format, OH_MD_KEY_AUD_CHANNEL_COUNT, sampleInfo.audioChannelCount); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_AUD_SAMPLE_RATE, sampleInfo.audioSampleRate); + OH_AVFormat_SetLongValue(format, OH_MD_KEY_CHANNEL_LAYOUT, sampleInfo.audioChannelLayout); + + if (sampleInfo.codecConfigLen > 0) { + AVCODEC_SAMPLE_LOGI("====== AudioDecoder config ====== codecConfig:%{public}p, len:%{public}i, " + "adts:${public}i, 0:0x%{public}02x, 1:0x%{public}02x", + sampleInfo.codecConfig, sampleInfo.codecConfigLen, sampleInfo.aacAdts, + sampleInfo.codecConfig[0], sampleInfo.codecConfig[1]); + uint8_t tmpCodecConfig[2]; + tmpCodecConfig[0] = 0x13; // 0x11 + tmpCodecConfig[1] = 0x10; // 0x90 + tmpCodecConfig[0] = sampleInfo.codecConfig[0]; // 0x11 + tmpCodecConfig[1] = sampleInfo.codecConfig[1]; // 0x90 + AVCODEC_SAMPLE_LOGI("====== AudioDecoder config ====== 0:0x%{public}02x, 1:0x%{public}02x", tmpCodecConfig[0], + tmpCodecConfig[1]); + OH_AVFormat_SetBuffer(format, OH_MD_KEY_CODEC_CONFIG, sampleInfo.codecConfig, sampleInfo.codecConfigLen); + } + + AVCODEC_SAMPLE_LOGI("====== AudioDecoder config ======"); + int ret = OH_AudioCodec_Configure(decoder_, format); + AVCODEC_SAMPLE_LOGI("====== AudioDecoder config ======"); + if (ret != AV_ERR_OK) { + AVCODEC_SAMPLE_LOGE("Config failed, ret: %{public}d", ret); + OH_AVFormat_Destroy(format); + format = nullptr; + return AVCODEC_SAMPLE_ERR_ERROR; + } + OH_AVFormat_Destroy(format); + format = nullptr; + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t AudioDecoder::Config(const SampleInfo &sampleInfo, CodecUserData *codecUserData) +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + CHECK_AND_RETURN_RET_LOG(codecUserData != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Invalid param: codecUserData"); + + // Configure audio decoder + int32_t ret = Configure(sampleInfo); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Configure failed"); + + // SetCallback for audio decoder + ret = SetCallback(codecUserData); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, + "Set callback failed, ret: %{public}d", ret); + + // Prepare audio decoder + { + int ret = OH_AudioCodec_Prepare(decoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Prepare failed, ret: %{public}d", ret); + } + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t AudioDecoder::Start() +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + + int ret = OH_AudioCodec_Start(decoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Start failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t AudioDecoder::PushInputBuffer(CodecBufferInfo &info) +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + int32_t ret = OH_AVBuffer_SetBufferAttr(reinterpret_cast(info.buffer), &info.attr); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Set avbuffer attr failed"); + ret = OH_AudioCodec_PushInputBuffer(decoder_, info.bufferIndex); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Push input data failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t AudioDecoder::FreeOutputBuffer(uint32_t bufferIndex, bool render) +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + + int32_t ret = AVCODEC_SAMPLE_ERR_OK; + ret = OH_AudioCodec_FreeOutputBuffer(decoder_, bufferIndex); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Free output data failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t AudioDecoder::Release() +{ + if (decoder_ != nullptr) { + OH_AudioCodec_Flush(decoder_); + OH_AudioCodec_Stop(decoder_); + OH_AudioCodec_Destroy(decoder_); + decoder_ = nullptr; + } + return AVCODEC_SAMPLE_ERR_OK; +} diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/demuxer.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/demuxer.cpp new file mode 100644 index 0000000000000000000000000000000000000000..68bf5d62ad564d24d07e4a51fa3a70b626cc4ad0 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/demuxer.cpp @@ -0,0 +1,184 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "demuxer.h" +#include + +#undef LOG_TAG +#define LOG_TAG "Demuxer" + +Demuxer::~Demuxer() { Release(); } + +int32_t Demuxer::Create(SampleInfo &info) +{ +#ifdef CREATE_WITH_URI + // Need request Internet Permission first in module.json. + const char *url = "https://hd.ijycnd.com/play/Ddw1W2Ra/index.m3u8"; + source_ = OH_AVSource_CreateWithURI(const_cast(url)); +#endif + source_ = OH_AVSource_CreateWithFD(info.inputFd, info.inputFileOffset, info.inputFileSize); + CHECK_AND_RETURN_RET_LOG(source_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, + "Create demuxer source failed, fd: %{public}d, offset: %{public}" PRId64 + ", file size: %{public}" PRId64, + info.inputFd, info.inputFileOffset, info.inputFileSize); + demuxer_ = OH_AVDemuxer_CreateWithSource(source_); + CHECK_AND_RETURN_RET_LOG(demuxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Create demuxer failed"); + + auto sourceFormat = std::shared_ptr(OH_AVSource_GetSourceFormat(source_), OH_AVFormat_Destroy); + CHECK_AND_RETURN_RET_LOG(sourceFormat != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Get source format failed"); + + int32_t ret = GetTrackInfo(sourceFormat, info); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Get video track info failed"); + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Demuxer::ReadSample(int32_t trackId, OH_AVBuffer *buffer, OH_AVCodecBufferAttr &attr) +{ + CHECK_AND_RETURN_RET_LOG(demuxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Demuxer is null"); + int32_t ret = OH_AVDemuxer_ReadSampleBuffer(demuxer_, trackId, buffer); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Read sample failed"); + ret = OH_AVBuffer_GetBufferAttr(buffer, &attr); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "GetBufferAttr failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Demuxer::Release() +{ + if (demuxer_ != nullptr) { + OH_AVDemuxer_Destroy(demuxer_); + demuxer_ = nullptr; + } + if (source_ != nullptr) { + OH_AVSource_Destroy(source_); + source_ = nullptr; + } + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Demuxer::GetTrackInfo(std::shared_ptr sourceFormat, SampleInfo &info) +{ + int32_t trackCount = 0; + OH_AVFormat_GetIntValue(sourceFormat.get(), OH_MD_KEY_TRACK_COUNT, &trackCount); + + for (int32_t index = 0; index < trackCount; index++) { + auto trackFormat = GetTrackFormat(index); + int trackType = GetTrackType(trackFormat); + + if (trackType == MEDIA_TYPE_VID) { + ProcessVideoTrack(trackFormat, index, info); + } else if (trackType == MEDIA_TYPE_AUD) { + ProcessAudioTrack(trackFormat, index, info); + } + } + + return AVCODEC_SAMPLE_ERR_OK; +} + +std::shared_ptr Demuxer::GetTrackFormat(int32_t index) +{ + return std::shared_ptr(OH_AVSource_GetTrackFormat(source_, index), OH_AVFormat_Destroy); +} + +int Demuxer::GetTrackType(std::shared_ptr trackFormat) +{ + int trackType = -1; + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_TRACK_TYPE, &trackType); + return trackType; +} + +void Demuxer::ProcessVideoTrack(std::shared_ptr trackFormat, int32_t index, SampleInfo &info) +{ + OH_AVDemuxer_SelectTrackByID(demuxer_, index); + + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_WIDTH, &info.videoWidth); + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_HEIGHT, &info.videoHeight); + OH_AVFormat_GetDoubleValue(trackFormat.get(), OH_MD_KEY_FRAME_RATE, &info.frameRate); + OH_AVFormat_GetLongValue(trackFormat.get(), OH_MD_KEY_BITRATE, &info.bitrate); + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_ROTATION, &info.rotation); + + char *videoCodecMime; + OH_AVFormat_GetStringValue(trackFormat.get(), OH_MD_KEY_CODEC_MIME, const_cast(&videoCodecMime)); + info.videoCodecMime = videoCodecMime; + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_PROFILE, &info.hevcProfile); + videoTrackId_ = index; + + LogVideoConfig(info, videoCodecMime); +} + +void Demuxer::ProcessAudioTrack(std::shared_ptr trackFormat, int32_t index, SampleInfo &info) +{ + OH_AVDemuxer_SelectTrackByID(demuxer_, index); + + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_AUDIO_SAMPLE_FORMAT, &info.audioSampleForamt); + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_AUD_CHANNEL_COUNT, &info.audioChannelCount); + OH_AVFormat_GetLongValue(trackFormat.get(), OH_MD_KEY_CHANNEL_LAYOUT, &info.audioChannelLayout); + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_AUD_SAMPLE_RATE, &info.audioSampleRate); + + char *audioCodecMime; + OH_AVFormat_GetStringValue(trackFormat.get(), OH_MD_KEY_CODEC_MIME, const_cast(&audioCodecMime)); + + HandleCodecConfig(trackFormat, info); + + OH_AVFormat_GetIntValue(trackFormat.get(), OH_MD_KEY_AAC_IS_ADTS, &info.aacAdts); + info.audioCodecMime = audioCodecMime; + audioTrackId_ = index; + + LogAudioConfig(info, audioCodecMime); +} + +void Demuxer::HandleCodecConfig(std::shared_ptr trackFormat, SampleInfo &info) +{ + uint8_t *codecConfig = nullptr; + OH_AVFormat_GetBuffer(trackFormat.get(), OH_MD_KEY_CODEC_CONFIG, &codecConfig, &info.codecConfigLen); + + if (info.codecConfigLen > 0 && info.codecConfigLen < sizeof(info.codecConfig)) { + memcpy(info.codecConfig, codecConfig, info.codecConfigLen); + LogCodecConfigDetails(info); + } +} + +void Demuxer::LogVideoConfig(const SampleInfo &info, const char *videoCodecMime) +{ + AVCODEC_SAMPLE_LOGI("====== Demuxer Video config ======"); + AVCODEC_SAMPLE_LOGI("Mime: %{public}s", videoCodecMime); + AVCODEC_SAMPLE_LOGI("%{public}d * %{public}d, %{public}.1ffps, %{public}" PRId64 "kbps", + info.videoWidth, info.videoHeight, info.frameRate, info.bitrate / 1024); + AVCODEC_SAMPLE_LOGI("====== Demuxer Video config ======"); +} + +void Demuxer::LogAudioConfig(const SampleInfo &info, const char *audioCodecMime) +{ + AVCODEC_SAMPLE_LOGI("====== Demuxer Audio config ======"); + AVCODEC_SAMPLE_LOGI("audioMime:%{public}s sampleForamt:%{public}d sampleRate:%{public}d " + "channelCount:%{public}d channelLayout:%{public}ld adts:%{public}i", + audioCodecMime, info.audioSampleForamt, info.audioSampleRate, + info.audioChannelCount, info.audioChannelLayout, info.aacAdts); + AVCODEC_SAMPLE_LOGI("====== Demuxer Audio config ======"); +} + +void Demuxer::LogCodecConfigDetails(const SampleInfo &info) +{ + AVCODEC_SAMPLE_LOGI("codecConfig:%{public}p, len:%{public}i, 0:0x%{public}02x 1:0x:%{public}02x, bufLen:%{public}u", + info.codecConfig, static_cast(info.codecConfigLen), + info.codecConfig[0], info.codecConfig[1], + static_cast(sizeof(info.codecConfig))); +} + +int32_t Demuxer::GetVideoTrackId() { return videoTrackId_; } +int32_t Demuxer::GetAudioTrackId() { return audioTrackId_; } \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/audio_decoder.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/audio_decoder.h new file mode 100644 index 0000000000000000000000000000000000000000..9e4d5979c32d11208f1044c4254a7efe9676b320 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/audio_decoder.h @@ -0,0 +1,47 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AUDIODECODER_H +#define AUDIODECODER_H + +#include "multimedia/player_framework/native_avcodec_audiocodec.h" +#include "multimedia/player_framework/native_avbuffer_info.h" +#include "sample_callback.h" +#include "dfx/error/av_codec_sample_error.h" +#include "av_codec_sample_log.h" + +class AudioDecoder { +public: + AudioDecoder() = default; + ~AudioDecoder(); + + int32_t Create(const std::string &codecMime); + int32_t Config(const SampleInfo &sampleInfo, CodecUserData *codecUserData); + int32_t Start(); + int32_t PushInputBuffer(CodecBufferInfo &info); + int32_t FreeOutputBuffer(uint32_t bufferIndex, bool render); + int32_t Release(); + +private: + int32_t SetCallback(CodecUserData *codecUserData); + int32_t Configure(const SampleInfo &sampleInfo); + + bool isAVBufferMode_ = false; + OH_AVCodec *decoder_; +}; +#endif // AUDIODECODER_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/demuxer.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/demuxer.h new file mode 100644 index 0000000000000000000000000000000000000000..c1fdc48b87dfc085aa96d0d08c1838c92f9c43c6 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/demuxer.h @@ -0,0 +1,57 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef DEMUXER_H +#define DEMUXER_H + +#include +#include "napi/native_api.h" +#include "multimedia/player_framework/native_avdemuxer.h" +#include "sample_info.h" +#include "dfx/error/av_codec_sample_error.h" +#include "av_codec_sample_log.h" + + +class Demuxer { +public: + Demuxer() = default; + ~Demuxer(); + int32_t Create(SampleInfo &sampleInfo); + int32_t ReadSample(int32_t trackId, OH_AVBuffer *buffer, OH_AVCodecBufferAttr &attr); + int32_t Release(); + int32_t GetVideoTrackId(); + int32_t GetAudioTrackId(); + +private: + int32_t GetTrackInfo(std::shared_ptr sourceFormat, SampleInfo &info); + std::shared_ptr GetTrackFormat(int32_t index); + int GetTrackType(std::shared_ptr trackFormat); + void ProcessVideoTrack(std::shared_ptr trackFormat, int32_t index, SampleInfo &info); + void ProcessAudioTrack(std::shared_ptr trackFormat, int32_t index, SampleInfo &info); + void HandleCodecConfig(std::shared_ptr trackFormat, SampleInfo &info); + void LogVideoConfig(const SampleInfo &info, const char *videoCodecMime); + void LogAudioConfig(const SampleInfo &info, const char *audioCodecMime); + void LogCodecConfigDetails(const SampleInfo &info); + + OH_AVSource *source_; + OH_AVDemuxer *demuxer_; + int32_t videoTrackId_; + int32_t audioTrackId_; +}; + +#endif // DEMUXER_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/muxer.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/muxer.h new file mode 100644 index 0000000000000000000000000000000000000000..938f381ac5ecd8dfa9b0c28249c18a79882ee826 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/muxer.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MUXER_H +#define MUXER_H + +#include +#include "multimedia/player_framework/native_avmuxer.h" +#include "sample_info.h" +#include "dfx/error/av_codec_sample_error.h" +#include "av_codec_sample_log.h" + +class Muxer { +public: + Muxer() = default; + ~Muxer(); + + int32_t Create(int32_t fd); + int32_t Config(SampleInfo &sampleInfo); + int32_t Start(); + int32_t WriteSample(OH_AVBuffer *buffer, OH_AVCodecBufferAttr &attr); + int32_t Stop(); + int32_t Release(); + +private: + OH_AVMuxer *muxer_ = nullptr; + int32_t videoTrackId_ = -1; +}; + +#endif // MUXER_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/video_decoder.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/video_decoder.h new file mode 100644 index 0000000000000000000000000000000000000000..418379dd61a2e42845f712b241d3c949360b97df --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/video_decoder.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIDEODECODER_H +#define VIDEODECODER_H + +#include "multimedia/player_framework/native_avcodec_videodecoder.h" +#include "multimedia/player_framework/native_avcapability.h" +#include "multimedia/player_framework/native_avbuffer_info.h" +#include "sample_info.h" +#include "sample_callback.h" +#include "dfx/error/av_codec_sample_error.h" +#include "av_codec_sample_log.h" + +class VideoDecoder { +public: + VideoDecoder() = default; + ~VideoDecoder(); + + int32_t Create(const std::string &videoCodecMime, int32_t videoDecoderType); + int32_t Config(const SampleInfo &sampleInfo, CodecUserData *codecUserData); + int32_t PushInputBuffer(CodecBufferInfo &info); + int32_t FreeOutputBuffer(uint32_t bufferIndex, bool render); + int32_t FreeOutputBuffer(uint32_t bufferIndex, bool render, int64_t timeStamp); + int32_t Start(); + int32_t Release(); + +private: + int32_t SetCallback(CodecUserData *codecUserData); + int32_t Configure(const SampleInfo &sampleInfo); + OH_AVCodec *GetCodecByCategory(const char *mime, bool isEncoder, OH_AVCodecCategory category); + + bool isAVBufferMode_ = false; + OH_AVCodec *decoder_; +}; +#endif // VIDEODECODER_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/video_encoder.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/video_encoder.h new file mode 100644 index 0000000000000000000000000000000000000000..108978c2cb99ae8f92a701fa19a2d7b39b81203d --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/include/video_encoder.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIDEOENCODER_H +#define VIDEOENCODER_H + +#include "multimedia/player_framework/native_avcodec_videoencoder.h" +#include "multimedia/player_framework/native_avbuffer_info.h" +#include "sample_info.h" +#include "native_window/external_window.h" +#include "native_window/buffer_handle.h" +#include "sample_callback.h" +#include "dfx/error/av_codec_sample_error.h" +#include "av_codec_sample_log.h" + +class VideoEncoder { +public: + VideoEncoder() = default; + ~VideoEncoder(); + + int32_t Create(const std::string &videoCodecMime); + int32_t Config(SampleInfo &sampleInfo, CodecUserData *codecUserData); + int32_t Start(); + int32_t PushInputBuffer(CodecBufferInfo &info); + int32_t FreeOutputBuffer(uint32_t bufferIndex); + int32_t NotifyEndOfStream(); + int32_t Stop(); + int32_t Release(); + +private: + int32_t SetCallback(CodecUserData *codecUserData); + int32_t Configure(const SampleInfo &sampleInfo); + int32_t GetSurface(SampleInfo &sampleInfo); + bool isAVBufferMode_ = false; + OH_AVCodec *encoder_ = nullptr; +}; +#endif // VIDEOENCODER_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/muxer.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/muxer.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3218b36dfc596012012f2370fb1d1222d8f485a3 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/muxer.cpp @@ -0,0 +1,108 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "muxer.h" + +#undef LOG_TAG +#define LOG_TAG "Muxer" + +namespace { +constexpr int32_t VERTICAL_ANGLE = 90; +constexpr int32_t HORIZONTAL_ANGLE = 0; +} + +Muxer::~Muxer() +{ + Release(); +} + +int32_t Muxer::Create(int32_t fd) +{ + muxer_ = OH_AVMuxer_Create(fd, AV_OUTPUT_FORMAT_MPEG_4); + CHECK_AND_RETURN_RET_LOG(muxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Muxer create failed, fd: %{public}d", fd); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Muxer::Config(SampleInfo &sampleInfo) +{ + CHECK_AND_RETURN_RET_LOG(muxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Muxer is null"); + + OH_AVFormat *formatVideo = OH_AVFormat_CreateVideoFormat(sampleInfo.videoCodecMime.data(), + sampleInfo.videoWidth, sampleInfo.videoHeight); + CHECK_AND_RETURN_RET_LOG(formatVideo != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Create video format failed"); + + OH_AVFormat_SetDoubleValue(formatVideo, OH_MD_KEY_FRAME_RATE, sampleInfo.frameRate); + OH_AVFormat_SetIntValue(formatVideo, OH_MD_KEY_WIDTH, sampleInfo.videoWidth); + OH_AVFormat_SetIntValue(formatVideo, OH_MD_KEY_HEIGHT, sampleInfo.videoHeight); + OH_AVFormat_SetStringValue(formatVideo, OH_MD_KEY_CODEC_MIME, sampleInfo.videoCodecMime.data()); + if (sampleInfo.isHDRVivid) { + OH_AVFormat_SetIntValue(formatVideo, OH_MD_KEY_VIDEO_IS_HDR_VIVID, 1); + OH_AVFormat_SetIntValue(formatVideo, OH_MD_KEY_RANGE_FLAG, sampleInfo.rangFlag); + OH_AVFormat_SetIntValue(formatVideo, OH_MD_KEY_COLOR_PRIMARIES, sampleInfo.primary); + OH_AVFormat_SetIntValue(formatVideo, OH_MD_KEY_TRANSFER_CHARACTERISTICS, sampleInfo.transfer); + OH_AVFormat_SetIntValue(formatVideo, OH_MD_KEY_MATRIX_COEFFICIENTS, sampleInfo.matrix); + } + + int32_t ret = OH_AVMuxer_AddTrack(muxer_, &videoTrackId_, formatVideo); + OH_AVFormat_Destroy(formatVideo); + // 由于相机只有1920×1080的profile,没有1080×1920的profile,所以得往文件里封装一个90度的角度信息,后续播放才会是竖屏显示。 + OH_AVMuxer_SetRotation(muxer_, 90); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "AddTrack failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Muxer::Start() +{ + CHECK_AND_RETURN_RET_LOG(muxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Muxer is null"); + + int ret = OH_AVMuxer_Start(muxer_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Start failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Muxer::WriteSample(OH_AVBuffer *buffer, OH_AVCodecBufferAttr &attr) +{ + CHECK_AND_RETURN_RET_LOG(muxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Muxer is null"); + CHECK_AND_RETURN_RET_LOG(buffer != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Get a empty buffer"); + + int32_t ret = OH_AVBuffer_SetBufferAttr(buffer, &attr); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "SetBufferAttr failed"); + + ret = OH_AVMuxer_WriteSampleBuffer(muxer_, videoTrackId_, buffer); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Write sample failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Muxer::Stop() +{ + CHECK_AND_RETURN_RET_LOG(muxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Muxer is null"); + + int32_t ret = OH_AVMuxer_Stop(muxer_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Muxer stop failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Muxer::Release() +{ + if (muxer_ != nullptr) { + OH_AVMuxer_Destroy(muxer_); + muxer_ = nullptr; + } + return AVCODEC_SAMPLE_ERR_OK; +} + diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/video_decoder.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/video_decoder.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7f70330bb2366a19854535e76bf4eb4236ec1d23 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/video_decoder.cpp @@ -0,0 +1,190 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "video_decoder.h" + +#undef LOG_TAG +#define LOG_TAG "VideoDecoder" + +namespace { +constexpr int LIMIT_LOGD_FREQUENCY = 50; +constexpr int ROTATION_ANGLE = 90; +} // namespace + +VideoDecoder::~VideoDecoder() { Release(); } + +OH_AVCodec *VideoDecoder::GetCodecByCategory(const char *mime, bool isEncoder, OH_AVCodecCategory category) +{ + OH_AVCapability *capability = OH_AVCodec_GetCapabilityByCategory(mime, isEncoder, category); + CHECK_AND_RETURN_RET_LOG(capability != nullptr, nullptr, "Capability is nullptr"); + const char *codecName = OH_AVCapability_GetName(capability); + return OH_VideoDecoder_CreateByName(codecName); +} + +int32_t VideoDecoder::Create(const std::string &videoCodecMime, int32_t videoDecoderType) +{ + switch (videoDecoderType) { + case AUTO: + decoder_ = OH_VideoDecoder_CreateByMime(videoCodecMime.c_str()); + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Create failed"); + break; + case VIDEO_HW_DECODER: + if (!strcmp(videoCodecMime.data(), "video/avc")) { + decoder_ = GetCodecByCategory(OH_AVCODEC_MIMETYPE_VIDEO_AVC, false, HARDWARE); + } else if (!strcmp(videoCodecMime.data(), "video/hevc")) { + decoder_ = GetCodecByCategory(OH_AVCODEC_MIMETYPE_VIDEO_HEVC, false, HARDWARE); + } else if (!strcmp(videoCodecMime.data(), "video/vvc")) { + decoder_ = GetCodecByCategory(OH_AVCODEC_MIMETYPE_VIDEO_VVC, false, HARDWARE); + } else { + AVCODEC_SAMPLE_LOGE("INVALID MIMETYPE"); + return AVCODEC_SAMPLE_ERR_ERROR; + } + break; + case VIDEO_SW_DECODER: + if (!strcmp(videoCodecMime.data(), "video/avc")) { + decoder_ = GetCodecByCategory(OH_AVCODEC_MIMETYPE_VIDEO_AVC, false, SOFTWARE); + } else if (!strcmp(videoCodecMime.data(), "video/hevc")) { + decoder_ = GetCodecByCategory(OH_AVCODEC_MIMETYPE_VIDEO_HEVC, false, SOFTWARE); + } else if (!strcmp(videoCodecMime.data(), "video/vvc")) { + decoder_ = GetCodecByCategory(OH_AVCODEC_MIMETYPE_VIDEO_VVC, false, SOFTWARE); + } else { + AVCODEC_SAMPLE_LOGE("INVALID MIMETYPE"); + return AVCODEC_SAMPLE_ERR_ERROR; + } + break; + } + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::SetCallback(CodecUserData *codecUserData) +{ + int32_t ret = AV_ERR_OK; + ret = OH_VideoDecoder_RegisterCallback(decoder_, + {SampleCallback::OnCodecError, SampleCallback::OnCodecFormatChange, + SampleCallback::OnNeedInputBuffer, SampleCallback::OnNewOutputBuffer}, + codecUserData); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Set callback failed, ret: %{public}d", ret); + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::Configure(const SampleInfo &sampleInfo) +{ + OH_AVFormat *format = OH_AVFormat_Create(); + CHECK_AND_RETURN_RET_LOG(format != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "AVFormat create failed"); + + OH_AVFormat_SetIntValue(format, OH_MD_KEY_WIDTH, sampleInfo.videoWidth); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_HEIGHT, sampleInfo.videoHeight); + OH_AVFormat_SetDoubleValue(format, OH_MD_KEY_FRAME_RATE, sampleInfo.frameRate); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_PIXEL_FORMAT, sampleInfo.pixelFormat); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_ROTATION, sampleInfo.rotation); + + AVCODEC_SAMPLE_LOGI("====== VideoDecoder config ======"); + AVCODEC_SAMPLE_LOGI("%{public}d*%{public}d, %{public}.1ffps", sampleInfo.videoWidth, sampleInfo.videoHeight, + sampleInfo.frameRate); + AVCODEC_SAMPLE_LOGI("====== VideoDecoder config ======"); + + int ret = OH_VideoDecoder_Configure(decoder_, format); + OH_AVFormat_Destroy(format); + format = nullptr; + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Config failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::Config(const SampleInfo &sampleInfo, CodecUserData *codecUserData) +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + CHECK_AND_RETURN_RET_LOG(codecUserData != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Invalid param: codecUserData"); + + // Configure video decoder + int32_t ret = Configure(sampleInfo); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Configure failed"); + + // SetSurface from video decoder + if (sampleInfo.window != nullptr) { + int ret = OH_VideoDecoder_SetSurface(decoder_, sampleInfo.window); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK && sampleInfo.window, AVCODEC_SAMPLE_ERR_ERROR, + "Set surface failed, ret: %{public}d", ret); + } + + // SetCallback for video decoder + ret = SetCallback(codecUserData); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, + "Set callback failed, ret: %{public}d", ret); + + // Prepare video decoder + { + int ret = OH_VideoDecoder_Prepare(decoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Prepare failed, ret: %{public}d", ret); + } + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::Start() +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + + int ret = OH_VideoDecoder_Start(decoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Start failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::PushInputBuffer(CodecBufferInfo &info) { + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + int32_t ret = OH_VideoDecoder_PushInputBuffer(decoder_, info.bufferIndex); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Push input data failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::FreeOutputBuffer(uint32_t bufferIndex, bool render) +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + + int32_t ret = AVCODEC_SAMPLE_ERR_OK; + if (render) { + ret = OH_VideoDecoder_RenderOutputBuffer(decoder_, bufferIndex); + } else { + ret = OH_VideoDecoder_FreeOutputBuffer(decoder_, bufferIndex); + } + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Free output data failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::FreeOutputBuffer(uint32_t bufferIndex, bool render, int64_t timeStamp) +{ + CHECK_AND_RETURN_RET_LOG(decoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + + int32_t ret = AVCODEC_SAMPLE_ERR_OK; + if (render) { + ret = OH_VideoDecoder_RenderOutputBufferAtTime(decoder_, bufferIndex, timeStamp); + } else { + ret = OH_VideoDecoder_FreeOutputBuffer(decoder_, bufferIndex); + } + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Free output data failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoDecoder::Release() +{ + if (decoder_ != nullptr) { + OH_VideoDecoder_Destroy(decoder_); + decoder_ = nullptr; + } + return AVCODEC_SAMPLE_ERR_OK; +} diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/video_encoder.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/video_encoder.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1e6c64797a9c6c3a0f4e67a99092a076e336926d --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/capbilities/video_encoder.cpp @@ -0,0 +1,194 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "video_encoder.h" + +#undef LOG_TAG +#define LOG_TAG "VideoEncoder" + +namespace { + +int32_t ToGraphicPixelFormat(int32_t avPixelFormat, bool isHDRVivid) +{ + if (isHDRVivid) { + return NATIVEBUFFER_PIXEL_FMT_YCBCR_P010; + } + switch (avPixelFormat) { + case AV_PIXEL_FORMAT_RGBA: + return NATIVEBUFFER_PIXEL_FMT_RGBA_8888; + case AV_PIXEL_FORMAT_YUVI420: + return NATIVEBUFFER_PIXEL_FMT_YCBCR_420_P; + case AV_PIXEL_FORMAT_NV21: + return NATIVEBUFFER_PIXEL_FMT_YCRCB_420_SP; + default: // NV12 and others + return NATIVEBUFFER_PIXEL_FMT_YCRCB_420_SP; + } +} +} // namespace + +VideoEncoder::~VideoEncoder() +{ + Release(); +} + +int32_t VideoEncoder::Create(const std::string &videoCodecMime) +{ + encoder_ = OH_VideoEncoder_CreateByMime(videoCodecMime.c_str()); + CHECK_AND_RETURN_RET_LOG(encoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Create failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::Config(SampleInfo &sampleInfo, CodecUserData *codecUserData) +{ + CHECK_AND_RETURN_RET_LOG(encoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Encoder is null"); + CHECK_AND_RETURN_RET_LOG(codecUserData != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Invalid param: codecUserData"); + + // Configure video encoder + int32_t ret = Configure(sampleInfo); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Configure failed"); + + // GetSurface from video encoder + ret = GetSurface(sampleInfo); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Get surface failed"); + + // SetCallback for video encoder + ret = SetCallback(codecUserData); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, + "Set callback failed, ret: %{public}d", ret); + + // Prepare video encoder + ret = OH_VideoEncoder_Prepare(encoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Prepare failed, ret: %{public}d", ret); + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::Start() +{ + CHECK_AND_RETURN_RET_LOG(encoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Encoder is null"); + + int ret = OH_VideoEncoder_Start(encoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Start failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::PushInputBuffer(CodecBufferInfo &info) +{ + CHECK_AND_RETURN_RET_LOG(encoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Decoder is null"); + + int32_t ret = OH_AVBuffer_SetBufferAttr(reinterpret_cast(info.buffer), &info.attr); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Set avbuffer attr failed"); + ret = OH_VideoEncoder_PushInputBuffer(encoder_, info.bufferIndex); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Push input data failed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::FreeOutputBuffer(uint32_t bufferIndex) +{ + CHECK_AND_RETURN_RET_LOG(encoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Encoder is null"); + + int32_t ret = OH_VideoEncoder_FreeOutputBuffer(encoder_, bufferIndex); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, + "Free output data failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::NotifyEndOfStream() +{ + CHECK_AND_RETURN_RET_LOG(encoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Encoder is null"); + + int32_t ret = OH_VideoEncoder_NotifyEndOfStream(encoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, + "Notify end of stream failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::Stop() +{ + CHECK_AND_RETURN_RET_LOG(encoder_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Encoder is null"); + + int ret = OH_VideoEncoder_Flush(encoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Flush failed, ret: %{public}d", ret); + + ret = OH_VideoEncoder_Stop(encoder_); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Stop failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::Release() +{ + if (encoder_ != nullptr) { + OH_VideoEncoder_Destroy(encoder_); + encoder_ = nullptr; + } + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::SetCallback(CodecUserData *codecUserData) +{ + int32_t ret = OH_VideoEncoder_RegisterCallback(encoder_, + {SampleCallback::OnCodecError, SampleCallback::OnCodecFormatChange, + SampleCallback::OnNeedInputBuffer, SampleCallback::OnNewOutputBuffer}, + codecUserData); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Set callback failed, ret: %{public}d", ret); + + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::Configure(const SampleInfo &sampleInfo) +{ + OH_AVFormat *format = OH_AVFormat_Create(); + CHECK_AND_RETURN_RET_LOG(format != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "AVFormat create failed"); + + OH_AVFormat_SetIntValue(format, OH_MD_KEY_WIDTH, sampleInfo.videoWidth); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_HEIGHT, sampleInfo.videoHeight); + OH_AVFormat_SetDoubleValue(format, OH_MD_KEY_FRAME_RATE, sampleInfo.frameRate); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_PIXEL_FORMAT, sampleInfo.pixelFormat); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE, sampleInfo.bitrateMode); + OH_AVFormat_SetLongValue(format, OH_MD_KEY_BITRATE, sampleInfo.bitrate); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_PROFILE, sampleInfo.hevcProfile); + if (sampleInfo.isHDRVivid) { + OH_AVFormat_SetIntValue(format, OH_MD_KEY_I_FRAME_INTERVAL, sampleInfo.iFrameInterval); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_RANGE_FLAG, sampleInfo.rangFlag); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_COLOR_PRIMARIES, sampleInfo.primary); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_TRANSFER_CHARACTERISTICS, sampleInfo.transfer); + OH_AVFormat_SetIntValue(format, OH_MD_KEY_MATRIX_COEFFICIENTS, sampleInfo.matrix); + } + AVCODEC_SAMPLE_LOGI("====== VideoEncoder config ======"); + AVCODEC_SAMPLE_LOGI("%{public}d*%{public}d, %{public}.1ffps", + sampleInfo.videoWidth, sampleInfo.videoHeight, sampleInfo.frameRate); + // 1024: ratio of kbps to bps + AVCODEC_SAMPLE_LOGI("BitRate Mode: %{public}d, BitRate: %{public}" PRId64 "kbps", + sampleInfo.bitrateMode, sampleInfo.bitrate / 1024); + AVCODEC_SAMPLE_LOGI("====== VideoEncoder config ======"); + + int ret = OH_VideoEncoder_Configure(encoder_, format); + OH_AVFormat_Destroy(format); + format = nullptr; + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK, AVCODEC_SAMPLE_ERR_ERROR, "Config failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t VideoEncoder::GetSurface(SampleInfo &sampleInfo) +{ + int32_t ret = OH_VideoEncoder_GetSurface(encoder_, &sampleInfo.window); + CHECK_AND_RETURN_RET_LOG(ret == AV_ERR_OK && sampleInfo.window, AVCODEC_SAMPLE_ERR_ERROR, + "Get surface failed, ret: %{public}d", ret); + return AVCODEC_SAMPLE_ERR_OK; +} + diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/dfx/error/av_codec_sample_error.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/dfx/error/av_codec_sample_error.h new file mode 100644 index 0000000000000000000000000000000000000000..243380754cabfd20d5c35dedd32c18b335dd8870 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/dfx/error/av_codec_sample_error.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AVCODEC_SAMPLE_ERROE_H +#define AVCODEC_SAMPLE_ERROE_H + +enum AVCodecSampleError : int { + AVCODEC_SAMPLE_ERR_OK = 0, + AVCODEC_SAMPLE_ERR_ERROR = -1, +}; + +#endif // AVCODEC_SAMPLE_ERROE_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/dfx/log/av_codec_sample_log.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/dfx/log/av_codec_sample_log.h new file mode 100644 index 0000000000000000000000000000000000000000..6da1a6dc302ca88e713bd7c6044334437c2b78e7 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/dfx/log/av_codec_sample_log.h @@ -0,0 +1,84 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AVCODEC_SAMPLE_LOG_H +#define AVCODEC_SAMPLE_LOG_H + +#include +#include + +#undef LOG_DOMAIN +#define LOG_DOMAIN 0x0002B66 + +#define AVCODEC_SAMPLE_LOG_FREQ_LIMIT(frequency) \ + if (1) { \ + thread_local uint64_t currentTimes = 0; \ + if (currentTimes++ % ((uint64_t)(frequency)) != 0) { \ + break; \ + } \ + } + +#define AVCODEC_SAMPLE_LOG(func, fmt, args...) \ + do { \ + (void)func(LOG_APP, "{%{public}s():%{public}d} " fmt, __FUNCTION__, __LINE__, ##args); \ + } while (0) + +#define AVCODEC_SAMPLE_LOGF(fmt, ...) AVCODEC_SAMPLE_LOG(OH_LOG_FATAL, fmt, ##__VA_ARGS__) +#define AVCODEC_SAMPLE_LOGE(fmt, ...) AVCODEC_SAMPLE_LOG(OH_LOG_ERROR, fmt, ##__VA_ARGS__) +#define AVCODEC_SAMPLE_LOGW(fmt, ...) AVCODEC_SAMPLE_LOG(OH_LOG_WARN, fmt, ##__VA_ARGS__) +#define AVCODEC_SAMPLE_LOGI(fmt, ...) AVCODEC_SAMPLE_LOG(OH_LOG_INFO, fmt, ##__VA_ARGS__) +#define AVCODEC_SAMPLE_LOGD(fmt, ...) AVCODEC_SAMPLE_LOG(OH_LOG_DEBUG, fmt, ##__VA_ARGS__) +#define AVCODEC_SAMPLE_LOGD_LIMIT(frequency, fmt, ...) \ + do { \ + AVCODEC_SAMPLE_LOG_FREQ_LIMIT(frequency); \ + AVCODEC_SAMPLE_LOGD(fmt, ##__VA_ARGS__); \ + } while (0) + +#define CHECK_AND_RETURN_RET_LOG(cond, ret, fmt, ...) \ + do { \ + if (!(cond)) { \ + AVCODEC_SAMPLE_LOGE(fmt, ##__VA_ARGS__); \ + return ret; \ + } \ + } while (0) + +#define CHECK_AND_RETURN_LOG(cond, fmt, ...) \ + do { \ + if (!(cond)) { \ + AVCODEC_SAMPLE_LOGE(fmt, ##__VA_ARGS__); \ + return; \ + } \ + } while (0) + +#define CHECK_AND_BREAK_LOG(cond, fmt, ...) \ + if (1) { \ + if (!(cond)) { \ + AVCODEC_SAMPLE_LOGW(fmt, ##__VA_ARGS__); \ + break; \ + } \ + } else void (0) + +#define CHECK_AND_CONTINUE_LOG(cond, fmt, ...) \ + if (1) { \ + if (!(cond)) { \ + AVCODEC_SAMPLE_LOGW(fmt, ##__VA_ARGS__); \ + continue; \ + } \ + } else void (0) + +#endif // AVCODEC_SAMPLE_LOG_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_callback.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_callback.cpp new file mode 100644 index 0000000000000000000000000000000000000000..510ff78a1ea2d991d8f0ad5f0b67b0aca69cd499 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_callback.cpp @@ -0,0 +1,143 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "sample_callback.h" +#include "av_codec_sample_log.h" + +namespace { +constexpr int LIMIT_LOGD_FREQUENCY = 50; +constexpr int32_t BYTES_PER_SAMPLE_2 = 2; +} // namespace + +// 自定义写入数据函数 +int32_t SampleCallback::OnRenderWriteData(OH_AudioRenderer *renderer, void *userData, void *buffer, int32_t length) +{ + (void)renderer; + (void)length; + CodecUserData *codecUserData = static_cast(userData); + + // 将待播放的数据,按length长度写入buffer + uint8_t *dest = (uint8_t *)buffer; + size_t index = 0; + std::unique_lock lock(codecUserData->outputMutex); + // 从队列中取出需要播放的长度为length的数据 + while (!codecUserData->renderQueue.empty() && index < length) { + dest[index++] = codecUserData->renderQueue.front(); + codecUserData->renderQueue.pop(); + } + AVCODEC_SAMPLE_LOGD("render BufferLength:%{public}d Out buffer count: %{public}u, renderQueue.size: %{public}u " + "renderReadSize: %{public}u", + length, codecUserData->outputFrameCount, codecUserData->renderQueue.size(), index); + + codecUserData->frameWrittenForSpeed += + length / codecUserData->speed / codecUserData->sampleInfo->audioChannelCount / BYTES_PER_SAMPLE_2; + codecUserData->currentPosAudioBufferPts = + codecUserData->endPosAudioBufferPts - codecUserData->renderQueue.size() / + codecUserData->sampleInfo->audioSampleRate / + codecUserData->sampleInfo->audioChannelCount / BYTES_PER_SAMPLE_2; + + if (codecUserData->renderQueue.size() < length) { + codecUserData->renderCond.notify_all(); + } + return 0; +} +// 自定义音频流事件函数 +int32_t SampleCallback::OnRenderStreamEvent(OH_AudioRenderer *renderer, void *userData, OH_AudioStream_Event event) +{ + (void)renderer; + (void)userData; + (void)event; + // 根据event表示的音频流事件信息,更新播放器状态和界面 + return 0; +} +// 自定义音频中断事件函数 +int32_t SampleCallback::OnRenderInterruptEvent(OH_AudioRenderer *renderer, void *userData, + OH_AudioInterrupt_ForceType type, OH_AudioInterrupt_Hint hint) +{ + (void)renderer; + (void)userData; + (void)type; + (void)hint; + // 根据type和hint表示的音频中断信息,更新播放器状态和界面 + return 0; +} +// 自定义异常回调函数 +int32_t SampleCallback::OnRenderError(OH_AudioRenderer *renderer, void *userData, OH_AudioStream_Result error) +{ + (void)renderer; + (void)userData; + (void)error; + AVCODEC_SAMPLE_LOGE("OnRenderError"); + // 根据error表示的音频异常信息,做出相应的处理 + return 0; +} + +void SampleCallback::OnCodecError(OH_AVCodec *codec, int32_t errorCode, void *userData) +{ + (void)codec; + (void)errorCode; + (void)userData; + AVCODEC_SAMPLE_LOGE("On codec error, error code: %{public}d", errorCode); +} + +void SampleCallback::OnCodecFormatChange(OH_AVCodec *codec, OH_AVFormat *format, void *userData) +{ + AVCODEC_SAMPLE_LOGI("On codec format change"); +} + +void SampleCallback::OnNeedInputBuffer(OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) +{ + if (userData == nullptr) { + return; + } + (void)codec; + CodecUserData *codecUserData = static_cast(userData); + std::unique_lock lock(codecUserData->inputMutex); + if (codecUserData->isEncFirstFrame) { + OH_AVFormat *format = OH_VideoEncoder_GetInputDescription(codec); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_PIC_WIDTH, &codecUserData->width); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_PIC_HEIGHT, &codecUserData->height); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_STRIDE, &codecUserData->widthStride); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_SLICE_HEIGHT, &codecUserData->heightStride); + OH_AVFormat_Destroy(format); + codecUserData->isEncFirstFrame = false; + } + codecUserData->inputBufferInfoQueue.emplace(index, buffer); + codecUserData->inputCond.notify_all(); +} + +void SampleCallback::OnNewOutputBuffer(OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) +{ + if (userData == nullptr) { + return; + } + (void)codec; + CodecUserData *codecUserData = static_cast(userData); + std::unique_lock lock(codecUserData->outputMutex); + if (codecUserData->isDecFirstFrame) { + OH_AVFormat *format = OH_VideoDecoder_GetOutputDescription(codec); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_PIC_WIDTH, &codecUserData->width); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_PIC_HEIGHT, &codecUserData->height); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_STRIDE, &codecUserData->widthStride); + OH_AVFormat_GetIntValue(format, OH_MD_KEY_VIDEO_SLICE_HEIGHT, &codecUserData->heightStride); + OH_AVFormat_Destroy(format); + codecUserData->isDecFirstFrame = false; + } + codecUserData->outputBufferInfoQueue.emplace(index, buffer); + codecUserData->outputCond.notify_all(); +} diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_callback.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_callback.h new file mode 100644 index 0000000000000000000000000000000000000000..43633bf737b4c083282533d90ff356d044a86641 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_callback.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AVCODEC_SAMPLE_CALLBACK_H +#define AVCODEC_SAMPLE_CALLBACK_H + +#include +#include +#include +#include "sample_info.h" +class SampleCallback { +public: + static int32_t OnRenderWriteData(OH_AudioRenderer *renderer, void *userData, void *buffer, int32_t length); + static int32_t OnRenderStreamEvent(OH_AudioRenderer *renderer, void *userData, OH_AudioStream_Event event); + static int32_t OnRenderInterruptEvent(OH_AudioRenderer *renderer, void *userData, OH_AudioInterrupt_ForceType type, + OH_AudioInterrupt_Hint hint); + static int32_t OnRenderError(OH_AudioRenderer *renderer, void *userData, OH_AudioStream_Result error); + + static void OnCodecError(OH_AVCodec *codec, int32_t errorCode, void *userData); + static void OnCodecFormatChange(OH_AVCodec *codec, OH_AVFormat *format, void *userData); + static void OnNeedInputBuffer(OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData); + static void OnNewOutputBuffer(OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData); +}; + +#endif // AVCODEC_SAMPLE_CALLBACK_H diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_info.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_info.h new file mode 100644 index 0000000000000000000000000000000000000000..65171576eea69e9a17e2ea3b2ea66bb8e0483e41 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/common/sample_info.h @@ -0,0 +1,161 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AVCODEC_SAMPLE_INFO_H +#define AVCODEC_SAMPLE_INFO_H +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "multimedia/player_framework/native_avcodec_base.h" +#include "multimedia/player_framework/native_avbuffer.h" + +constexpr int32_t BITRATE_10M = 10 * 1024 * 1024; // 10Mbps +constexpr int32_t BITRATE_20M = 20 * 1024 * 1024; // 20Mbps +constexpr int32_t BITRATE_30M = 30 * 1024 * 1024; // 30Mbps + +const std::unordered_map PIXEL_FORMAT_TO_STRING = { + {AV_PIXEL_FORMAT_YUVI420, "YUVI420"}, + {AV_PIXEL_FORMAT_NV12, "NV12"}, + {AV_PIXEL_FORMAT_NV21, "NV21"}, + {AV_PIXEL_FORMAT_SURFACE_FORMAT, "SURFACE_FORMAT"}, + {AV_PIXEL_FORMAT_RGBA, "RGBA"}, +}; + +struct SampleInfo { + int32_t inputFd = -1; + int32_t outputFd = -1; + int64_t inputFileOffset = 0; + int64_t inputFileSize = 0; + std::string inputFilePath; + std::string videoCodecMime = ""; + std::string audioCodecMime = ""; + int32_t videoWidth = 0; + int32_t videoHeight = 0; + double frameRate = 0.0; + int64_t bitrate = 10 * 1024 * 1024; // 10Mbps; + int64_t frameInterval = 0; + OH_AVPixelFormat pixelFormat = AV_PIXEL_FORMAT_NV12; + uint32_t bitrateMode = CBR; + int32_t iFrameInterval = 100; + int32_t rangFlag = 1; + int32_t codecType = 0; + int32_t codecRunMode = 0; + std::string outputFilePath; + + int32_t audioSampleForamt = 0; + int32_t audioSampleRate = 0; + int32_t audioChannelCount = 0; + int64_t audioChannelLayout = 0; + + int32_t isHDRVivid = 0; + int32_t hevcProfile = HEVC_PROFILE_MAIN; + OH_ColorPrimary primary = COLOR_PRIMARY_BT2020; + OH_TransferCharacteristic transfer = TRANSFER_CHARACTERISTIC_HLG; + OH_MatrixCoefficient matrix = MATRIX_COEFFICIENT_BT2020_CL; + + int32_t rotation = 0; + OHNativeWindow *window = nullptr; + + void (*playDoneCallback)(void *context) = nullptr; + void *playDoneCallbackData = nullptr; + uint8_t codecConfig[1024]; + size_t codecConfigLen = 0; + int32_t aacAdts = -1; +}; + +struct CodecBufferInfo { + uint32_t bufferIndex = 0; + uintptr_t *buffer = nullptr; + uint8_t *bufferAddr = nullptr; + OH_AVCodecBufferAttr attr = {0, 0, 0, AVCODEC_BUFFER_FLAGS_NONE}; + + explicit CodecBufferInfo(uint8_t *addr) : bufferAddr(addr){}; + CodecBufferInfo(uint8_t *addr, int32_t bufferSize) + : bufferAddr(addr), attr({0, bufferSize, 0, AVCODEC_BUFFER_FLAGS_NONE}){}; + CodecBufferInfo(uint32_t argBufferIndex, OH_AVBuffer *argBuffer) + : bufferIndex(argBufferIndex), buffer(reinterpret_cast(argBuffer)) + { + OH_AVBuffer_GetBufferAttr(argBuffer, &attr); + }; +}; + +enum CodecType { + AUTO = 0, + VIDEO_HW_DECODER = 1, + VIDEO_SW_DECODER = 2, + VIDEO_HW_ENCODER = 3, + VIDEO_SW_ENCODER = 4, +}; + +enum CodecRunMode { + SURFACE = 0, + BUFFER = 1 +}; + +struct CodecUserData { +public: + SampleInfo *sampleInfo = nullptr; + bool isDecFirstFrame = true; + bool isEncFirstFrame = true; + + int32_t width = 0; + int32_t height = 0; + int32_t widthStride = 0; + int32_t heightStride = 0; + + uint32_t inputFrameCount = 0; + std::mutex inputMutex; + std::condition_variable inputCond; + std::queue inputBufferInfoQueue; + + uint32_t outputFrameCount = 0; + std::mutex outputMutex; + std::condition_variable outputCond; + std::mutex renderMutex; + std::condition_variable renderCond; + std::queue outputBufferInfoQueue; + + std::queue renderQueue; + + int64_t speed = 1.0f; + int64_t frameWrittenForSpeed = 0; + int64_t endPosAudioBufferPts = 0; + int64_t currentPosAudioBufferPts = 0; + + void ClearQueue() + { + { + std::unique_lock lock(inputMutex); + auto emptyQueue = std::queue(); + inputBufferInfoQueue.swap(emptyQueue); + } + { + std::unique_lock lock(outputMutex); + auto emptyQueue = std::queue(); + outputBufferInfoQueue.swap(emptyQueue); + } + } +}; + +#endif // AVCODEC_SAMPLE_INFO_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/include/plugin_manager.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/include/plugin_manager.h new file mode 100644 index 0000000000000000000000000000000000000000..92e61fa460a5ee5100532c7e2ca9e9bd4e7109cd --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/include/plugin_manager.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NATIVE_XCOMPONENT_PLUGIN_MANAGER_H +#define NATIVE_XCOMPONENT_PLUGIN_MANAGER_H + +#include +#include +#include +#include +#include +#include +#include "native_window/external_window.h" + +#include "plugin_render.h" + +namespace NativeXComponentSample { +class PluginManager { +public: + ~PluginManager(); + + static PluginManager* GetInstance() + { + return &PluginManager::pluginManager_; + } + + static napi_value GetContext(napi_env env, napi_callback_info info); + + void SetNativeXComponent(std::string& id, OH_NativeXComponent* nativeXComponent); + PluginRender* GetRender(std::string& id); + void Export(napi_env env, napi_value exports); + OHNativeWindow *pluginWindow_; + +private: + static PluginManager pluginManager_; + + std::unordered_map nativeXComponentMap_; + std::unordered_map pluginRenderMap_; +}; +} // namespace NativeXComponentSample +#endif // NATIVE_XCOMPONENT_PLUGIN_MANAGER_H diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/include/plugin_render.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/include/plugin_render.h new file mode 100644 index 0000000000000000000000000000000000000000..fd30d2b4428ea8810fb95341266efc543b3e0d67 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/include/plugin_render.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NATIVE_XCOMPONENT_PLUGIN_RENDER_H +#define NATIVE_XCOMPONENT_PLUGIN_RENDER_H + +#include +#include +#include +#include + +namespace NativeXComponentSample { +class PluginRender { +public: + explicit PluginRender(std::string& id); + ~PluginRender() {} + static PluginRender* GetInstance(std::string& id); + static void Release(std::string& id); + void Export(napi_env env, napi_value exports); + void OnSurfaceChanged(OH_NativeXComponent* component, void* window); + void OnTouchEvent(OH_NativeXComponent* component, void* window); + void RegisterCallback(OH_NativeXComponent* nativeXComponent); + +public: + static std::unordered_map instance_; + std::string id_; + +private: + OH_NativeXComponent_Callback renderCallback_; +}; +} // namespace NativeXComponentSample +#endif // NATIVE_XCOMPONENT_PLUGIN_RENDER_H diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/plugin_manager.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/plugin_manager.cpp new file mode 100644 index 0000000000000000000000000000000000000000..26bdd7d3a75f86efa5e71305c7e2bbb695978c91 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/plugin_manager.cpp @@ -0,0 +1,166 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "plugin_manager.h" + +#include +#include +#include +#include +#include + +#undef LOG_TAG +#define LOG_TAG "PLUGINMANAGER" + +namespace NativeXComponentSample { +constexpr uint32_t LOG_PRINT_DOMAIN = 0xFF00; +PluginManager PluginManager::pluginManager_; + +PluginManager::~PluginManager() +{ + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "~PluginManager"); + for (auto iter = nativeXComponentMap_.begin(); iter != nativeXComponentMap_.end(); ++iter) { + if (iter->second != nullptr) { + delete iter->second; + iter->second = nullptr; + } + } + nativeXComponentMap_.clear(); + + for (auto iter = pluginRenderMap_.begin(); iter != pluginRenderMap_.end(); ++iter) { + if (iter->second != nullptr) { + delete iter->second; + iter->second = nullptr; + } + } + pluginRenderMap_.clear(); +} + +napi_value PluginManager::GetContext(napi_env env, napi_callback_info info) +{ + if ((env == nullptr) || (info == nullptr)) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginManager", "GetContext env or info is null"); + return nullptr; + } + + size_t argCnt = 1; + napi_value args[1] = { nullptr }; + if (napi_get_cb_info(env, info, &argCnt, args, nullptr, nullptr) != napi_ok) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginManager", "GetContext napi_get_cb_info failed"); + } + + if (argCnt != 1) { + napi_throw_type_error(env, NULL, "Wrong number of arguments"); + return nullptr; + } + + napi_valuetype valuetype; + if (napi_typeof(env, args[0], &valuetype) != napi_ok) { + napi_throw_type_error(env, NULL, "napi_typeof failed"); + return nullptr; + } + + if (valuetype != napi_number) { + napi_throw_type_error(env, NULL, "Wrong type of arguments"); + return nullptr; + } + + int64_t value; + if (napi_get_value_int64(env, args[0], &value) != napi_ok) { + napi_throw_type_error(env, NULL, "napi_get_value_int64 failed"); + return nullptr; + } + + napi_value exports; + if (napi_create_object(env, &exports) != napi_ok) { + napi_throw_type_error(env, NULL, "napi_create_object failed"); + return nullptr; + } + + return exports; +} + +void PluginManager::Export(napi_env env, napi_value exports) +{ + if ((env == nullptr) || (exports == nullptr)) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginManager", "Export: env or exports is null"); + return; + } + + napi_value exportInstance = nullptr; + if (napi_get_named_property(env, exports, OH_NATIVE_XCOMPONENT_OBJ, &exportInstance) != napi_ok) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginManager", "Export: napi_get_named_property fail"); + return; + } + + OH_NativeXComponent* nativeXComponent = nullptr; + if (napi_unwrap(env, exportInstance, reinterpret_cast(&nativeXComponent)) != napi_ok) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginManager", "Export: napi_unwrap fail"); + return; + } + + char idStr[OH_XCOMPONENT_ID_LEN_MAX + 1] = { '\0' }; + uint64_t idSize = OH_XCOMPONENT_ID_LEN_MAX + 1; + if (OH_NativeXComponent_GetXComponentId(nativeXComponent, idStr, &idSize) != OH_NATIVEXCOMPONENT_RESULT_SUCCESS) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginManager", "Export: OH_NativeXComponent_GetXComponentId fail"); + return; + } + + std::string id(idStr); + auto context = PluginManager::GetInstance(); + if ((context != nullptr) && (nativeXComponent != nullptr)) { + context->SetNativeXComponent(id, nativeXComponent); + auto render = context->GetRender(id); + if (render != nullptr) { + render->RegisterCallback(nativeXComponent); + render->Export(env, exports); + } + } +} + +void PluginManager::SetNativeXComponent(std::string& id, OH_NativeXComponent* nativeXComponent) +{ + if (nativeXComponent == nullptr) { + return; + } + + if (nativeXComponentMap_.find(id) == nativeXComponentMap_.end()) { + nativeXComponentMap_[id] = nativeXComponent; + return; + } + + if (nativeXComponentMap_[id] != nativeXComponent) { + OH_NativeXComponent* tmp = nativeXComponentMap_[id]; + delete tmp; + tmp = nullptr; + nativeXComponentMap_[id] = nativeXComponent; + } +} + +PluginRender* PluginManager::GetRender(std::string& id) +{ + if (pluginRenderMap_.find(id) == pluginRenderMap_.end()) { + PluginRender* instance = PluginRender::GetInstance(id); + pluginRenderMap_[id] = instance; + return instance; + } + + return pluginRenderMap_[id]; +} +} // namespace NativeXComponentSample diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/plugin_render.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/plugin_render.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c68d49551d57f2478a91ceeba0ce94976dd0b29a --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/render/plugin_render.cpp @@ -0,0 +1,226 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include + +#include "plugin_manager.h" +#include "plugin_render.h" + +#undef LOG_TAG +#define LOG_TAG "PLUGINRENDER" + +namespace NativeXComponentSample { +namespace { +constexpr uint32_t LOG_PRINT_DOMAIN = 0xFF00; + +void OnSurfaceCreatedCB(OH_NativeXComponent* component, void* window) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceCreatedCB"); + if ((component == nullptr) || (window == nullptr)) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceCreatedCB: component or window is null"); + return; + } + + char idStr[OH_XCOMPONENT_ID_LEN_MAX + 1] = { '\0' }; + uint64_t idSize = OH_XCOMPONENT_ID_LEN_MAX + 1; + if (OH_NativeXComponent_GetXComponentId(component, idStr, &idSize) != OH_NATIVEXCOMPONENT_RESULT_SUCCESS) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceCreatedCB: Unable to get XComponent id"); + return; + } + + std::string id(idStr); + auto render = PluginRender::GetInstance(id); + uint64_t width; + uint64_t height; + int32_t xSize = OH_NativeXComponent_GetXComponentSize(component, window, &width, &height); + if ((xSize == OH_NATIVEXCOMPONENT_RESULT_SUCCESS) && (render != nullptr)) { + auto context = PluginManager::GetInstance(); + context->pluginWindow_ = (OHNativeWindow *)window; + OH_NativeWindow_NativeWindowSetScalingModeV2(context->pluginWindow_, OH_SCALING_MODE_SCALE_FIT_V2); + } +} + +void OnSurfaceChangedCB(OH_NativeXComponent* component, void* window) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceChangedCB"); + if ((component == nullptr) || (window == nullptr)) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceChangedCB: component or window is null"); + return; + } + + char idStr[OH_XCOMPONENT_ID_LEN_MAX + 1] = { '\0' }; + uint64_t idSize = OH_XCOMPONENT_ID_LEN_MAX + 1; + if (OH_NativeXComponent_GetXComponentId(component, idStr, &idSize) != OH_NATIVEXCOMPONENT_RESULT_SUCCESS) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceChangedCB: Unable to get XComponent id"); + return; + } + + std::string id(idStr); + auto render = PluginRender::GetInstance(id); + if (render != nullptr) { + render->OnSurfaceChanged(component, window); + OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "Callback", "surface changed"); + } +} + +void OnSurfaceDestroyedCB(OH_NativeXComponent* component, void* window) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceDestroyedCB"); + if ((component == nullptr) || (window == nullptr)) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceDestroyedCB: component or window is null"); + return; + } + + char idStr[OH_XCOMPONENT_ID_LEN_MAX + 1] = { '\0' }; + uint64_t idSize = OH_XCOMPONENT_ID_LEN_MAX + 1; + if (OH_NativeXComponent_GetXComponentId(component, idStr, &idSize) != OH_NATIVEXCOMPONENT_RESULT_SUCCESS) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceDestroyedCB: Unable to get XComponent id"); + return; + } + + std::string id(idStr); + PluginRender::Release(id); +} + +void DispatchTouchEventCB(OH_NativeXComponent* component, void* window) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "Callback", "DispatchTouchEventCB"); + if ((component == nullptr) || (window == nullptr)) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "DispatchTouchEventCB: component or window is null"); + return; + } + + char idStr[OH_XCOMPONENT_ID_LEN_MAX + 1] = { '\0' }; + uint64_t idSize = OH_XCOMPONENT_ID_LEN_MAX + 1; + if (OH_NativeXComponent_GetXComponentId(component, idStr, &idSize) != OH_NATIVEXCOMPONENT_RESULT_SUCCESS) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "DispatchTouchEventCB: Unable to get XComponent id"); + return; + } + + std::string id(idStr); + PluginRender* render = PluginRender::GetInstance(id); + if (render != nullptr) { + render->OnTouchEvent(component, window); + } +} +} // namespace + +std::unordered_map PluginRender::instance_; +PluginRender::PluginRender(std::string& id) +{ + this->id_ = id; +} + +PluginRender* PluginRender::GetInstance(std::string& id) +{ + if (instance_.find(id) == instance_.end()) { + PluginRender* instance = new PluginRender(id); + instance_[id] = instance; + return instance; + } else { + return instance_[id]; + } +} + +void PluginRender::Export(napi_env env, napi_value exports) +{ + if ((env == nullptr) || (exports == nullptr)) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginRender", "Export: env or exports is null"); + return; + } + + napi_property_descriptor desc[] = {}; + if (napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc) != napi_ok) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "PluginRender", "Export: napi_define_properties failed"); + } +} + +void PluginRender::Release(std::string& id) +{ + PluginRender* render = PluginRender::GetInstance(id); + if (render != nullptr) { + delete render; + render = nullptr; + instance_.erase(instance_.find(id)); + } +} + +void PluginRender::OnSurfaceChanged(OH_NativeXComponent* component, void* window) +{ + char idStr[OH_XCOMPONENT_ID_LEN_MAX + 1] = { '\0' }; + uint64_t idSize = OH_XCOMPONENT_ID_LEN_MAX + 1; + if (OH_NativeXComponent_GetXComponentId(component, idStr, &idSize) != OH_NATIVEXCOMPONENT_RESULT_SUCCESS) { + OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "OnSurfaceChanged: Unable to get XComponent id"); + return; + } + + std::string id(idStr); + PluginRender* render = PluginRender::GetInstance(id); + double offsetX; + double offsetY; + OH_NativeXComponent_GetXComponentOffset(component, window, &offsetX, &offsetY); + OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "OH_NativeXComponent_GetXComponentOffset", + "offsetX = %{public}lf, offsetY = %{public}lf", offsetX, offsetY); + uint64_t width; + uint64_t height; + OH_NativeXComponent_GetXComponentSize(component, window, &width, &height); +} + +void PluginRender::OnTouchEvent(OH_NativeXComponent* component, void* window) +{ + char idStr[OH_XCOMPONENT_ID_LEN_MAX + 1] = { '\0' }; + uint64_t idSize = OH_XCOMPONENT_ID_LEN_MAX + 1; + if (OH_NativeXComponent_GetXComponentId(component, idStr, &idSize) != OH_NATIVEXCOMPONENT_RESULT_SUCCESS) { + OH_LOG_Print( + LOG_APP, LOG_ERROR, LOG_PRINT_DOMAIN, "Callback", "DispatchTouchEventCB: Unable to get XComponent id"); + return; + } + OH_NativeXComponent_TouchEvent touchEvent; + OH_NativeXComponent_GetTouchEvent(component, window, &touchEvent); + float tiltX = 0.0f; + float tiltY = 0.0f; + OH_NativeXComponent_TouchPointToolType toolType = + OH_NativeXComponent_TouchPointToolType::OH_NATIVEXCOMPONENT_TOOL_TYPE_UNKNOWN; + OH_NativeXComponent_GetTouchPointToolType(component, 0, &toolType); + OH_NativeXComponent_GetTouchPointTiltX(component, 0, &tiltX); + OH_NativeXComponent_GetTouchPointTiltY(component, 0, &tiltY); + OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "OnTouchEvent", + "touch info: toolType = %{public}d, tiltX = %{public}lf, tiltY = %{public}lf", toolType, tiltX, tiltY); +} + +void PluginRender::RegisterCallback(OH_NativeXComponent *nativeXComponent) +{ + renderCallback_.OnSurfaceCreated = OnSurfaceCreatedCB; + renderCallback_.OnSurfaceChanged = OnSurfaceChangedCB; + renderCallback_.OnSurfaceDestroyed = OnSurfaceDestroyedCB; + renderCallback_.DispatchTouchEvent = DispatchTouchEventCB; + OH_NativeXComponent_RegisterCallback(nativeXComponent, &renderCallback_); +} +} // namespace NativeXComponentSample diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/Player.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/Player.cpp new file mode 100644 index 0000000000000000000000000000000000000000..88844a45ccec386fd64ee9a5d524231dedc9d9bc --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/Player.cpp @@ -0,0 +1,674 @@ +#include "Player.h" +#include "av_codec_sample_log.h" +#include "dfx/error/av_codec_sample_error.h" +#include +#include +#include + +#undef LOG_TAG +#define LOG_TAG "samplePlayer" + +namespace { +constexpr int BALANCE_VALUE = 5; +using namespace std::string_literals; +using namespace std::chrono_literals; +static const int MS_TO_S = 1000; +constexpr int64_t WAIT_TIME_US_THRESHOLD_WARNING = -1 * 40 * 1000; // warning threshold 40ms +constexpr int64_t WAIT_TIME_US_THRESHOLD = 1 * 1000 * 1000; // max sleep time 1s +constexpr int64_t SINK_TIME_US_THRESHOLD = 100000; // max sink time 100ms +constexpr int32_t BYTES_PER_SAMPLE_2 = 2; // 2 bytes per sample +constexpr double VSYNC_TIME = 1000 / 60; // frame time +constexpr double LIP_SYNC_BALANCE_VALUE = 2; // the balance value of sync sound and picture +constexpr int8_t YUV420_SAMPLE_RATIO = 2; +constexpr int32_t TRIPLE_SPEED_MULTIPLIER = 3; +constexpr int32_t DOUBLE_SPEED_MULTIPLIER = 2; + +std::string ToString(OH_AVPixelFormat pixelFormat) +{ + std::string ret; + auto iter = PIXEL_FORMAT_TO_STRING.find(pixelFormat); + if (iter != PIXEL_FORMAT_TO_STRING.end()) { + ret = PIXEL_FORMAT_TO_STRING.at(pixelFormat); + } + return ret; +} +} // namespace + +Player::~Player() { Player::StartRelease(); } + +int32_t Player::CreateAudioDecoder() +{ + AVCODEC_SAMPLE_LOGW("audio mime:%{public}s", sampleInfo_.audioCodecMime.c_str()); + int32_t ret = audioDecoder_->Create(sampleInfo_.audioCodecMime); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + isAudioDone.store(true); + AVCODEC_SAMPLE_LOGE("Create audio decoder failed, mime:%{public}s", sampleInfo_.audioCodecMime.c_str()); + } else { + audioDecContext_ = new CodecUserData; + ret = audioDecoder_->Config(sampleInfo_, audioDecContext_); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Audio Decoder config failed"); + OH_AudioStreamBuilder_Create(&builder_, AUDIOSTREAM_TYPE_RENDERER); + OH_AudioStreamBuilder_SetLatencyMode(builder_, AUDIOSTREAM_LATENCY_MODE_NORMAL); + // 设置音频采样率 + OH_AudioStreamBuilder_SetSamplingRate(builder_, sampleInfo_.audioSampleRate); + // 设置音频声道 + OH_AudioStreamBuilder_SetChannelCount(builder_, sampleInfo_.audioChannelCount); + // 设置音频采样格式 + OH_AudioStreamBuilder_SetSampleFormat(builder_, AUDIOSTREAM_SAMPLE_S16LE); + // 设置音频流的编码类型 + OH_AudioStreamBuilder_SetEncodingType(builder_, AUDIOSTREAM_ENCODING_TYPE_RAW); + // 设置输出音频流的工作场景 + OH_AudioStreamBuilder_SetRendererInfo(builder_, AUDIOSTREAM_USAGE_MOVIE); + AVCODEC_SAMPLE_LOGW("Init audioSampleRate: %{public}d, ChannelCount: %{public}d", sampleInfo_.audioSampleRate, + sampleInfo_.audioChannelCount); + OH_AudioRenderer_Callbacks callbacks; + // 配置回调函数 +#ifndef DEBUG_DECODE + callbacks.OH_AudioRenderer_OnWriteData = SampleCallback::OnRenderWriteData; +#else + callbacks.OH_AudioRenderer_OnWriteData = nullptr; +#endif + callbacks.OH_AudioRenderer_OnStreamEvent = SampleCallback::OnRenderStreamEvent; + callbacks.OH_AudioRenderer_OnInterruptEvent = SampleCallback::OnRenderInterruptEvent; + callbacks.OH_AudioRenderer_OnError = SampleCallback::OnRenderError; + // 设置输出音频流的回调 + OH_AudioStreamBuilder_SetRendererCallback(builder_, callbacks, audioDecContext_); + OH_AudioStreamBuilder_GenerateRenderer(builder_, &audioRenderer_); + } + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Player::CreateVideoDecoder() +{ + AVCODEC_SAMPLE_LOGW("video mime:%{public}s", sampleInfo_.videoCodecMime.c_str()); + int32_t ret = videoDecoder_->Create(sampleInfo_.videoCodecMime, sampleInfo_.codecType); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + isVideoDone.store(true); + AVCODEC_SAMPLE_LOGW("Create video decoder failed, mime:%{public}s", sampleInfo_.videoCodecMime.c_str()); + } else { + videoDecContext_ = new CodecUserData; + if (sampleInfo_.codecRunMode == SURFACE) { + sampleInfo_.window = NativeXComponentSample::PluginManager::GetInstance()->pluginWindow_; + } else { + sampleInfo_.window = nullptr; + } + ret = videoDecoder_->Config(sampleInfo_, videoDecContext_); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Video Decoder config failed"); + } + return AVCODEC_SAMPLE_ERR_OK; +} + +// 新添加的错误处理函数 +int32_t Player::HandleInitError(std::unique_lock& outerLock) +{ + { + std::unique_lock doneLock(doneMutex); + isAudioDone = true; + isVideoDone = true; + isReleased_ = false; + } + doneCond_.notify_all(); + if (outerLock.owns_lock()) { + outerLock.unlock(); + } + StartRelease(); + return AVCODEC_SAMPLE_ERR_ERROR; +} + +int32_t Player::Init(SampleInfo &sampleInfo) +{ + std::unique_lock lock(mutex_); + CHECK_AND_RETURN_RET_LOG(!isStarted_, AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + CHECK_AND_RETURN_RET_LOG(demuxer_ == nullptr && videoDecoder_ == nullptr && audioDecoder_ == nullptr, + AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + + sampleInfo_ = sampleInfo; + + videoDecoder_ = std::make_unique(); + audioDecoder_ = std::make_unique(); + demuxer_ = std::make_unique(); + + int32_t ret = demuxer_->Create(sampleInfo_); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + AVCODEC_SAMPLE_LOGE("Create demuxer failed"); + return HandleInitError(lock); + } + + ret = CreateAudioDecoder(); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + AVCODEC_SAMPLE_LOGE("Create audio decoder failed"); + return HandleInitError(lock); + } + + ret = CreateVideoDecoder(); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + AVCODEC_SAMPLE_LOGE("Create video decoder failed"); + return HandleInitError(lock); + } + + if (audioDecContext_ != nullptr) { + audioDecContext_->sampleInfo = &sampleInfo_; + } + + isReleased_ = false; + AVCODEC_SAMPLE_LOGI("Succeed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Player::Start() +{ + std::unique_lock lock(mutex_); + int32_t ret; + CHECK_AND_RETURN_RET_LOG(!isStarted_, AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + CHECK_AND_RETURN_RET_LOG(demuxer_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + if (videoDecContext_) { + ret = videoDecoder_->Start(); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + AVCODEC_SAMPLE_LOGE("Video Decoder start failed"); + lock.unlock(); + StartRelease(); + return AVCODEC_SAMPLE_ERR_ERROR; + } + isStarted_ = true; + videoDecInputThread_ = std::make_unique(&Player::VideoDecInputThread, this); + videoDecOutputThread_ = std::make_unique(&Player::VideoDecOutputThread, this); + + if (videoDecInputThread_ == nullptr || videoDecOutputThread_ == nullptr) { + AVCODEC_SAMPLE_LOGE("Create thread failed"); + lock.unlock(); + StartRelease(); + return AVCODEC_SAMPLE_ERR_ERROR; + } + } + if (audioDecContext_) { + ret = audioDecoder_->Start(); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + AVCODEC_SAMPLE_LOGE("Audio Decoder start failed"); + lock.unlock(); + StartRelease(); + return AVCODEC_SAMPLE_ERR_ERROR; + } + isStarted_ = true; + audioDecInputThread_ = std::make_unique(&Player::AudioDecInputThread, this); + audioDecOutputThread_ = std::make_unique(&Player::AudioDecOutputThread, this); +#ifdef DEBUG_DECODE + // for debug 解码数据写入沙箱地址,物理地址为/data/app/el2/100/base/com.example.avcodecsample/haps/entry/files/ + audioOutputFile_.open("/data/storage/el2/base/haps/entry/files/audio_decode_out.pcm", + std::ios::out | std::ios::binary); +#endif + if (audioDecInputThread_ == nullptr || audioDecOutputThread_ == nullptr) { + AVCODEC_SAMPLE_LOGE("Create thread failed"); + lock.unlock(); + StartRelease(); + return AVCODEC_SAMPLE_ERR_ERROR; + } + + // 清空队列 + while (audioDecContext_ && !audioDecContext_->renderQueue.empty()) { + audioDecContext_->renderQueue.pop(); + } + if (audioRenderer_) { + OH_AudioRenderer_Start(audioRenderer_); + } + } + AVCODEC_SAMPLE_LOGI("Succeed"); + doneCond_.notify_all(); + return AVCODEC_SAMPLE_ERR_OK; +} + +void Player::SetSpeed(float multiplier) +{ + if (this->speed == multiplier) { + AVCODEC_SAMPLE_LOGE("Same speed value"); + return; + } + if (audioRenderer_) { + OH_AudioRenderer_SetSpeed(audioRenderer_, multiplier); + } + this->speed = multiplier; + if (audioDecContext_) { + audioDecContext_->speed = multiplier; + } +} + +void Player::StartRelease() +{ + AVCODEC_SAMPLE_LOGI("StartRelease"); + std::unique_lock lock(doneMutex); + doneCond_.wait(lock, [this]() { return isAudioDone.load() && isVideoDone.load(); }); + if (audioRenderer_) { + OH_AudioRenderer_Stop(audioRenderer_); + } + if (!isReleased_) { + isReleased_ = true; + Release(); + } +} + +void Player::ReleaseThread() +{ + if (videoDecInputThread_ && videoDecInputThread_->joinable()) { + videoDecInputThread_->detach(); + videoDecInputThread_.reset(); + } + if (videoDecOutputThread_ && videoDecOutputThread_->joinable()) { + videoDecOutputThread_->detach(); + videoDecOutputThread_.reset(); + } + if (audioDecInputThread_ && audioDecInputThread_->joinable()) { + audioDecInputThread_->detach(); + audioDecInputThread_.reset(); + } + if (audioDecOutputThread_ && audioDecOutputThread_->joinable()) { + audioDecOutputThread_->detach(); + audioDecOutputThread_.reset(); + } +} + +void Player::Release() +{ + std::lock_guard lock(mutex_); + isStarted_ = false; + isAudioDone = false; + isVideoDone = false; + if (audioRenderer_ != nullptr) { + OH_AudioRenderer_Release(audioRenderer_); + audioRenderer_ = nullptr; + } +#ifdef DEBUG_DECODE + if (audioOutputFile_.is_open()) { + audioOutputFile_.close(); + } +#endif + ReleaseThread(); + + if (demuxer_ != nullptr) { + demuxer_->Release(); + demuxer_.reset(); + } + if (videoDecoder_ != nullptr) { + videoDecoder_->Release(); + videoDecoder_.reset(); + } + if (videoDecContext_ != nullptr) { + delete videoDecContext_; + videoDecContext_ = nullptr; + } + if (audioDecoder_ != nullptr) { + audioDecoder_->Release(); + audioDecoder_.reset(); + } + if (audioDecContext_ != nullptr) { + delete audioDecContext_; + audioDecContext_ = nullptr; + } + outputFile_ = nullptr; + if (builder_ != nullptr) { + OH_AudioStreamBuilder_Destroy(builder_); + builder_ = nullptr; + } + doneCond_.notify_all(); + // 触发回调 + sampleInfo_.playDoneCallback(sampleInfo_.playDoneCallbackData); + // 清空队列 + while (audioDecContext_ && !audioDecContext_->renderQueue.empty()) { + audioDecContext_->renderQueue.pop(); + } + AVCODEC_SAMPLE_LOGI("Succeed"); +} + +void Player::DumpOutput(CodecBufferInfo &bufferInfo) +{ + auto &info = sampleInfo_; + if (info.codecRunMode != BUFFER) { + return; + } + if (outputFile_ == nullptr) { + auto time = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()); + // dump file /data/app/el2/100/base//haps/entry/files/haps/entry/files/ + if (info.outputFilePath.empty()) { + info.outputFilePath = "/data/storage/el2/base/haps/entry/files/VideoDecoderOut_"s + + ToString(info.pixelFormat) + "_" + std::to_string(info.videoWidth) + "_" + + std::to_string(info.videoHeight) + "_" + std::to_string(time) + ".yuv"; + } + + outputFile_ = std::make_unique(info.outputFilePath, std::ios::out | std::ios::trunc); + if (!outputFile_->is_open()) { + outputFile_ = nullptr; + AVCODEC_SAMPLE_LOGE("Output file open failed"); + return; + } + } + + uint8_t *bufferAddr = OH_AVBuffer_GetAddr(reinterpret_cast(bufferInfo.buffer)); + CHECK_AND_RETURN_LOG(bufferAddr != nullptr, "Buffer is nullptr"); + switch (info.pixelFormat) { + case AV_PIXEL_FORMAT_YUVI420: + WriteOutputFileWithStrideYUV420P(bufferAddr); + break; + case AV_PIXEL_FORMAT_NV12: + [[fallthrough]]; + case AV_PIXEL_FORMAT_NV21: + WriteOutputFileWithStrideYUV420SP(bufferAddr); + break; + case AV_PIXEL_FORMAT_RGBA: + WriteOutputFileWithStrideRGBA(bufferAddr); + break; + default: + AVCODEC_SAMPLE_LOGE("Unsupported pixel format, skip"); + break; + } +} + +void Player::WriteOutputFileWithStrideYUV420P(uint8_t *bufferAddr) +{ + CHECK_AND_RETURN_LOG(bufferAddr != nullptr, "Buffer is nullptr"); + auto &info = sampleInfo_; + int32_t videoWidth = + videoDecContext_->width * + ((info.videoCodecMime == OH_AVCODEC_MIMETYPE_VIDEO_HEVC && info.hevcProfile == HEVC_PROFILE_MAIN_10) ? 2 : 1); + int32_t &stride = videoDecContext_->widthStride; + int32_t uvWidth = videoWidth / YUV420_SAMPLE_RATIO; + int32_t uvStride = stride / YUV420_SAMPLE_RATIO; + + // copy Y + for (int32_t row = 0; row < videoDecContext_->height; row++) { + outputFile_->write(reinterpret_cast(bufferAddr), videoWidth); + bufferAddr += stride; + } + bufferAddr += (videoDecContext_->heightStride - videoDecContext_->height) * stride; + + // copy U + for (int32_t row = 0; row < (videoDecContext_->height / YUV420_SAMPLE_RATIO); row++) { + outputFile_->write(reinterpret_cast(bufferAddr), uvWidth); + bufferAddr += uvStride; + } + bufferAddr += (videoDecContext_->heightStride - videoDecContext_->height) / YUV420_SAMPLE_RATIO * uvStride; + // copy V + for (int32_t row = 0; row < (videoDecContext_->height / YUV420_SAMPLE_RATIO); row++) { + outputFile_->write(reinterpret_cast(bufferAddr), uvWidth); + bufferAddr += uvStride; + } +} + +void Player::WriteOutputFileWithStrideYUV420SP(uint8_t *bufferAddr) +{ + CHECK_AND_RETURN_LOG(bufferAddr != nullptr, "Buffer is nullptr"); + auto &info = sampleInfo_; + int32_t videoWidth = + videoDecContext_->width * + ((info.videoCodecMime == OH_AVCODEC_MIMETYPE_VIDEO_HEVC && info.hevcProfile == HEVC_PROFILE_MAIN_10) ? 2 : 1); + int32_t &stride = videoDecContext_->widthStride; + int32_t uvWidth = videoWidth / YUV420_SAMPLE_RATIO; + int32_t uvStride = stride / YUV420_SAMPLE_RATIO; + + // copy Y + for (int32_t row = 0; row < videoDecContext_->height; row++) { + outputFile_->write(reinterpret_cast(bufferAddr), videoWidth); + bufferAddr += stride; + } + bufferAddr += (videoDecContext_->heightStride - videoDecContext_->height) * stride; + + // copy U + for (int32_t row = 0; row < (videoDecContext_->height / YUV420_SAMPLE_RATIO); row++) { + outputFile_->write(reinterpret_cast(bufferAddr), uvWidth); + bufferAddr += uvStride; + } + bufferAddr += (videoDecContext_->heightStride - videoDecContext_->height) / YUV420_SAMPLE_RATIO * uvStride; + // copy V + for (int32_t row = 0; row < (videoDecContext_->height / YUV420_SAMPLE_RATIO); row++) { + outputFile_->write(reinterpret_cast(bufferAddr), uvWidth); + bufferAddr += uvStride; + } +} + +void Player::WriteOutputFileWithStrideRGBA(uint8_t *bufferAddr) +{ + CHECK_AND_RETURN_LOG(bufferAddr != nullptr, "Buffer is nullptr"); + auto &info = sampleInfo_; + int32_t width = + videoDecContext_->width * + ((info.videoCodecMime == OH_AVCODEC_MIMETYPE_VIDEO_HEVC && info.hevcProfile == HEVC_PROFILE_MAIN_10) ? 2 : 1); + int32_t &stride = videoDecContext_->widthStride; + + for (int32_t row = 0; row < videoDecContext_->heightStride; row++) { + outputFile_->write(reinterpret_cast(bufferAddr), width * 4); // 4: RGBA 4 channels + bufferAddr += stride; + } +} + +void Player::VideoDecInputThread() +{ + while (true) { + CHECK_AND_BREAK_LOG(isStarted_, "Decoder input thread out"); + std::unique_lock lock(videoDecContext_->inputMutex); + bool condRet = videoDecContext_->inputCond.wait_for( + lock, 5s, [this]() { return !isStarted_ || !videoDecContext_->inputBufferInfoQueue.empty(); }); + CHECK_AND_BREAK_LOG(isStarted_, "Work done, thread out"); + CHECK_AND_CONTINUE_LOG(!videoDecContext_->inputBufferInfoQueue.empty(), + "Buffer queue is empty, continue, cond ret: %{public}d", condRet); + + CodecBufferInfo bufferInfo = videoDecContext_->inputBufferInfoQueue.front(); + videoDecContext_->inputBufferInfoQueue.pop(); + videoDecContext_->inputFrameCount++; + lock.unlock(); + + demuxer_->ReadSample(demuxer_->GetVideoTrackId(), reinterpret_cast(bufferInfo.buffer), + bufferInfo.attr); + + int32_t ret = videoDecoder_->PushInputBuffer(bufferInfo); + CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Push data failed, thread out"); + + CHECK_AND_BREAK_LOG(!(bufferInfo.attr.flags & AVCODEC_BUFFER_FLAGS_EOS), "Catch EOS, thread out"); + } +} + +void Player::VideoDecOutputThread() +{ + sampleInfo_.frameInterval = MICROSECOND_TO_S / sampleInfo_.frameRate; + int64_t PER_SINK_TIME_THRESHOLD = MS_TO_S / sampleInfo_.frameRate * MS_TO_S; // max per sink time + while (true) { + thread_local auto lastPushTime = std::chrono::system_clock::now(); + CHECK_AND_BREAK_LOG(isStarted_, "VD Decoder output thread out"); + std::unique_lock lock(videoDecContext_->outputMutex); + bool condRet = videoDecContext_->outputCond.wait_for( + lock, 5s, [this]() { return !isStarted_ || !videoDecContext_->outputBufferInfoQueue.empty(); }); + CHECK_AND_BREAK_LOG(isStarted_, "VD Decoder output thread out"); + CHECK_AND_CONTINUE_LOG(!videoDecContext_->outputBufferInfoQueue.empty(), + "Buffer queue is empty, continue, cond ret: %{public}d", condRet); + + CodecBufferInfo bufferInfo = videoDecContext_->outputBufferInfoQueue.front(); + videoDecContext_->outputBufferInfoQueue.pop(); + CHECK_AND_BREAK_LOG(!(bufferInfo.attr.flags & AVCODEC_BUFFER_FLAGS_EOS), "Catch EOS, thread out"); + videoDecContext_->outputFrameCount++; + AVCODEC_SAMPLE_LOGW("Out buffer count: %{public}u, size: %{public}d, flag: %{public}u, pts: %{public}" PRId64, + videoDecContext_->outputFrameCount, bufferInfo.attr.size, bufferInfo.attr.flags, + bufferInfo.attr.pts); + lock.unlock(); + + if (!audioDecContext_) { + DumpOutput(bufferInfo); + int32_t ret = + videoDecoder_->FreeOutputBuffer(bufferInfo.bufferIndex, !sampleInfo_.codecRunMode, GetCurrentTime()); + CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Decoder output thread out"); + this->speed == 1 ? sampleInfo_.frameInterval = MICROSECOND_TO_S / sampleInfo_.frameRate + : this->speed == DOUBLE_SPEED_MULTIPLIER ? sampleInfo_.frameInterval = + MICROSECOND_TO_S / sampleInfo_.frameRate / DOUBLE_SPEED_MULTIPLIER + : sampleInfo_.frameInterval = + MICROSECOND_TO_S / sampleInfo_.frameRate / TRIPLE_SPEED_MULTIPLIER; + std::this_thread::sleep_until(lastPushTime + std::chrono::microseconds(sampleInfo_.frameInterval)); + lastPushTime = std::chrono::system_clock::now(); + } else { + // get audio render position + int64_t framePosition = 0; + int64_t timestamp = 0; + int32_t ret = OH_AudioRenderer_GetTimestamp(audioRenderer_, CLOCK_MONOTONIC, &framePosition, ×tamp); + AVCODEC_SAMPLE_LOGI("VD framePosition: %{public}li, nowTimeStamp: %{public}li", framePosition, + nowTimeStamp); + audioTimeStamp = timestamp; // ns + // audio render getTimeStamp error, render it + if (ret != AUDIOSTREAM_SUCCESS || (timestamp == 0) || (framePosition == 0)) { + DumpOutput(bufferInfo); + // first frame, render without wait + ret = videoDecoder_->FreeOutputBuffer(bufferInfo.bufferIndex, sampleInfo_.codecRunMode ? false : true, + GetCurrentTime()); + CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Decoder output thread out"); + std::this_thread::sleep_until(lastPushTime + std::chrono::microseconds(sampleInfo_.frameInterval)); + lastPushTime = std::chrono::system_clock::now(); + continue; + } + // after seek, audio render flush, framePosition = 0, then writtenSampleCnt = 0 + int64_t latency = (audioDecContext_->frameWrittenForSpeed - framePosition) * 1000 * 1000 / + sampleInfo_.audioSampleRate / speed; + AVCODEC_SAMPLE_LOGI("VD latency: %{public}li writtenSampleCnt: %{public}li", latency, writtenSampleCnt); + + nowTimeStamp = GetCurrentTime(); + int64_t anchorDiff = (nowTimeStamp - audioTimeStamp) / 1000; + + // us, audio buffer accelerate render time + int64_t audioPlayedTime = audioDecContext_->currentPosAudioBufferPts - latency + anchorDiff; + // us, video buffer expected render time + int64_t videoPlayedTime = bufferInfo.attr.pts; + + // audio render timestamp and now timestamp diff + int64_t waitTimeUs = videoPlayedTime - audioPlayedTime; // us + + AVCODEC_SAMPLE_LOGI("VD bufferInfo.bufferIndex: %{public}li", bufferInfo.bufferIndex); + AVCODEC_SAMPLE_LOGI( + "VD audioPlayedTime: %{public}li, videoPlayedTime: %{public}li, nowTimeStamp_:{public}ld, " + "audioTimeStamp_ :{public}ld, waitTimeUs :{public}ld, anchordiff :%{public}ld", + audioPlayedTime, videoPlayedTime, nowTimeStamp, audioTimeStamp, waitTimeUs, anchorDiff); + + bool dropFrame = false; + + // video buffer is too late, drop it + if (waitTimeUs < WAIT_TIME_US_THRESHOLD_WARNING) { + dropFrame = true; + AVCODEC_SAMPLE_LOGI("VD buffer is too late"); + } else { + AVCODEC_SAMPLE_LOGE("VD buffer is too early waitTimeUs:%{public}ld", waitTimeUs); + // [0, ), render it wait waitTimeUs, max 1s + // [-40, 0), render it + if (waitTimeUs > WAIT_TIME_US_THRESHOLD) { + waitTimeUs = WAIT_TIME_US_THRESHOLD; + } + // per frame render time reduced by 33ms + if (waitTimeUs > sampleInfo_.frameInterval + PER_SINK_TIME_THRESHOLD) { + waitTimeUs = sampleInfo_.frameInterval + PER_SINK_TIME_THRESHOLD; + AVCODEC_SAMPLE_LOGE("VD buffer is too early and reduced 33ms, waitTimeUs: %{public}ld", waitTimeUs); + } + } + + if (static_cast(waitTimeUs) > VSYNC_TIME * LIP_SYNC_BALANCE_VALUE) { + std::this_thread::sleep_for(std::chrono::microseconds( + static_cast(static_cast(waitTimeUs) - VSYNC_TIME * LIP_SYNC_BALANCE_VALUE))); + } + + DumpOutput(bufferInfo); + ret = videoDecoder_->FreeOutputBuffer(bufferInfo.bufferIndex, sampleInfo_.codecRunMode ? false : !dropFrame, + VSYNC_TIME * LIP_SYNC_BALANCE_VALUE * MS_TO_S + GetCurrentTime()); + CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Decoder output thread freeOutputBuffer error"); + } + } + + writtenSampleCnt = 0; + audioBufferPts = 0; + std::unique_lock lock(doneMutex); + isVideoDone.store(true); + lock.unlock(); + doneCond_.notify_all(); + StartRelease(); +} + +void Player::AudioDecInputThread() +{ + while (true) { + CHECK_AND_BREAK_LOG(isStarted_, "Decoder input thread out"); + std::unique_lock lock(audioDecContext_->inputMutex); + bool condRet = audioDecContext_->inputCond.wait_for( + lock, 5s, [this]() { return !isStarted_ || !audioDecContext_->inputBufferInfoQueue.empty(); }); + CHECK_AND_BREAK_LOG(isStarted_, "Work done, thread out"); + CHECK_AND_CONTINUE_LOG(!audioDecContext_->inputBufferInfoQueue.empty(), + "Buffer queue is empty, continue, cond ret: %{public}d", condRet); + + CodecBufferInfo bufferInfo = audioDecContext_->inputBufferInfoQueue.front(); + audioDecContext_->inputBufferInfoQueue.pop(); + audioDecContext_->inputFrameCount++; + lock.unlock(); + + demuxer_->ReadSample(demuxer_->GetAudioTrackId(), reinterpret_cast(bufferInfo.buffer), + bufferInfo.attr); + + int32_t ret = audioDecoder_->PushInputBuffer(bufferInfo); + CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Push data failed, thread out"); + + CHECK_AND_BREAK_LOG(!(bufferInfo.attr.flags & AVCODEC_BUFFER_FLAGS_EOS), "Catch EOS, thread out"); + } +} + +void Player::AudioDecOutputThread() +{ + while (true) { + CHECK_AND_BREAK_LOG(isStarted_, "Decoder output thread out"); + std::unique_lock lock(audioDecContext_->outputMutex); + bool condRet = audioDecContext_->outputCond.wait_for( + lock, 5s, [this]() { return !isStarted_ || !audioDecContext_->outputBufferInfoQueue.empty(); }); + CHECK_AND_BREAK_LOG(isStarted_, "Decoder output thread out"); + CHECK_AND_CONTINUE_LOG(!audioDecContext_->outputBufferInfoQueue.empty(), + "Buffer queue is empty, continue, cond ret: %{public}d", condRet); + + CodecBufferInfo bufferInfo = audioDecContext_->outputBufferInfoQueue.front(); + audioDecContext_->outputBufferInfoQueue.pop(); + CHECK_AND_BREAK_LOG(!(bufferInfo.attr.flags & AVCODEC_BUFFER_FLAGS_EOS), "Catch EOS, thread out"); + audioDecContext_->outputFrameCount++; + AVCODEC_SAMPLE_LOGW("Out buffer count: %{public}u, size: %{public}d, flag: %{public}u, pts: %{public}" PRId64, + audioDecContext_->outputFrameCount, bufferInfo.attr.size, bufferInfo.attr.flags, + bufferInfo.attr.pts); + uint8_t *source = OH_AVBuffer_GetAddr(reinterpret_cast(bufferInfo.buffer)); + // 将解码后的PMC数据放入队列中 + for (int i = 0; i < bufferInfo.attr.size; i++) { + audioDecContext_->renderQueue.push(*(source + i)); + } +#ifdef DEBUG_DECODE + if (audioOutputFile_.is_open()) { + audioOutputFile_.write( + (const char *)OH_AVBuffer_GetAddr(reinterpret_cast(bufferInfo.buffer)), + bufferInfo.attr.size); + } +#endif + lock.unlock(); + + int32_t ret = audioDecoder_->FreeOutputBuffer(bufferInfo.bufferIndex, true); + CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Decoder output thread out"); + + // SAMPLE_S16LE 2 bytes per frame + // if set speed, cnt / speed + writtenSampleCnt += (bufferInfo.attr.size / sampleInfo_.audioChannelCount / BYTES_PER_SAMPLE_2); + AVCODEC_SAMPLE_LOGI("writtenSampleCnt_: %{public}ld, bufferInfo.attr.size: %{public}i, " + "sampleInfo_.audioChannelCount: %{public}i", + writtenSampleCnt, bufferInfo.attr.size, sampleInfo_.audioChannelCount); + audioBufferPts = bufferInfo.attr.pts; + audioDecContext_->endPosAudioBufferPts = audioBufferPts; + + std::unique_lock lockRender(audioDecContext_->renderMutex); + audioDecContext_->renderCond.wait_for(lockRender, 20ms, [this, bufferInfo]() { + return audioDecContext_->renderQueue.size() < BALANCE_VALUE * bufferInfo.attr.size; + }); + } + std::unique_lock lockRender(audioDecContext_->renderMutex); + audioDecContext_->renderCond.wait_for(lockRender, 500ms, + [this]() { return audioDecContext_->renderQueue.size() < 1; }); + AVCODEC_SAMPLE_LOGI("Out buffer end"); + std::unique_lock lock(doneMutex); + isAudioDone = true; + lock.unlock(); + doneCond_.notify_all(); + StartRelease(); +} + +int64_t Player::GetCurrentTime() +{ + auto now = std::chrono::steady_clock::now(); + auto now_ns = std::chrono::time_point_cast(now); + return now_ns.time_since_epoch().count(); +} diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/Player.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/Player.h new file mode 100644 index 0000000000000000000000000000000000000000..1b8dfee36bc57c295d60bdb379757a8c00e435a6 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/Player.h @@ -0,0 +1,105 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIDEO_CODEC_PLAYER_H +#define VIDEO_CODEC_PLAYER_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "video_decoder.h" +#include "audio_decoder.h" +#include "multimedia/player_framework/native_avbuffer.h" +#include "demuxer.h" +#include "sample_info.h" +#include "plugin_manager.h" + +class Player { +public: + Player(){}; + ~Player(); + + static Player& GetInstance() + { + static Player player; + return player; + } + + int32_t Init(SampleInfo &sampleInfo); + int32_t Start(); + void SetSpeed(float multiplier); + +private: + void VideoDecInputThread(); + void VideoDecOutputThread(); + void AudioDecInputThread(); + void AudioDecOutputThread(); + void Release(); + void StartRelease(); + void ReleaseThread(); + int32_t CreateAudioDecoder(); + int32_t CreateVideoDecoder(); + int64_t GetCurrentTime(); + void DumpOutput(CodecBufferInfo &bufferInfo); + void WriteOutputFileWithStrideYUV420P(uint8_t *bufferAddr); + void WriteOutputFileWithStrideYUV420SP(uint8_t *bufferAddr); + void WriteOutputFileWithStrideRGBA(uint8_t *bufferAddr); + int32_t HandleInitError(std::unique_lock& outerLock); + + std::unique_ptr outputFile_ = nullptr; + std::unique_ptr videoDecoder_ = nullptr; + std::shared_ptr audioDecoder_ = nullptr; + std::unique_ptr demuxer_ = nullptr; + + std::mutex mutex_; + std::atomic isStarted_ { false }; + std::atomic isReleased_ { false }; + std::atomic isAudioDone { false }; + std::atomic isVideoDone { false }; + std::unique_ptr videoDecInputThread_ = nullptr; + std::unique_ptr videoDecOutputThread_ = nullptr; + std::unique_ptr audioDecInputThread_ = nullptr; + std::unique_ptr audioDecOutputThread_ = nullptr; + std::condition_variable doneCond_; + std::mutex doneMutex; + SampleInfo sampleInfo_; + CodecUserData *videoDecContext_ = nullptr; + CodecUserData *audioDecContext_ = nullptr; + OH_AudioStreamBuilder* builder_ = nullptr; + OH_AudioRenderer* audioRenderer_ = nullptr; + + int64_t nowTimeStamp = 0; + int64_t audioTimeStamp = 0; + int64_t writtenSampleCnt = 0; + int64_t audioBufferPts = 0; +#ifdef DEBUG_DECODE + std::ofstream audioOutputFile_; // for debug +#endif + static constexpr int64_t MICROSECOND_TO_S = 1000000; + static constexpr int64_t NANO_TO_S = 1000000000; + + float speed = 1.0f; +}; + +#endif // VIDEO_CODEC_PLAYER_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/PlayerNative.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/PlayerNative.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1320c692c140980cd888799b6987f6c2ee85d44f --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/PlayerNative.cpp @@ -0,0 +1,122 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "PlayerNative.h" +#include "dfx/error/av_codec_sample_error.h" + +#undef LOG_DOMAIN +#undef LOG_TAG +#define LOG_DOMAIN 0xFF00 +#define LOG_TAG "player" + +struct CallbackContext { + napi_env env = nullptr; + napi_ref callbackRef = nullptr; +}; + +void Callback(void *asyncContext) +{ + uv_loop_s *loop = nullptr; + CallbackContext *context = (CallbackContext *)asyncContext; + napi_get_uv_event_loop(context->env, &loop); + uv_work_t *work = new uv_work_t; + work->data = context; + uv_queue_work( + loop, work, [](uv_work_t *work) {}, + [](uv_work_t *work, int status) { + CallbackContext *context = (CallbackContext *)work->data; + napi_handle_scope scope = nullptr; + // 管理 napi_value 的生命周期,防止内存泄露 + napi_open_handle_scope(context->env, &scope); + napi_value callback = nullptr; + napi_get_reference_value(context->env, context->callbackRef, &callback); + // 回调至UI侧 + napi_call_function(context->env, nullptr, callback, 0, nullptr, nullptr); + napi_close_handle_scope(context->env, scope); + delete context; + delete work; + }); +} + +napi_value PlayerNative::SetPlaybackSpeed(napi_env env, napi_callback_info info) +{ + double speed; + size_t argc = 1; + napi_value args[1] = {nullptr}; + napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); + + napi_get_value_double(env, args[0], &speed); + Player::GetInstance().SetSpeed(static_cast(speed)); + return nullptr; +} + +napi_value PlayerNative::Play(napi_env env, napi_callback_info info) +{ + SampleInfo sampleInfo; + size_t argc = 6; // 参数个数,这里ArkTS往native测传递了四个参数,故此处赋值为4 + napi_value args[6] = {nullptr}; // napi_value类型数组,用于存储接收的ArkTS侧参数 + napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); // 从info中获取参数信息到参数数组args[] + + int index = 0; + napi_get_value_int32(env, args[index++], &sampleInfo.inputFd); + napi_get_value_int64(env, args[index++], &sampleInfo.inputFileOffset); + napi_get_value_int64(env, args[index++], &sampleInfo.inputFileSize); + napi_get_value_int32(env, args[index++], &sampleInfo.codecType); + napi_get_value_int32(env, args[index++], &sampleInfo.codecRunMode); + + auto asyncContext = new CallbackContext(); + asyncContext->env = env; + napi_create_reference(env, args[index], 1, &asyncContext->callbackRef); + + sampleInfo.playDoneCallback = &Callback; + sampleInfo.playDoneCallbackData = asyncContext; + int32_t ret = Player::GetInstance().Init(sampleInfo); + if(ret == AVCODEC_SAMPLE_ERR_OK) { + Player::GetInstance().Start(); + } + return nullptr; +} + +EXTERN_C_START +static napi_value Init(napi_env env, napi_value exports) +{ + napi_property_descriptor classProp[] = { + {"playNative", nullptr, PlayerNative::Play, nullptr, nullptr, nullptr, napi_default, nullptr}, + {"setPlaybackSpeed", nullptr, PlayerNative::SetPlaybackSpeed, nullptr, nullptr, nullptr, napi_default, nullptr}, + }; + + NativeXComponentSample::PluginManager::GetInstance()->Export(env, exports); + napi_define_properties(env, exports, sizeof(classProp) / sizeof(classProp[0]), classProp); + return exports; +} +EXTERN_C_END + +static napi_module PlayerModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "player", + .nm_priv = ((void *)0), + .reserved = { 0 }, +}; + +extern "C" __attribute__((constructor)) void RegisterPlayerModule(void) +{ + napi_module_register(&PlayerModule); +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/PlayerNative.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/PlayerNative.h new file mode 100644 index 0000000000000000000000000000000000000000..cf3f3150763d72751e77e795b23a9405403440d8 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/player/PlayerNative.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIDEO_CODEC_SAMPLE_PLAYER_NATIVE_H +#define VIDEO_CODEC_SAMPLE_PLAYER_NATIVE_H + +#include "Player.h" +#include "av_codec_sample_log.h" +#include "dfx/error/av_codec_sample_error.h" +#include "napi/native_api.h" +#include "plugin_manager.h" +#include +#include +#include +#include + +class PlayerNative { +public: + static napi_value Play(napi_env env, napi_callback_info info); + static napi_value SetPlaybackSpeed(napi_env env, napi_callback_info info); +}; +#endif // VIDEO_CODEC_SAMPLE_PLAYER_NATIVE_H \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/Recorder.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/Recorder.cpp new file mode 100644 index 0000000000000000000000000000000000000000..592b17fb66f61cac623aa5d97d3c6ae4f507da3c --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/Recorder.cpp @@ -0,0 +1,185 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Recorder.h" +#include +#include "av_codec_sample_log.h" +#include "dfx/error/av_codec_sample_error.h" + +#undef LOG_TAG +#define LOG_TAG "recorder" + +namespace { +using namespace std::chrono_literals; +constexpr int64_t MICROSECOND = 1000000; +} + +Recorder::~Recorder() { StartRelease(); } + +int32_t Recorder::Init(SampleInfo &sampleInfo) +{ + std::lock_guard lock(mutex_); + CHECK_AND_RETURN_RET_LOG(!isStarted_, AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + CHECK_AND_RETURN_RET_LOG(videoEncoder_ == nullptr && muxer_ == nullptr, + AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + + sampleInfo_ = sampleInfo; + + videoEncoder_ = std::make_unique(); + muxer_ = std::make_unique(); + + int32_t ret = videoEncoder_->Create(sampleInfo_.videoCodecMime); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Create video encoder failed"); + ret = muxer_->Create(sampleInfo_.outputFd); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Create muxer with fd(%{public}d) failed", + sampleInfo_.outputFd); + + encContext_ = new CodecUserData; + ret = videoEncoder_->Config(sampleInfo_, encContext_); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Encoder config failed"); + + ret = muxer_->Config(sampleInfo_); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Recorder muxer config failed"); + + sampleInfo.window = sampleInfo_.window; + + releaseThread_ = nullptr; + AVCODEC_SAMPLE_LOGI("Succeed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Recorder::Start() +{ + std::lock_guard lock(mutex_); + CHECK_AND_RETURN_RET_LOG(!isStarted_, AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + CHECK_AND_RETURN_RET_LOG(encContext_ != nullptr, AVCODEC_SAMPLE_ERR_ERROR, + "Already started."); + CHECK_AND_RETURN_RET_LOG(videoEncoder_ != nullptr && muxer_ != nullptr, + AVCODEC_SAMPLE_ERR_ERROR, "Already started."); + + int32_t ret = muxer_->Start(); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Muxer start failed"); + ret = videoEncoder_->Start(); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Encoder start failed"); + + isStarted_ = true; + encOutputThread_ = std::make_unique(&Recorder::EncOutputThread, this); + if (encOutputThread_ == nullptr) { + AVCODEC_SAMPLE_LOGE("Create thread failed"); + StartRelease(); + return AVCODEC_SAMPLE_ERR_ERROR; + } + + AVCODEC_SAMPLE_LOGI("Succeed"); + return AVCODEC_SAMPLE_ERR_OK; +} + +void Recorder::EncOutputThread() +{ + while (true) { + CHECK_AND_BREAK_LOG(isStarted_, "Work done, thread out"); + std::unique_lock lock(encContext_->outputMutex); + bool condRet = encContext_->outputCond.wait_for( + lock, 5s, [this]() { return !isStarted_ || !encContext_->outputBufferInfoQueue.empty(); }); + CHECK_AND_BREAK_LOG(isStarted_, "Work done, thread out"); + CHECK_AND_CONTINUE_LOG(!encContext_->outputBufferInfoQueue.empty(), + "Buffer queue is empty, continue, cond ret: %{public}d", condRet); + + CodecBufferInfo bufferInfo = encContext_->outputBufferInfoQueue.front(); + encContext_->outputBufferInfoQueue.pop(); + CHECK_AND_BREAK_LOG(!(bufferInfo.attr.flags & AVCODEC_BUFFER_FLAGS_EOS), "Catch EOS, thread out"); + lock.unlock(); + if ((bufferInfo.attr.flags & AVCODEC_BUFFER_FLAGS_SYNC_FRAME) || + (bufferInfo.attr.flags == AVCODEC_BUFFER_FLAGS_NONE)) { + encContext_->outputFrameCount++; + bufferInfo.attr.pts = encContext_->outputFrameCount * MICROSECOND / sampleInfo_.frameRate; + } else { + bufferInfo.attr.pts = 0; + } + + AVCODEC_SAMPLE_LOGW("Out buffer count: %{public}u, size: %{public}d, flag: %{public}u, pts: %{public}" PRId64, + encContext_->outputFrameCount, bufferInfo.attr.size, bufferInfo.attr.flags, + bufferInfo.attr.pts); + + muxer_->WriteSample(reinterpret_cast(bufferInfo.buffer), bufferInfo.attr); + int32_t ret = videoEncoder_->FreeOutputBuffer(bufferInfo.bufferIndex); + CHECK_AND_BREAK_LOG(ret == AVCODEC_SAMPLE_ERR_OK, "Encoder output thread out"); + } + AVCODEC_SAMPLE_LOGI("Exit, frame count: %{public}u", encContext_->outputFrameCount); + StartRelease(); +} + +void Recorder::StartRelease() +{ + if (releaseThread_ == nullptr) { + AVCODEC_SAMPLE_LOGI("Start release CodecTest"); + releaseThread_ = std::make_unique(&Recorder::Release, this); + } +} + +void Recorder::Release() +{ + std::lock_guard lock(mutex_); + isStarted_ = false; + if (encOutputThread_ && encOutputThread_->joinable()) { + encOutputThread_->join(); + encOutputThread_.reset(); + } + if (muxer_ != nullptr) { + muxer_->Release(); + muxer_.reset(); + AVCODEC_SAMPLE_LOGI("Muxer release successful"); + } + if (videoEncoder_ != nullptr) { + videoEncoder_->Stop(); + if (sampleInfo_.window != nullptr) { + OH_NativeWindow_DestroyNativeWindow(sampleInfo_.window); + sampleInfo_.window = nullptr; + } + videoEncoder_->Release(); + videoEncoder_.reset(); + AVCODEC_SAMPLE_LOGI("Video encoder release successful"); + } + + if (encContext_ != nullptr) { + delete encContext_; + encContext_ = nullptr; + } + doneCond_.notify_all(); + AVCODEC_SAMPLE_LOGI("Succeed"); +} + +int32_t Recorder::WaitForDone() +{ + AVCODEC_SAMPLE_LOGI("Wait called"); + std::unique_lock lock(mutex_); + doneCond_.wait(lock); + if (releaseThread_ && releaseThread_->joinable()) { + releaseThread_->join(); + releaseThread_.reset(); + } + AVCODEC_SAMPLE_LOGI("Done"); + return AVCODEC_SAMPLE_ERR_OK; +} + +int32_t Recorder::Stop() +{ + int32_t ret = videoEncoder_->NotifyEndOfStream(); + CHECK_AND_RETURN_RET_LOG(ret == AVCODEC_SAMPLE_ERR_OK, ret, "Encoder notifyEndOfStream failed"); + return WaitForDone(); +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/Recorder.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/Recorder.h new file mode 100644 index 0000000000000000000000000000000000000000..afd30eb8a79ec5cfd2debb42c6e4490fc95afd52 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/Recorder.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIDEO_CODEC_SAMPLE_RECODER_H +#define VIDEO_CODEC_SAMPLE_RECODER_H + +#include +#include +#include +#include +#include +#include +#include "video_encoder.h" +#include "muxer.h" +#include "sample_info.h" + +class Recorder { +public: + Recorder(){}; + ~Recorder(); + + static Recorder &GetInstance() + { + static Recorder recorder; + return recorder; + } + + int32_t Init(SampleInfo &sampleInfo); + int32_t Start(); + int32_t Stop(); + +private: + void EncOutputThread(); + void Release(); + void StartRelease(); + int32_t WaitForDone(); + + std::unique_ptr videoEncoder_ = nullptr; + std::unique_ptr muxer_ = nullptr; + + std::mutex mutex_; + std::atomic isStarted_{false}; + std::unique_ptr encOutputThread_ = nullptr; + std::unique_ptr releaseThread_ = nullptr; + std::condition_variable doneCond_; + SampleInfo sampleInfo_; + CodecUserData *encContext_ = nullptr; +}; + +#endif // VIDEO_CODEC_SAMPLE_RECODER_H diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/RecorderNative.cpp b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/RecorderNative.cpp new file mode 100644 index 0000000000000000000000000000000000000000..53fd09238ab35daeecdcac295b910f83cb896dda --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/RecorderNative.cpp @@ -0,0 +1,196 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "RecorderNative.h" +#include + +#undef LOG_DOMAIN +#undef LOG_TAG +#define LOG_DOMAIN 0xFF00 +#define LOG_TAG "recorder" + +struct AsyncCallbackInfo { + napi_env env; + napi_async_work asyncWork; + napi_deferred deferred; + int32_t resultCode = 0; + std::string surfaceId = ""; + SampleInfo sampleInfo; +}; + +void DealCallBack(napi_env env, void *data) +{ + AsyncCallbackInfo *asyncCallbackInfo = static_cast(data); + napi_value code; + napi_create_int32(env, asyncCallbackInfo->resultCode, &code); + napi_value surfaceId; + napi_create_string_utf8(env, asyncCallbackInfo->surfaceId.data(), NAPI_AUTO_LENGTH, &surfaceId); + napi_value obj; + napi_create_object(env, &obj); + + napi_set_named_property(env, obj, "code", code); + napi_set_named_property(env, obj, "surfaceId", surfaceId); + napi_resolve_deferred(asyncCallbackInfo->env, asyncCallbackInfo->deferred, obj); + napi_delete_async_work(env, asyncCallbackInfo->asyncWork); + delete asyncCallbackInfo; +} + +void SetCallBackResult(AsyncCallbackInfo *asyncCallbackInfo, int32_t code) +{ + asyncCallbackInfo->resultCode = code; +} + +void SurfaceIdCallBack(AsyncCallbackInfo *asyncCallbackInfo, std::string surfaceId) +{ + asyncCallbackInfo->surfaceId = surfaceId; +} + +void NativeInit(napi_env env, void *data) +{ + AsyncCallbackInfo *asyncCallbackInfo = static_cast(data); + int32_t ret = Recorder::GetInstance().Init(asyncCallbackInfo->sampleInfo); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + SetCallBackResult(asyncCallbackInfo, -1); + } + + uint64_t id = 0; + ret = OH_NativeWindow_GetSurfaceId(asyncCallbackInfo->sampleInfo.window, &id); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + SetCallBackResult(asyncCallbackInfo, -1); + } + asyncCallbackInfo->surfaceId = std::to_string(id); + SurfaceIdCallBack(asyncCallbackInfo, asyncCallbackInfo->surfaceId); +} + +napi_value RecorderNative::Init(napi_env env, napi_callback_info info) +{ + int32_t two = 2; + int32_t three = 3; + int32_t four = 4; + int32_t five = 5; + int32_t six = 6; + SampleInfo sampleInfo; + size_t argc = 7; + napi_value args[7] = {nullptr}; + napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); + + napi_get_value_int32(env, args[0], &sampleInfo.outputFd); + char videoCodecMime[20] = {0}; + size_t videoCodecMimeStrlen = 0; + size_t len = 20; + napi_get_value_string_utf8(env, args[1], videoCodecMime, len, &videoCodecMimeStrlen); + napi_get_value_int32(env, args[two], &sampleInfo.videoWidth); + napi_get_value_int32(env, args[three], &sampleInfo.videoHeight); + napi_get_value_double(env, args[four], &sampleInfo.frameRate); + napi_get_value_int32(env, args[five], &sampleInfo.isHDRVivid); + napi_get_value_int64(env, args[six], &sampleInfo.bitrate); + sampleInfo.videoCodecMime = videoCodecMime; + + if (sampleInfo.isHDRVivid) { + sampleInfo.hevcProfile = HEVC_PROFILE_MAIN_10; + } + + napi_value promise; + napi_deferred deferred; + napi_create_promise(env, &deferred, &promise); + + AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo(); + + asyncCallbackInfo->env = env; + asyncCallbackInfo->asyncWork = nullptr; + asyncCallbackInfo->deferred = deferred; + asyncCallbackInfo->resultCode = -1; + asyncCallbackInfo->sampleInfo = sampleInfo; + + napi_value resourceName; + napi_create_string_latin1(env, "recorder", NAPI_AUTO_LENGTH, &resourceName); + napi_create_async_work( + env, nullptr, resourceName, [](napi_env env, void *data) { NativeInit(env, data); }, + [](napi_env env, napi_status status, void *data) { DealCallBack(env, data); }, (void *)asyncCallbackInfo, + &asyncCallbackInfo->asyncWork); + napi_queue_async_work(env, asyncCallbackInfo->asyncWork); + return promise; +} + +napi_value RecorderNative::Start(napi_env env, napi_callback_info info) +{ + Recorder::GetInstance().Start(); + return nullptr; +} + +void NativeStop(napi_env env, void *data) +{ + AsyncCallbackInfo *asyncCallbackInfo = static_cast(data); + int32_t ret = Recorder::GetInstance().Stop(); + if (ret != AVCODEC_SAMPLE_ERR_OK) { + SetCallBackResult(asyncCallbackInfo, -1); + } + SetCallBackResult(asyncCallbackInfo, 0); +} + +napi_value RecorderNative::Stop(napi_env env, napi_callback_info info) +{ + napi_value promise; + napi_deferred deferred; + napi_create_promise(env, &deferred, &promise); + + AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo(); + + asyncCallbackInfo->env = env; + asyncCallbackInfo->asyncWork = nullptr; + asyncCallbackInfo->deferred = deferred; + + napi_value resourceName; + napi_create_string_latin1(env, "recorder", NAPI_AUTO_LENGTH, &resourceName); + napi_create_async_work( + env, nullptr, resourceName, [](napi_env env, void *data) { NativeStop(env, data); }, + [](napi_env env, napi_status status, void *data) { DealCallBack(env, data); }, (void *)asyncCallbackInfo, + &asyncCallbackInfo->asyncWork); + napi_queue_async_work(env, asyncCallbackInfo->asyncWork); + return promise; +} + +EXTERN_C_START +static napi_value Init(napi_env env, napi_value exports) +{ + napi_property_descriptor classProp[] = { + {"initNative", nullptr, RecorderNative::Init, nullptr, nullptr, nullptr, napi_default, nullptr}, + {"startNative", nullptr, RecorderNative::Start, nullptr, nullptr, nullptr, napi_default, nullptr}, + {"stopNative", nullptr, RecorderNative::Stop, nullptr, nullptr, nullptr, napi_default, nullptr}, + }; + + napi_value RecorderNative = nullptr; + const char *classBindName = "recorderNative"; + napi_define_class(env, classBindName, strlen(classBindName), nullptr, nullptr, 1, classProp, &RecorderNative); + napi_define_properties(env, exports, sizeof(classProp) / sizeof(classProp[0]), classProp); + return exports; +} +EXTERN_C_END + +static napi_module RecorderModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "recorder", + .nm_priv = ((void *)0), + .reserved = {0}, +}; + + +extern "C" __attribute__((constructor)) void RegisterRecorderModule(void) { napi_module_register(&RecorderModule); } diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/RecorderNative.h b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/RecorderNative.h new file mode 100644 index 0000000000000000000000000000000000000000..49e263655cff57125bc0ee9cb895df24291e5523 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/sample/recorder/RecorderNative.h @@ -0,0 +1,38 @@ +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. + */ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef VIDEO_CODEC_SAMPLE_RECODER_NATIVE_H +#define VIDEO_CODEC_SAMPLE_RECODER_NATIVE_H + +#include +#include +#include +#include +#include "napi/native_api.h" +#include "Recorder.h" +#include "dfx/error/av_codec_sample_error.h" +#include "av_codec_sample_log.h" + +class RecorderNative { +public: + static napi_value Init(napi_env env, napi_callback_info info); + static napi_value Start(napi_env env, napi_callback_info info); + static napi_value Stop(napi_env env, napi_callback_info info); +}; + +#endif // VIDEO_CODEC_SAMPLE_RECODER_NATIVE_H diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/libplayer/index.d.ts b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/libplayer/index.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..a6748b6da4929ba3e808947ff4bf20fe33628523 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/libplayer/index.d.ts @@ -0,0 +1,12 @@ +export const playNative: ( + inputFileFd: number, + inputFileOffset: number, + inputFileSize: number, + videoDecoderType: number, + videoDecoderRunMode: number, + cbFn: () => void +) => void + +export const setPlaybackSpeed: ( + speed: number, +) => void \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/libplayer/oh-package.json5 b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/libplayer/oh-package.json5 new file mode 100644 index 0000000000000000000000000000000000000000..31f8de6b1f5a2dd14e1514cba2ad0a50f8b44a80 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/libplayer/oh-package.json5 @@ -0,0 +1,6 @@ +{ + "name": "libplayer.so", + "types": "./index.d.ts", + "version": "1.0.0", + "decription": "Player interface." +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/librecorder/index.d.ts b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/librecorder/index.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..2b4535ba3a362934910f5ea161bd716a2ecd7581 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/librecorder/index.d.ts @@ -0,0 +1,11 @@ +export const initNative: (fd: number, videoCodecMime: string, width: number, height: number, + frameRate: number, isHDRVivid: number, bitRate: number) => Promise + +export const startNative: () => void + +export const stopNative: () => Promise + +export class Response { + code: number + surfaceId: string +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/librecorder/oh-package.json5 b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/librecorder/oh-package.json5 new file mode 100644 index 0000000000000000000000000000000000000000..ac38b7ee914f4718f4f9fd3bdd5d8f64097a333e --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/cpp/types/librecorder/oh-package.json5 @@ -0,0 +1,6 @@ +{ + "name": "librecorder.so", + "types": "./index.d.ts", + "version": "1.0.0", + "decription": "Recorder interface." +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/CommonConstants.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/CommonConstants.ets new file mode 100644 index 0000000000000000000000000000000000000000..8024be2be74130de7bc789ac929798fb4ac87427 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/CommonConstants.ets @@ -0,0 +1,188 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { camera } from '@kit.CameraKit'; + +export class CommonConstants { + /** + * Full size. + */ + static readonly FULL_SIZE: string = '100%' + /** + * Default width. + */ + static readonly DEFAULT_WIDTH: number = 1920 + /** + * Default height. + */ + static readonly DEFAULT_HEIGHT: number = 1080 + /** + * Button width. + */ + static readonly BUTTON_WIDTH: number = 100 + /** + * Duration. + */ + static readonly DURATION: number = 2000 + /** + * The distance between toast dialog box and the bottom of screen. + */ + static readonly BOTTOM: number = 200 + /** + * Image width. + */ + static readonly IMAGE_WIDTH: number = 50 + /** + * Image height. + */ + static readonly IMAGE_HEIGHT: number = 50 + /** + * Video mime type. + */ + static readonly VIDEO_MIMETYPE: string[] = ['HDRVivid', 'H264', 'H265'] + /** + * Video resolution. + */ + static readonly VIDEO_RESOLUTION: string[] = ['4K', '1080P', '720P'] + /** + * Video framerate. + */ + static readonly VIDEO_FRAMERATE: string[] = ['30Fps', '60Fps'] + /** + * Video decode type (hardware vs software). + */ + static readonly VIDEO_DECODE_TYPE: string[] = ['Auto', 'Hardware', 'Software']; + /** + * Video decoder run modes. + * + * - SurfaceMode: Decoder outputs directly to rendering surface + * - BufferMode: Decoder outputs to memory buffers + */ + static readonly VIDEO_DECODER_RUN_MODE: string[] = ['SurfaceMode', 'BufferMode']; + /** + * Video playerInfo. + */ + static readonly PLAYER_INFO: string[][] = [ + CommonConstants.VIDEO_DECODE_TYPE, CommonConstants.VIDEO_DECODER_RUN_MODE + ]; + /** + * Video recorderInfo. + */ + static readonly RECORDER_INFO: string[][] = [ + CommonConstants.VIDEO_MIMETYPE, CommonConstants.VIDEO_RESOLUTION, CommonConstants.VIDEO_FRAMERATE + ] + /** + * Playback speed. + */ + static readonly PLAYBACK_SPEED: string[] = ['X1', 'X2', 'X3'] + /** + * Default value. + */ + static readonly DEFAULT_VALUE: number = 0 + /** + * Video avc mime type. + */ + static readonly MIME_VIDEO_AVC: string = 'video/avc' + /** + * Video hevc mime type. + */ + static readonly MIME_VIDEO_HEVC: string = 'video/hevc' + /** + * 10M bitrate. + */ + static readonly BITRATE_VIDEO_10M: number = 10 * 1024 * 1024 + /** + * 20M bitrate. + */ + static readonly BITRATE_VIDEO_20M: number = 20 * 1024 * 1024 + /** + * 30M bitrate. + */ + static readonly BITRATE_VIDEO_30M: number = 30 * 1024 * 1024 + /** + * 30 FPS. + */ + static readonly FRAMERATE_VIDEO_30FPS: number = 30 + /** + * 60 FPS. + */ + static readonly FRAMERATE_VIDEO_60FPS: number = 60 + /** + * Row space. + */ + static readonly ROW_SPACE: number = 10 + /** + * Default picker item height. + */ + static readonly DEFAULT_PICKER_ITEM_HEIGHT: number = 30 + /** + * Selected text style font size. + */ + static readonly SELECTED_TEXT_STYLE_FONT_SIZE: number = 15 + /** + * The number corresponding to true. + */ + static readonly TRUE: number = 1 + /** + * The number corresponding to false. + */ + static readonly FALSE: number = 0 + /** + * 4K video width. + */ + static readonly VIDEO_WIDTH_4K: number = 3840 + /** + * 1080P video width. + */ + static readonly VIDEO_WIDTH_1080P: number = 1920 + /** + * 720P video width. + */ + static readonly VIDEO_WIDTH_720P: number = 1280 + /** + * 4K video height. + */ + static readonly VIDEO_HEIGHT_4K: number = 2160 + /** + * 1080P video height. + */ + static readonly VIDEO_HEIGHT_1080P: number = 1080 + /** + * 720P video height. + */ + static readonly VIDEO_HEIGHT_720P: number = 720 + /** + * Album, photo, video, and camera switch icons size. + */ + static readonly ICON_SIZE: number = 200; + /** + * Bottom position. + */ + static readonly BOTTOM_POSITION: number = 0.8 + /** + * PX. + */ + static readonly PX: string = 'px'; + /** + * Default profile. + */ + static readonly DEFAULT_PROFILE: camera.Profile = { + format: camera.CameraFormat.CAMERA_FORMAT_YUV_420_SP, + size: { + width: 1920, + height: 1080 + } + }; +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/CameraCheck.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/CameraCheck.ets new file mode 100644 index 0000000000000000000000000000000000000000..151d0497cbff7ba4a5026552ce3b2adb18a3e1b1 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/CameraCheck.ets @@ -0,0 +1,109 @@ +import { camera } from '@kit.CameraKit'; +import Logger from './Logger'; +import { CameraDataModel } from '../../model/CameraDateModel'; +import { CommonConstants as Const } from '../CommonConstants'; + +const TAG = 'CAMERA_CHECK'; + +function getPreviewProfile(previewProfiles: Array, size: camera.Size, + isHDRVivid: number): undefined | camera.Profile { + let previewProfile: undefined | camera.Profile = previewProfiles.find((profile: camera.Profile) => { + if (isHDRVivid) { + return profile.format === camera.CameraFormat.CAMERA_FORMAT_YCRCB_P010 && + profile.size.width === size.width && profile.size.height == size.height + } else { + return profile.format === camera.CameraFormat.CAMERA_FORMAT_YUV_420_SP && + profile.size.width === size.width && profile.size.height == size.height + } + }); + return previewProfile; +} + +export function previewProfileCameraCheck(cameraManager: camera.CameraManager, + cameraData: CameraDataModel): undefined | camera.Profile { + let cameraDevices = cameraManager.getSupportedCameras(); + if (cameraDevices !== undefined && cameraDevices.length <= 0) { + Logger.error(TAG, 'cameraManager.getSupportedCameras error!'); + return; + } + + let profiles: camera.CameraOutputCapability = + cameraManager.getSupportedOutputCapability(cameraDevices[0], camera.SceneMode.NORMAL_VIDEO); + if (!profiles) { + Logger.error(TAG, 'cameraManager.getSupportedOutputCapability error!'); + return; + } + + let previewProfilesArray: Array = profiles.previewProfiles; + if (!previewProfilesArray) { + Logger.error('createOutput previewProfilesArray == null || undefined'); + return; + } + + let videoSize: camera.Size = { + width: 1920, + height: 1080 + } + let previewProfile: undefined | camera.Profile = + getPreviewProfile(previewProfilesArray, videoSize, cameraData.isHDRVivid); + if (!previewProfile) { + Logger.error('previewProfile is not found'); + return; + } + return previewProfile; +} + +export function videoProfileCameraCheck(cameraManager: camera.CameraManager, + cameraData: CameraDataModel): undefined | camera.VideoProfile { + let cameraDevices = cameraManager.getSupportedCameras(); + if (cameraDevices !== undefined && cameraDevices.length <= 0) { + Logger.error(TAG, 'cameraManager.getSupportedCameras error!'); + return; + } + + let profiles: camera.CameraOutputCapability = + cameraManager.getSupportedOutputCapability(cameraDevices[0], camera.SceneMode.NORMAL_VIDEO); + if (!profiles) { + Logger.error(TAG, 'cameraManager.getSupportedOutputCapability error!'); + return; + } + + let videoProfiles: Array = profiles.videoProfiles; + if (!videoProfiles) { + Logger.error(TAG, 'Get videoProfiles error!'); + return; + } + + let videoProfile: undefined | camera.VideoProfile = videoProfiles.find((profile: camera.VideoProfile) => { + if (cameraData.isHDRVivid) { + if (cameraData.frameRate === Const.FRAMERATE_VIDEO_30FPS) { + return profile.size.width === cameraData.cameraWidth && + profile.size.height === cameraData.cameraHeight && + profile.format === camera.CameraFormat.CAMERA_FORMAT_YCBCR_P010 && + profile.frameRateRange.min === 1 && + profile.frameRateRange.max === 30; + } else { + return profile.size.width === cameraData.cameraWidth && + profile.size.height === cameraData.cameraHeight && + profile.format === camera.CameraFormat.CAMERA_FORMAT_YCBCR_P010 && + profile.frameRateRange.min === cameraData.frameRate && + profile.frameRateRange.max === cameraData.frameRate; + } + } else { + if (cameraData.frameRate === Const.FRAMERATE_VIDEO_30FPS) { + return profile.size.width === cameraData.cameraWidth && + profile.size.height === cameraData.cameraHeight && + profile.format === camera.CameraFormat.CAMERA_FORMAT_YUV_420_SP && + profile.frameRateRange.min === 1 && + profile.frameRateRange.max === 30; + } else { + return profile.size.width === cameraData.cameraWidth && + profile.size.height === cameraData.cameraHeight && + profile.format === camera.CameraFormat.CAMERA_FORMAT_YUV_420_SP && + profile.frameRateRange.min === cameraData.frameRate && + profile.frameRateRange.max === cameraData.frameRate; + } + } + }); + return videoProfile; +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/DateTimeUtils.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/DateTimeUtils.ets new file mode 100644 index 0000000000000000000000000000000000000000..2f0a95d6c5db9557371c5beb8ce6e8b4a9d427ef --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/DateTimeUtils.ets @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export default class DateTimeUtil { + getTime(): string { + const DATETIME = new Date(); + return this.concatTime(DATETIME.getHours(), DATETIME.getMinutes(), DATETIME.getSeconds()) + } + + getDate(): string { + const DATETIME = new Date(); + return this.concatDate(DATETIME.getFullYear(), DATETIME.getMonth() + 1, DATETIME.getDate()) + } + + fill(value: number): string { + return (value > 9 ? '' : '0') + value; + } + + concatDate(year: number, month: number, date: number): string { + return `${year}${month}${date}`; + } + + concatTime(hour: number, minute: number, second: number): string { + return `${this.fill(hour)}${this.fill(minute)}${this.fill(second)}`; + } +} + +export function getShownTimer(ms: number): string { + let seconds: number = Math.round(ms / 1000); + let sec: number = seconds % 60; + let min: number = (seconds - sec) / 60; + let secStr = (sec >= 0 && sec < 10) ? ('0' + sec) : sec; + let minStr = (min >= 0 && min < 10) ? ('0' + min) : min; + return (minStr + ':' + secStr); +} + +export function dateTime(t: number): string { + let minute: number = Math.floor(t / 60) % 60 + let m = minute < 10 ? '0' + minute : minute + let second: number = t % 60 + let s = second < 10 ? '0' + second : second + return m + ':' + s; +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/Logger.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/Logger.ets new file mode 100644 index 0000000000000000000000000000000000000000..149765ff21ecd016d6bc3e7da1b632e1906fa543 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/common/utils/Logger.ets @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License") + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import hilog from '@ohos.hilog' + +class Logger { + private domain: number + private prefix: string + private format: string = '%{public}s, %{public}s' + + constructor(prefix: string) { + this.prefix = prefix + this.domain = 0xFF00 + } + + debug(...args: string[]): void { + hilog.debug(this.domain, this.prefix, this.format, args) + } + + info(...args: string[]): void { + hilog.info(this.domain, this.prefix, this.format, args) + } + + warn(...args: string[]): void { + hilog.warn(this.domain, this.prefix, this.format, args) + } + + error(...args: string[]): void { + hilog.error(this.domain, this.prefix, this.format, args) + } +} + +export default new Logger('AVRecorderSample') \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/entryability/EntryAbility.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 0000000000000000000000000000000000000000..d36b9c9cc711f439630cbd09093423ea98f50d72 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License") + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit' +import { BusinessError } from '@kit.BasicServicesKit' +import { window } from '@kit.ArkUI' +import abilityAccessCtrl from '@ohos.abilityAccessCtrl' +import Logger from '../common/utils/Logger' +import { hilog } from '@kit.PerformanceAnalysisKit' + +const TAG: string = 'EntryAbility' + +function requestPre() { + let atManager = abilityAccessCtrl.createAtManager() + try { + atManager.requestPermissionsFromUser(globalThis.context, + ['ohos.permission.CAMERA',]) + .then((data) => { + Logger.info('requestPre() data: ' + JSON.stringify(data)) + }).catch((err: BusinessError) => { + Logger.info('requestPre() data: ' + JSON.stringify(err)) + }) + } catch (err) { + Logger.error('requestPre() data: ' + JSON.stringify(err)) + } +} + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + Logger.info('Ability onCreate') + globalThis.context = this.context + requestPre() + } + + onDestroy() { + Logger.info('Ability onDestroy') + } + + onWindowStageCreate(windowStage: window.WindowStage) { + // Main window is created, set main page for this ability + Logger.info('Ability onWindowStageCreate') + + windowStage.getMainWindowSync().setWindowKeepScreenOn(true) + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + Logger.error('Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '') + return + } + AppStorage.setOrCreate('context', windowStage.getMainWindowSync().getUIContext()) + Logger.info('Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '') + }) + let windowClass: window.Window = windowStage.getMainWindowSync() // 获取应用主窗口 + // Set the window to full screen + let isLayoutFullScreen = true + windowClass.setWindowLayoutFullScreen(isLayoutFullScreen) + .then(() => { + hilog.info(0x0000, TAG, 'Succeeded in setting the window layout to full-screen mode. Data: %{public}s') + }) + .catch((err: BusinessError) => { + hilog.error(0x0000, TAG, 'Failed to set the window layout to full-screen mode. Cause: %{public}s', + JSON.stringify(err) ?? '') + }) + // Set the font color of the status bar. + let SystemBarProperties: window.SystemBarProperties = { + statusBarContentColor: '#FFFFFF' + } + windowStage.getMainWindowSync().setWindowSystemBarProperties(SystemBarProperties) + } + + onWindowStageDestroy() { + // Main window is destroyed, release UI related resources + Logger.info('Ability onWindowStageDestroy') + } + + onForeground() { + // Ability has brought to foreground + Logger.info('Ability onForeground') + } + + onBackground() { + // Ability has back to background + Logger.info('Ability onBackground') + } +} diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/model/CameraDateModel.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/model/CameraDateModel.ets new file mode 100644 index 0000000000000000000000000000000000000000..e17383bd1a8f013174f054da48e0c8313c621a90 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/model/CameraDateModel.ets @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { camera } from '@kit.CameraKit'; +import { CommonConstants as Const } from '../common/CommonConstants'; + +export class CameraDataModel { + public surfaceId: string = ''; + public cameraWidth: number = Const.DEFAULT_WIDTH; + public cameraHeight: number = Const.DEFAULT_HEIGHT; + public isHDRVivid: number = Const.DEFAULT_VALUE; + public outputfd: number = -1; + public frameRate: number = Const.FRAMERATE_VIDEO_30FPS; + public previewProfile: camera.Profile = Const.DEFAULT_PROFILE; + public videoCodecMime: string | null = Const.MIME_VIDEO_AVC; + public bitRate: number = Const.BITRATE_VIDEO_20M; + + setCodecFormat(isHDR: number, codecMime: string): void { + this.isHDRVivid = isHDR; + this.videoCodecMime = codecMime; + } + + setResolution(width: number, height: number, bit: number): void { + this.cameraWidth = width; + this.cameraHeight = height; + this.bitRate = bit; + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/pages/Index.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/pages/Index.ets new file mode 100644 index 0000000000000000000000000000000000000000..50b3f83cefe254c5055656a86de82051f5b0e929 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,459 @@ +import { fileIo } from '@kit.CoreFileKit' +import { display } from '@kit.ArkUI' +import { camera } from '@kit.CameraKit' +import { photoAccessHelper } from '@kit.MediaLibraryKit' +import player from 'libplayer.so' +import recorder from 'librecorder.so' +import Logger from '../common/utils/Logger' +import DateTimeUtil from '../common/utils/DateTimeUtils' +import { CommonConstants as Const } from '../common/CommonConstants' +import { CameraDataModel } from '../model/CameraDateModel' +import { videoProfileCameraCheck } from '../common/utils/CameraCheck' +import picker from '@ohos.file.picker' + +const TAG: string = 'Sample_Player' +const DATETIME: DateTimeUtil = new DateTimeUtil() + +@Entry +@Component +export struct Player { + @State buttonEnabled: boolean = true + @State isShow: boolean = false + private videoDecoderType: number = 0 + private videoDecoderRunMode: number = 0 + private cameraData: CameraDataModel = new CameraDataModel() + private selectFilePath: string | null = null + private display = display.getDefaultDisplaySync() + private sourcePath: string[] = ['从文件管理选取', '从图库选取'] + + selectFile() { + TextPickerDialog.show({ + range: this.sourcePath, + canLoop: false, + selected: 0, + onAccept: (value: TextPickerResult) => { + switch (value.value) { + case '从文件管理选取': + this.selectDocFile() + break + case '从图库选取': + this.selectAlbumFile() + break + default: + this.selectAlbumFile() + break + } + } + }) + } + + selectDocFile() { + let documentSelectOptions = new picker.DocumentSelectOptions + let documentViewPicker = new picker.DocumentViewPicker + documentViewPicker.select(documentSelectOptions) + .then((documentSelectResult) => { + this.selectFilePath = documentSelectResult[0] + if (this.selectFilePath == null) { + this.getUIContext().getPromptAction().showToast({ + message: $r('app.string.alert'), + duration: Const.DURATION, + bottom: Const.BOTTOM + }) + } else { + this.play() + Logger.info(TAG, 'documentViewPicker.select to file succeed and URI is:' + this.selectFilePath) + } + }) + } + + selectAlbumFile() { + let photoPicker = new photoAccessHelper.PhotoViewPicker() + photoPicker.select({ + MIMEType: photoAccessHelper.PhotoViewMIMETypes.VIDEO_TYPE, + maxSelectNumber: 1 + }) + .then((photoSelectResult) => { + this.selectFilePath = photoSelectResult.photoUris[0] + if (this.selectFilePath == null) { + this.getUIContext().getPromptAction().showToast({ + message: $r('app.string.alert'), + duration: Const.DURATION, + bottom: Const.BOTTOM + }) + } else { + this.play() + Logger.info(TAG, 'documentViewPicker.select to file succeed and URI is:' + this.selectFilePath) + } + }) + } + + setPlaybackSpeed(speed: number) { + player.setPlaybackSpeed(speed) + } + + play() { + let inputFile = fileIo.openSync(this.selectFilePath, fileIo.OpenMode.READ_ONLY) + if (!inputFile) { + Logger.error(TAG, 'player inputFile is null') + } + let inputFileState = fileIo.statSync(inputFile.fd) + if (inputFileState.size <= 0) { + Logger.error(TAG, 'player inputFile size is 0') + } + this.buttonEnabled = false + player.playNative(inputFile.fd, Const.DEFAULT_VALUE, inputFileState.size, this.videoDecoderType, + this.videoDecoderRunMode, () => { + Logger.info(TAG, 'player JSCallback') + this.buttonEnabled = true + fileIo.close(inputFile) + }) + } + + async checkIsProfileSupport(): Promise { + let cameraManager: camera.CameraManager = camera.getCameraManager(getContext(this)) + if (!cameraManager) { + Logger.error(TAG, 'camera.getCameraManager error!') + } + + let videoProfile: undefined | camera.VideoProfile = videoProfileCameraCheck(cameraManager, this.cameraData) + if (!videoProfile) { + Logger.error(TAG, 'videoProfile is not found') + this.getUIContext().getPromptAction().showToast({ + message: $r('app.string.alert1'), + duration: Const.DURATION, + bottom: Const.BOTTOM, + backgroundColor: Color.White, + backgroundBlurStyle: BlurStyle.NONE + }) + this.cameraData = new CameraDataModel() + return + } + } + + @Builder + PlayerSettingButton() { + Button('设置') + .size({ + width: '18.5%', + height: $r('app.float.index_button_height') + }) + .margin({ bottom: $r('app.float.button_margin_bottom') }) + .onClick(() => { + this.getUIContext().showTextPickerDialog({ + defaultPickerItemHeight: Const.DEFAULT_PICKER_ITEM_HEIGHT, + selectedTextStyle: ({ + font: ({ + size: Const.SELECTED_TEXT_STYLE_FONT_SIZE + }) + }), + range: Const.PLAYER_INFO, + canLoop: false, + alignment: DialogAlignment.Center, + backgroundColor: Color.White, + backgroundBlurStyle: BlurStyle.BACKGROUND_ULTRA_THICK, + onAccept: (value: TextPickerResult) => { + switch (value.value[0]) { + case Const.VIDEO_DECODE_TYPE[0]: { + this.videoDecoderType = 0 + break + } + case Const.VIDEO_DECODE_TYPE[1]: { + this.videoDecoderType = 1 + break + } + case Const.VIDEO_DECODE_TYPE[2]: { + this.videoDecoderType = 2 + break + } + default: + break + } + + switch (value.value[1]) { + case Const.VIDEO_DECODER_RUN_MODE[0]: { + this.videoDecoderRunMode = 0 + break + } + case Const.VIDEO_DECODER_RUN_MODE[1]: { + this.videoDecoderRunMode = 1 + break + } + default: + break + } + } + }) + }) + } + + @Builder + RecorderSettingButton() { + Button('选择相机分辨率') + .enabled(this.buttonEnabled) + .margin({ left: (this.display.width * 0.6) + 'px', bottom: (this.display.height * 0.8) + 'px' }) + .onClick(() => { + this.getUIContext().showTextPickerDialog({ + defaultPickerItemHeight: Const.DEFAULT_PICKER_ITEM_HEIGHT, + selectedTextStyle: ({ + font: ({ + size: Const.SELECTED_TEXT_STYLE_FONT_SIZE + }) + }), + range: Const.RECORDER_INFO, + canLoop: false, + alignment: DialogAlignment.Center, + backgroundColor: Color.White, + backgroundBlurStyle: BlurStyle.BACKGROUND_ULTRA_THICK, + onAccept: (value: TextPickerResult) => { + switch (value.value[0]) { + case Const.VIDEO_MIMETYPE[0]: { + this.cameraData.setCodecFormat(Const.TRUE, Const.MIME_VIDEO_HEVC) + break + } + case Const.VIDEO_MIMETYPE[1]: { + this.cameraData.setCodecFormat(Const.FALSE, Const.MIME_VIDEO_AVC) + break + } + case Const.VIDEO_MIMETYPE[2]: { + this.cameraData.setCodecFormat(Const.FALSE, Const.MIME_VIDEO_HEVC) + break + } + default: + break + } + + switch (value.value[1]) { + case Const.VIDEO_RESOLUTION[0]: { + this.cameraData.setResolution(Const.VIDEO_WIDTH_4K, Const.VIDEO_HEIGHT_4K, Const.BITRATE_VIDEO_30M) + break + } + case Const.VIDEO_RESOLUTION[1]: { + this.cameraData.setResolution(Const.VIDEO_WIDTH_1080P, Const.VIDEO_HEIGHT_1080P, + Const.BITRATE_VIDEO_20M) + break + } + case Const.VIDEO_RESOLUTION[2]: { + this.cameraData.setResolution(Const.VIDEO_WIDTH_720P, Const.VIDEO_HEIGHT_720P, Const.BITRATE_VIDEO_10M) + break + } + default: + break + } + + switch (value.value[2]) { + case Const.VIDEO_FRAMERATE[0]: { + this.cameraData.frameRate = Const.FRAMERATE_VIDEO_30FPS + break + } + case Const.VIDEO_FRAMERATE[1]: { + this.cameraData.frameRate = Const.FRAMERATE_VIDEO_60FPS + break + } + default: + break + } + this.checkIsProfileSupport() + } + }) + }) + } + + @Builder + Authorized() { + Column() { + Text($r('app.string.saveButtonNote')) + .width('100%') + .fontSize('16vp') + .margin({ bottom: '12vp' }) + + Row() { + Button($r('app.string.saveButtonCancel')) + .onClick(() => { + this.isShow = false + }) + .width('48%') + + Blank() + + SaveButton({ text: SaveDescription.SAVE }) + .onClick(async () => { + const context = this.getUIContext().getHostContext() + let helper = photoAccessHelper.getPhotoAccessHelper(context) + let uri = await helper.createAsset(photoAccessHelper.PhotoType.VIDEO, 'mp4', { + title: `AVCodecVideo_${DATETIME.getDate()}_${DATETIME.getTime()}` + }) + let file = await fileIo.open(uri, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE) + this.cameraData.outputfd = file.fd + if (this.cameraData.outputfd !== null) { + recorder.initNative(this.cameraData.outputfd, this.cameraData.videoCodecMime, this.cameraData.cameraWidth, + this.cameraData.cameraHeight, this.cameraData.frameRate, this.cameraData.isHDRVivid, + this.cameraData.bitRate).then((data) => { + if (data.surfaceId !== null) { + this.cameraData.surfaceId = data.surfaceId + this.getUIContext().getRouter().pushUrl({ + url: 'recorder/Recorder', + params: this.cameraData + }) + } + }) + } else { + Logger.error(TAG, 'get outputfd failed!') + } + }) + .width('48%') + .height('40vp') + } + .justifyContent(FlexAlign.SpaceAround) + .alignItems(VerticalAlign.Bottom) + .margin({ bottom: '44vp' }) + .width('100%') + .height('52vp') + } + .justifyContent(FlexAlign.End) + .padding({ left: '16vp', right: '16vp' }) + .width('100%') + .height('100%') + } + + @Builder + Window() { + Row() { + XComponent({ + id: 'player', + type: XComponentType.SURFACE, + libraryname: 'player' + }) + .height(Const.FULL_SIZE) + .width(Const.FULL_SIZE) + .gesture( + GestureGroup(GestureMode.Exclusive, + LongPressGesture({ repeat: true })// 长按动作存在会连续触发 + .onAction((event: GestureEvent | undefined) => { + if (!this.buttonEnabled) { + this.setPlaybackSpeed(2) + this.getUIContext().getPromptAction().showToast({ message: 'X2' }) + } + })// 长按动作一结束触发 + .onActionEnd(() => { + if (!this.buttonEnabled) { + this.setPlaybackSpeed(1) + this.getUIContext().getPromptAction().showToast({ message: 'X1' }) + } + }), + // todo:单击播放窗口播放/暂停 + // TapGesture({ count: 1, fingers: 1 }) + // .onAction(() => { + // if (!this.isStart) { + // this.resume() + // } else { + // this.pause() + // } + // this.isStart = !this.isStart + // }) + ) + ) + } + .alignRules({ + 'top': { 'anchor': '__container__', 'align': VerticalAlign.Top }, + 'left': { 'anchor': '__container__', 'align': HorizontalAlign.Start } + }) + } + + build() { + Stack() { + this.Window() + this.RecorderSettingButton() + + Column() { + Row() { + this.PlayerSettingButton() + + Blank(5) + Button(this.buttonEnabled ? $r('app.string.play') : $r('app.string.playing')) + .onClick(() => { + this.selectFile() + }) + .size({ + width: '60%', + height: $r('app.float.index_button_height') + }) + .enabled(this.buttonEnabled) + .margin({ bottom: $r('app.float.button_margin_bottom') }) + Blank(5) + Button('倍速') + .enabled(!this.buttonEnabled) + .size({ + width: '18.5%', + height: $r('app.float.index_button_height') + }) + .margin({ bottom: $r('app.float.button_margin_bottom') }) + .onClick(() => { + this.getUIContext().getPromptAction().showToast({ message: '播放时长按播放窗口也可倍速播放' }) + TextPickerDialog.show({ + defaultPickerItemHeight: Const.DEFAULT_PICKER_ITEM_HEIGHT, + selectedTextStyle: ({ + font: ({ + size: Const.SELECTED_TEXT_STYLE_FONT_SIZE + }) + }), + range: Const.PLAYBACK_SPEED, + canLoop: false, + alignment: DialogAlignment.Center, + backgroundColor: Color.White, + backgroundBlurStyle: BlurStyle.BACKGROUND_ULTRA_THICK, + onAccept: (value: TextPickerResult) => { + switch (value.value) { + case Const.PLAYBACK_SPEED[0]: { + this.setPlaybackSpeed(1) + this.getUIContext().getPromptAction().showToast({ message: 'X1' }) + break + } + case Const.PLAYBACK_SPEED[1]: { + this.setPlaybackSpeed(2) + this.getUIContext().getPromptAction().showToast({ message: 'X2' }) + break + } + case Const.PLAYBACK_SPEED[2]: { + this.setPlaybackSpeed(3) + this.getUIContext().getPromptAction().showToast({ message: 'X3' }) + break + } + default: + break + } + } + }) + }) + } + + + Button($r('app.string.record')) + .onClick(() => { + this.isShow = true + }) + .bindSheet($$this.isShow, this.Authorized, { + height: 210, + title: { + title: $r('app.string.saveButtonTitle') + } + }) + .size({ + width: '100%', + height: $r('app.float.index_button_height') + }) + .enabled(this.buttonEnabled) + } + .margin({ top: (this.display.height * 0.7) + 'px' }) + .alignRules({ + 'bottom': { 'anchor': '__container__', 'align': VerticalAlign.Bottom }, + 'left': { 'anchor': '__container__', 'align': HorizontalAlign.Start } + }) + .padding({ left: '16vp', right: '16vp', bottom: '16vp' }) + .width($r('app.string.full_width')) + .height($r('app.float.index_column_height')) + .justifyContent(FlexAlign.End) + } + .width($r('app.string.full_width')) + .height($r('app.string.full_height')) + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/ets/recorder/Recorder.ets b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/recorder/Recorder.ets new file mode 100644 index 0000000000000000000000000000000000000000..9d1c2fdb2eee20cfa4d1ad223fb4d21fa52c0d0d --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/ets/recorder/Recorder.ets @@ -0,0 +1,385 @@ +import { camera } from '@kit.CameraKit'; +import { fileIo } from '@kit.CoreFileKit'; +import { display } from '@kit.ArkUI'; +import { BusinessError } from '@kit.BasicServicesKit'; +import recorder from 'librecorder.so'; +import Logger from '../common/utils/Logger'; +import { dateTime } from '../common/utils/DateTimeUtils'; +import { CommonConstants as Const } from '../common/CommonConstants'; +import { CameraDataModel } from '../model/CameraDateModel'; +import { videoProfileCameraCheck, previewProfileCameraCheck } from '../common/utils/CameraCheck'; +import { colorSpaceManager } from '@kit.ArkGraphics2D'; + +const TAG: string = 'Sample_Recorder' + +const context = AppStorage.get("context") as UIContext; +const params: CameraDataModel = context.getRouter().getParams() as CameraDataModel; + +let cameraInput: camera.CameraInput +let XComponentPreviewOutput: camera.PreviewOutput +let encoderVideoOutput: camera.VideoOutput +let videoSession: camera.VideoSession + +async function releaseCamera() { + // 停止录像输出流 + encoderVideoOutput.stop((err: BusinessError) => { + if (err) { + Logger.error(TAG, `Failed to stop the encoder video output. error: ${JSON.stringify(err)}`) + return + } + Logger.info(TAG, 'Callback invoked to indicate the encoder video output stop success.') + }) + // 停止当前会话 + videoSession.stop() + // 关闭文件fd + fileIo.close(params.outputfd) + // 释放相机输入流 + cameraInput.close() + // 释放预览输出流 + XComponentPreviewOutput.release() + // 释放录像输出流 + encoderVideoOutput.release() + // 释放会话 + videoSession.release() +} + +function getPreviewProfile(previewProfiles: Array | undefined, + size: camera.Size): undefined | camera.Profile { + if (previewProfiles) { + let previewProfile: undefined | camera.Profile = previewProfiles.find((profile: camera.Profile) => { + return profile.format === camera.CameraFormat.CAMERA_FORMAT_YCRCB_P010 && + profile.size.width === size.width && profile.size.height == size.height + }); + return previewProfile; + } + return undefined +} + +// 查询是否支持视频防抖。HDR录像需要支持视频防抖。 +function isVideoStabilizationModeSupported(session: camera.VideoSession, mode: camera.VideoStabilizationMode): boolean { + let isSupported: boolean = false; + try { + isSupported = session.isVideoStabilizationModeSupported(mode); + } catch (error) { + // 失败返回错误码error.code并处理 + let err = error as BusinessError; + Logger.error(`The isVideoStabilizationModeSupported call failed. error code: ${err.code}`); + } + return isSupported; +} + +// 设置视频防抖。 +function setVideoStabilizationMode(session: camera.VideoSession): boolean { + let mode: camera.VideoStabilizationMode = camera.VideoStabilizationMode.AUTO; + // 查询是否支持视频防抖 + let isSupported: boolean = isVideoStabilizationModeSupported(session, mode); + if (isSupported) { + Logger.info(TAG, `setVideoStabilizationMode: ${mode}`); + // 设置视频防抖 + session.setVideoStabilizationMode(mode); + let activeVideoStabilizationMode = session.getActiveVideoStabilizationMode(); + Logger.info(TAG, `activeVideoStabilizationMode: ${activeVideoStabilizationMode}`); + } else { + Logger.info(TAG, `videoStabilizationMode: ${mode} is not support`); + } + return isSupported; +} + +// 查询支持的色彩空间。 +function getSupportedColorSpaces(session: camera.VideoSession): Array { + let colorSpaces: Array = []; + try { + colorSpaces = session.getSupportedColorSpaces(); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `The getSupportedColorSpaces call failed. error code: ${err.code}`); + } + return colorSpaces; +} + +// 设置色彩空间。 +function setColorSpaceBeforeCommitConfig(session: camera.VideoSession, isHdr: number): void { + let colorSpace: colorSpaceManager.ColorSpace = + isHdr ? colorSpaceManager.ColorSpace.BT2020_HLG_LIMIT : colorSpaceManager.ColorSpace.BT709_LIMIT; + let colorSpaces: Array = getSupportedColorSpaces(session); + let isSupportedColorSpaces = colorSpaces.indexOf(colorSpace) >= 0; + if (isSupportedColorSpaces) { + Logger.info(TAG, `setColorSpace: ${colorSpace}`); + session.setColorSpace(colorSpace); + let activeColorSpace: colorSpaceManager.ColorSpace = session.getActiveColorSpace(); + Logger.info(TAG, `activeColorSpace: ${activeColorSpace}`); + } else { + Logger.info(TAG, `colorSpace: ${colorSpace} is not support`); + } +} + +@Entry +@Component +export struct Recorder { + private START_RECORDER: string = '开始录制' + private STOP_RECORDER: string = '停止录制' + @State isRecorderTimeTextHide: boolean = true + @State buttonText: string = this.START_RECORDER + @State buttonEnabled: boolean = true + @State videoRecorderTimeText: string = '00:00' + @State fov: number = 1 + private XComponentSurfaceId: string = '-1' + private cameraWidth: number = Const.DEFAULT_WIDTH + private cameraHeight: number = Const.DEFAULT_HEIGHT + private XComponentController: XComponentController = new XComponentController() + private display = display.getDefaultDisplaySync() + private heightPx = (this.display.width * this.cameraWidth / this.cameraHeight) + 'px' + private timer: number = Const.DEFAULT_VALUE + private seconds: number = Const.DEFAULT_VALUE + private isReleased: boolean = false + private isBack: boolean = false + private range: number[] = [] + + onPageHide() { + this.release() + } + + setTimer() { + this.buttonEnabled = false; + setTimeout(async () => { + this.buttonEnabled = true; + }, 1300) + } + + async release(): Promise { + if (!this.isReleased) { + this.isReleased = true + clearInterval(this.timer) + this.seconds = 0 + this.videoRecorderTimeText = '00:00' + recorder.stopNative() + .then(async (data) => { + if (data.code == 0) { + await releaseCamera() + this.buttonText == this.START_RECORDER + this.getUIContext().getRouter().back() + } + }) + } + } + + getRecordTime(): void { + this.timer = setInterval(() => { + this.seconds += 1 + this.videoRecorderTimeText = dateTime(this.seconds) + }, 1000) + } + + async createRecorder(): Promise { + releaseCamera() + // Create the CameraManager object. + let cameraManager = camera.getCameraManager(this.getUIContext().getHostContext()) + if (!cameraManager) { + Logger.error(TAG, "camera.getCameraManager error") + return + } + + // Get supported camera devices. + let cameraDevices: Array = cameraManager.getSupportedCameras() + if (cameraDevices !== undefined && cameraDevices.length <= 0) { + Logger.error(TAG, 'cameraManager.getSupportedCameras error!'); + return; + } + + // 获取支持的模式类型 + let sceneModes: Array = cameraManager.getSupportedSceneModes(cameraDevices[0]); + let isSupportVideoMode: boolean = sceneModes.indexOf(camera.SceneMode.NORMAL_VIDEO) >= 0; + if (!isSupportVideoMode) { + Logger.error('video mode not support'); + return; + } + + let videoProfile: undefined | camera.VideoProfile = videoProfileCameraCheck(cameraManager, params); + if (!videoProfile) { + Logger.error(TAG, 'videoProfile is not found!'); + return; + } + + // The preview stream of XComponent. + let XComponentPreviewProfile: camera.Profile | undefined = previewProfileCameraCheck(cameraManager, params) + if (XComponentPreviewProfile === undefined) { + Logger.error(TAG, 'XComponentPreviewProfile is not found'); + return; + } + + //Create the encoder output object + encoderVideoOutput = cameraManager.createVideoOutput(videoProfile, params.surfaceId); + if (encoderVideoOutput === undefined) { + Logger.error(TAG, 'encoderVideoOutput is undefined'); + return; + } + Logger.info(TAG, 'encoderVideoOutput success'); + + // Create a preview stream output object + XComponentPreviewOutput = cameraManager.createPreviewOutput(XComponentPreviewProfile, this.XComponentSurfaceId); + if (XComponentPreviewOutput === undefined) { + Logger.error(TAG, 'XComponentPreviewOutput is undefined'); + return; + } + + // Create the cameraInput object. + try { + cameraInput = cameraManager.createCameraInput(cameraDevices[0]); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `Failed to createCameraInput. error: ${JSON.stringify(err)}`); + } + if (cameraInput === undefined) { + Logger.error(TAG, 'cameraInput is undefined'); + return; + } + + // Turn on the camera. + try { + await cameraInput.open(); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `Failed to open cameraInput. error: ${JSON.stringify(err)}`); + } + + // Session flow. + try { + videoSession = cameraManager.createSession(camera.SceneMode.NORMAL_VIDEO) as camera.VideoSession; + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `Failed to create the session instance. error: ${JSON.stringify(err)}`); + } + if (videoSession === undefined) { + Logger.error(TAG, 'videoSession is undefined'); + return; + } + + // Start Configuring the session. + try { + videoSession.beginConfig(); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `Failed to beginConfig. error: ${JSON.stringify(err)}`); + } + + // Add CameraInput to the session. + try { + videoSession.addInput(cameraInput); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `Failed to add cameraInput. error: ${JSON.stringify(err)}`); + } + + // Add the XComponent preview stream to the session. + try { + videoSession.addOutput(XComponentPreviewOutput); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `Failed to add XcomponentPreviewOutput. error: ${JSON.stringify(err)}`); + } + + // Add the encoder video stream to the session. + try { + videoSession.addOutput(encoderVideoOutput); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `Failed to add encoderVideoOutput. error: ${JSON.stringify(err)}`); + } + + // Submit configuration information. + try { + await videoSession.commitConfig(); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `videoSession commitConfig error: ${JSON.stringify(err)}`); + } + + // 设置视频防抖 + if (setVideoStabilizationMode(videoSession)) { + // 设置色彩空间 + setColorSpaceBeforeCommitConfig(videoSession, params.isHDRVivid); + } + + // Session start. + try { + await videoSession.start(); + } catch (error) { + let err = error as BusinessError; + Logger.error(TAG, `videoSession start error: ${JSON.stringify(err)}`); + } + } + + build() { + Column() { + Stack() { + XComponent({ + id: 'recorderXComponent', + type: XComponentType.SURFACE, + controller: this.XComponentController + }) + .onLoad(() => { + this.XComponentSurfaceId = this.XComponentController.getXComponentSurfaceId() + this.createRecorder() + }) + .width(Const.FULL_SIZE) + .height(this.heightPx) + .gesture( + PinchGesture() + .onActionUpdate((event: GestureEvent) => { + if (videoSession) { + let currentFov = this.fov * event.scale + if (currentFov > this.range[1]) { + currentFov = this.range[1] + } + if (currentFov < this.range[0]) { + currentFov = this.range[0] + } + videoSession.setZoomRatio(currentFov) + } + }) + .onActionEnd((event: GestureEvent) => { + if (videoSession) { + this.fov = videoSession.getZoomRatio() + } + }) + ) + + if (!this.isRecorderTimeTextHide) { + Text(this.videoRecorderTimeText) + .fontFamily('HarmonyHeilTi-Light') + .width(100) + .height(40) + .fontSize(27) + .fontColor(Color.White) + .margin({ bottom: 500 }) + } + + Button(this.buttonText) + .onClick(() => { + if (this.buttonText == this.START_RECORDER) { + this.buttonText = this.STOP_RECORDER + this.setTimer() + // 启动录像输出流 + encoderVideoOutput.start((err: BusinessError) => { + if (err) { + Logger.error(TAG, `Failed to start the encoder video output. error: ${JSON.stringify(err)}`) + return + } + Logger.info(TAG, 'Callback invoked to indicate the encoder video output start success.') + }) + recorder.startNative() + this.isRecorderTimeTextHide = false + this.getRecordTime() + } else { + this.buttonEnabled = false + this.release() + } + }) + .enabled(this.buttonEnabled) + .margin({ top: 500 }) + } + } + .justifyContent(FlexAlign.SpaceEvenly) + .height(Const.FULL_SIZE) + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/module.json5 b/code/BasicFeature/Media/AVCodec/entry/src/main/module.json5 new file mode 100644 index 0000000000000000000000000000000000000000..07bf38509858bb394be970564c913539902cd355 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/module.json5 @@ -0,0 +1,47 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ], + "requestPermissions": [ + { + "name": "ohos.permission.CAMERA", + "reason": "$string:reason", + "usedScene": { + "abilities": ["FormAbility"], + "when": "inuse" + } + } + ] + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/color.json b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/color.json new file mode 100644 index 0000000000000000000000000000000000000000..0d98b5c17780f121191f2768bdf0cd0bc6e9b9e7 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/color.json @@ -0,0 +1,28 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + }, + { + "name": "button_background", + "value": "#FFFFFF" + }, + { + "name": "homepage_background", + "value": "#F1F3F5" + }, + { + "name": "title_color", + "value": "#000000" + }, + { + "name": "button_color", + "value": "#007DFF" + }, + { + "name": "divider_color", + "value": "#182431" + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/float.json b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/float.json new file mode 100644 index 0000000000000000000000000000000000000000..9dbe4cf7ee7fd4fc771a44ede454e93f6555caa2 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/float.json @@ -0,0 +1,44 @@ +{ + "float": [ + { + "name": "font_size", + "value": "20vp" + }, + { + "name": "button_height", + "value": "50vp" + }, + { + "name": "button_margin_1", + "value": "30vp" + }, + { + "name": "button_margin_2", + "value": "10vp" + }, + { + "name": "image_margin_1", + "value": "30vp" + }, + { + "name": "set_row_height", + "value": "40vp" + }, + { + "name": "set_row_margin_top", + "value": "8vp" + }, + { + "name": "button_margin_bottom", + "value": "12vp" + }, + { + "name": "index_button_height", + "value": "40vp" + }, + { + "name": "index_column_height", + "value": "200vp" + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/string.json b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..80997951e39aff74dc45094cc68c03e91eba7706 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/element/string.json @@ -0,0 +1,64 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "This module template implements List functions." + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "AVCodec" + }, + { + "name": "ability_desc", + "value": "This ability loads ListPage" + }, + { + "name": "reason", + "value": "label" + }, + { + "name": "playing", + "value": "playing" + }, + { + "name": "play", + "value": "play" + }, + { + "name": "alert", + "value": "None video selected" + }, + { + "name": "alert1", + "value": "This device camera does not support this type of video stream, it will switch to the default configuration" + }, + { + "name": "record", + "value": "record" + }, + { + "name": "saveButtonNote", + "value": "Allow AVCodecVideo to save captured video to gallery?" + }, + { + "name": "saveButtonCancel", + "value": "Cancel" + }, + { + "name": "saveButtonTitle", + "value": "Confirm the video storage location" + }, + { + "name": "full_width", + "value": "100%" + }, + { + "name": "full_height", + "value": "100%" + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/media/icon.png b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8a354ba394b7575c510700847d6473ecd0b1e740 Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/media/icon.png differ diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/media/setting.png b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/media/setting.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8dd39f05f6572ddf85cd9984f17e5ddd4eeb60 Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/media/setting.png differ diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/profile/main_pages.json b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 0000000000000000000000000000000000000000..a26d8aa4808e92865496ca26ab894e7862885888 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,6 @@ +{ + "src": [ + "pages/Index", + "recorder/Recorder" + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/en_US/element/string.json b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..2128c8d33bd5b565b2d6dc91887bc7297a55a564 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,60 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "This module template implements List functions." + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "AVCodec" + }, + { + "name": "reason", + "value": "label" + }, + { + "name": "playing", + "value": "playing" + }, + { + "name": "play", + "value": "play" + }, + { + "name": "alert", + "value": "None video selected" + }, + { + "name": "alert1", + "value": "This device camera does not support this type of video stream, it will switch to the default configuration" + }, + { + "name": "record", + "value": "record" + }, + { + "name": "saveButtonNote", + "value": "Allow AVCodecVideo to save captured video to gallery?" + }, + { + "name": "saveButtonCancel", + "value": "Cancel" + }, + { + "name": "saveButtonTitle", + "value": "Confirm the video storage location" + }, + { + "name": "full_width", + "value": "100%" + }, + { + "name": "full_height", + "value": "100%" + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/main/resources/zh_CN/element/string.json b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..9bb0c8ebe435043723c48c1ad994caa219bcd995 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,60 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "该模板实现了列表页的功能" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "AVCodec" + }, + { + "name": "reason", + "value": "label" + }, + { + "name": "playing", + "value": "播放中" + }, + { + "name": "play", + "value": "播放" + }, + { + "name": "alert", + "value": "未选择视频!" + }, + { + "name": "alert1", + "value": "本设备相机不支持此类型录像流,将切换至默认配置" + }, + { + "name": "record", + "value": "录制" + }, + { + "name": "saveButtonNote", + "value": "是否允许AVCodecVideo保存拍摄的视频到图库?" + }, + { + "name": "saveButtonCancel", + "value": "取消" + }, + { + "name": "saveButtonTitle", + "value": "视频保存位置确认" + }, + { + "name": "full_width", + "value": "100%" + }, + { + "name": "full_height", + "value": "100%" + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/test/Ability.test.ets b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..8aa3749775f69d9055a9b87cb15f8905acd989bc --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,35 @@ +import hilog from '@ohos.hilog'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }) + }) +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/test/List.test.ets b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..794c7dc4ed66bd98fa3865e07922906e2fcef545 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,5 @@ +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testability/TestAbility.ets b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testability/TestAbility.ets new file mode 100644 index 0000000000000000000000000000000000000000..9484761ccb050eef78e0468e36be45f045964d51 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testability/TestAbility.ets @@ -0,0 +1,50 @@ +import UIAbility from '@ohos.app.ability.UIAbility'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import hilog from '@ohos.hilog'; +import { Hypium } from '@ohos/hypium'; +import testsuite from '../test/List.test'; +import window from '@ohos.window'; +import Want from '@ohos.app.ability.Want'; +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; + +export default class TestAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs; + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + } + + onDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageCreate'); + windowStage.loadContent('testability/pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', + JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy'); + } + + onForeground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground'); + } + + onBackground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground'); + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testability/pages/Index.ets b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testability/pages/Index.ets new file mode 100644 index 0000000000000000000000000000000000000000..423b4276eccd1d04d56471ae7a863c48015e8ae5 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testability/pages/Index.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ts b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ts new file mode 100644 index 0000000000000000000000000000000000000000..917d27a5e8db0f45eb0a88fbe33e1225492fef0b --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ts @@ -0,0 +1,47 @@ +import hilog from '@ohos.hilog'; +import TestRunner from '@ohos.application.testRunner'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import Want from '@ohos.app.ability.Want'; + +let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator | undefined = undefined +let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs | undefined = undefined + +async function onAbilityCreateCallback() { + hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback'); +} + +async function addAbilityMonitorCallback(err : Error) { + hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? ''); +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare '); + } + + async onRun() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + const bundleName = abilityDelegatorArguments.bundleName; + const testAbilityName = 'TestAbility'; + let lMonitor: AbilityDelegatorRegistry.AbilityMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) + const want: Want = { + bundleName: bundleName, + abilityName: testAbilityName + }; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + abilityDelegator.startAbility(want, (err, data) => { + hilog.info(0x0000, 'testTag', 'startAbility : err : %{public}s', JSON.stringify(err) ?? ''); + hilog.info(0x0000, 'testTag', 'startAbility : data : %{public}s',JSON.stringify(data) ?? ''); + }) + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end'); + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/module.json5 b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/module.json5 new file mode 100644 index 0000000000000000000000000000000000000000..4fc9701701e879512edc8da21b356970a89e5166 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "exported": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/element/color.json b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/element/color.json new file mode 100644 index 0000000000000000000000000000000000000000..3c712962da3c2751c2b9ddb53559afcbd2b54a02 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/element/string.json b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..65d8fa5a7cf54aa3943dcd0214f58d1771bc1f6c --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "test label" + } + ] +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/media/icon.png b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/media/icon.png differ diff --git a/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/profile/test_pages.json b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/profile/test_pages.json new file mode 100644 index 0000000000000000000000000000000000000000..b7e7343cacb32ce982a45e76daad86e435e054fe --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/entry/src/ohosTest/resources/base/profile/test_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "testability/pages/Index" + ] +} diff --git a/code/BasicFeature/Media/AVCodec/hvigor/hvigor-config.json5 b/code/BasicFeature/Media/AVCodec/hvigor/hvigor-config.json5 new file mode 100644 index 0000000000000000000000000000000000000000..f70ecd4112d94f9aa555adf898d53f18bf58f3e9 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/hvigor/hvigor-config.json5 @@ -0,0 +1,5 @@ +{ + "modelVersion": "5.0.0", + "dependencies": { + } +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/hvigor/hvigor-wrapper.js b/code/BasicFeature/Media/AVCodec/hvigor/hvigor-wrapper.js new file mode 100644 index 0000000000000000000000000000000000000000..372eae8eb4a124095936f9cd78df5c6756746f3f --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/hvigor/hvigor-wrapper.js @@ -0,0 +1 @@ +"use strict";var u=require("path"),D=require("os"),e=require("fs"),t=require("crypto"),r=require("child_process"),n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},C={},F=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(C,"__esModule",{value:!0}),C.maxPathLength=C.isMac=C.isLinux=C.isWindows=void 0;const E=F(D),A="Windows_NT",o="Darwin";function a(){return E.default.type()===A}function c(){return E.default.type()===o}C.isWindows=a,C.isLinux=function(){return"Linux"===E.default.type()},C.isMac=c,C.maxPathLength=function(){return c()?1016:a()?259:4095},function(e){var t=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),r=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),i=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&t(D,u,e);return r(D,u),D};Object.defineProperty(e,"__esModule",{value:!0}),e.WORK_SPACE=e.HVIGOR_PROJECT_WRAPPER_HOME=e.HVIGOR_PROJECT_ROOT_DIR=e.HVIGOR_PROJECT_CACHES_HOME=e.HVIGOR_PNPM_STORE_PATH=e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=e.PROJECT_CACHES=e.HVIGOR_WRAPPER_TOOLS_HOME=e.HVIGOR_USER_HOME=e.DEFAULT_PACKAGE_JSON=e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME=e.PNPM=e.HVIGOR=e.NPM_TOOL=e.PNPM_TOOL=e.HVIGOR_ENGINE_PACKAGE_NAME=void 0;const F=i(D),E=i(u),A=C;e.HVIGOR_ENGINE_PACKAGE_NAME="@ohos/hvigor",e.PNPM_TOOL=(0,A.isWindows)()?"pnpm.cmd":"pnpm",e.NPM_TOOL=(0,A.isWindows)()?"npm.cmd":"npm",e.HVIGOR="hvigor",e.PNPM="pnpm",e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME="hvigor-config.json5",e.DEFAULT_PACKAGE_JSON="package.json",e.HVIGOR_USER_HOME=E.resolve(F.homedir(),".hvigor"),e.HVIGOR_WRAPPER_TOOLS_HOME=E.resolve(e.HVIGOR_USER_HOME,"wrapper","tools"),e.PROJECT_CACHES="project_caches",e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=E.resolve(e.HVIGOR_WRAPPER_TOOLS_HOME,"node_modules",".bin",e.PNPM_TOOL),e.HVIGOR_PNPM_STORE_PATH=E.resolve(e.HVIGOR_USER_HOME,"caches"),e.HVIGOR_PROJECT_CACHES_HOME=E.resolve(e.HVIGOR_USER_HOME,e.PROJECT_CACHES),e.HVIGOR_PROJECT_ROOT_DIR=process.cwd(),e.HVIGOR_PROJECT_WRAPPER_HOME=E.resolve(e.HVIGOR_PROJECT_ROOT_DIR,e.HVIGOR),e.WORK_SPACE="workspace"}(i);var s={},l={};Object.defineProperty(l,"__esModule",{value:!0}),l.logInfoPrintConsole=l.logErrorAndExit=void 0,l.logErrorAndExit=function(u){u instanceof Error?console.error(u.message):console.error(u),process.exit(-1)},l.logInfoPrintConsole=function(u){console.log(u)};var B=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),d=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),f=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&B(D,u,e);return d(D,u),D};Object.defineProperty(s,"__esModule",{value:!0});var _=s.executeBuild=void 0;const p=f(e),O=f(u),h=l;_=s.executeBuild=function(u){const D=O.resolve(u,"node_modules","@ohos","hvigor","bin","hvigor.js");try{const u=p.realpathSync(D);require(u)}catch(e){(0,h.logErrorAndExit)(`Error: ENOENT: no such file ${D},delete ${u} and retry.`)}};var P={},v={};!function(u){var D=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(u,"__esModule",{value:!0}),u.hashFile=u.hash=u.createHash=void 0;const r=D(t),i=D(e);u.createHash=(u="MD5")=>r.default.createHash(u);u.hash=(D,e)=>(0,u.createHash)(e).update(D).digest("hex");u.hashFile=(D,e)=>{if(i.default.existsSync(D))return(0,u.hash)(i.default.readFileSync(D,"utf-8"),e)}}(v);var g={},m={},R={};Object.defineProperty(R,"__esModule",{value:!0}),R.Unicode=void 0;class y{}R.Unicode=y,y.SPACE_SEPARATOR=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,y.ID_START=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,y.ID_CONTINUE=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Object.defineProperty(m,"__esModule",{value:!0}),m.JudgeUtil=void 0;const I=R;m.JudgeUtil=class{static isIgnoreChar(u){return"string"==typeof u&&("\t"===u||"\v"===u||"\f"===u||" "===u||" "===u||"\ufeff"===u||"\n"===u||"\r"===u||"\u2028"===u||"\u2029"===u)}static isSpaceSeparator(u){return"string"==typeof u&&I.Unicode.SPACE_SEPARATOR.test(u)}static isIdStartChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||I.Unicode.ID_START.test(u))}static isIdContinueChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||I.Unicode.ID_CONTINUE.test(u))}static isDigitWithoutZero(u){return/[1-9]/.test(u)}static isDigit(u){return"string"==typeof u&&/[0-9]/.test(u)}static isHexDigit(u){return"string"==typeof u&&/[0-9A-Fa-f]/.test(u)}};var N=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(g,"__esModule",{value:!0}),g.parseJsonText=g.parseJsonFile=void 0;const b=N(e),S=N(D),w=N(u),H=m;var x;!function(u){u[u.Char=0]="Char",u[u.EOF=1]="EOF",u[u.Identifier=2]="Identifier"}(x||(x={}));let M,T,V,G,j,J,W="start",U=[],L=0,$=1,k=0,K=!1,z="default",q="'",Z=1;function X(u,D=!1){T=String(u),W="start",U=[],L=0,$=1,k=0,G=void 0,K=D;do{M=Q(),nu[W]()}while("eof"!==M.type);return G}function Q(){for(z="default",j="",q="'",Z=1;;){J=Y();const u=Du[z]();if(u)return u}}function Y(){if(T[L])return String.fromCodePoint(T.codePointAt(L))}function uu(){const u=Y();return"\n"===u?($++,k=0):u?k+=u.length:k++,u&&(L+=u.length),u}g.parseJsonFile=function(u,D=!1,e="utf-8"){const t=b.default.readFileSync(w.default.resolve(u),{encoding:e});try{return X(t,D)}catch(D){if(D instanceof SyntaxError){const e=D.message.split("at");if(2===e.length)throw new Error(`${e[0].trim()}${S.default.EOL}\t at ${u}:${e[1].trim()}`)}throw new Error(`${u} is not in valid JSON/JSON5 format.`)}},g.parseJsonText=X;const Du={default(){switch(J){case"/":return uu(),void(z="comment");case void 0:return uu(),eu("eof")}if(!H.JudgeUtil.isIgnoreChar(J)&&!H.JudgeUtil.isSpaceSeparator(J))return Du[W]();uu()},start(){z="value"},beforePropertyName(){switch(J){case"$":case"_":return j=uu(),void(z="identifierName");case"\\":return uu(),void(z="identifierNameStartEscape");case"}":return eu("punctuator",uu());case'"':case"'":return q=J,uu(),void(z="string")}if(H.JudgeUtil.isIdStartChar(J))return j+=uu(),void(z="identifierName");throw Eu(x.Char,uu())},afterPropertyName(){if(":"===J)return eu("punctuator",uu());throw Eu(x.Char,uu())},beforePropertyValue(){z="value"},afterPropertyValue(){switch(J){case",":case"}":return eu("punctuator",uu())}throw Eu(x.Char,uu())},beforeArrayValue(){if("]"===J)return eu("punctuator",uu());z="value"},afterArrayValue(){switch(J){case",":case"]":return eu("punctuator",uu())}throw Eu(x.Char,uu())},end(){throw Eu(x.Char,uu())},comment(){switch(J){case"*":return uu(),void(z="multiLineComment");case"/":return uu(),void(z="singleLineComment")}throw Eu(x.Char,uu())},multiLineComment(){switch(J){case"*":return uu(),void(z="multiLineCommentAsterisk");case void 0:throw Eu(x.Char,uu())}uu()},multiLineCommentAsterisk(){switch(J){case"*":return void uu();case"/":return uu(),void(z="default");case void 0:throw Eu(x.Char,uu())}uu(),z="multiLineComment"},singleLineComment(){switch(J){case"\n":case"\r":case"\u2028":case"\u2029":return uu(),void(z="default");case void 0:return uu(),eu("eof")}uu()},value(){switch(J){case"{":case"[":return eu("punctuator",uu());case"n":return uu(),tu("ull"),eu("null",null);case"t":return uu(),tu("rue"),eu("boolean",!0);case"f":return uu(),tu("alse"),eu("boolean",!1);case"-":case"+":return"-"===uu()&&(Z=-1),void(z="numerical");case".":case"0":case"I":case"N":return void(z="numerical");case'"':case"'":return q=J,uu(),j="",void(z="string")}if(void 0===J||!H.JudgeUtil.isDigitWithoutZero(J))throw Eu(x.Char,uu());z="numerical"},numerical(){switch(J){case".":return j=uu(),void(z="decimalPointLeading");case"0":return j=uu(),void(z="zero");case"I":return uu(),tu("nfinity"),eu("numeric",Z*(1/0));case"N":return uu(),tu("aN"),eu("numeric",NaN)}if(void 0!==J&&H.JudgeUtil.isDigitWithoutZero(J))return j=uu(),void(z="decimalInteger");throw Eu(x.Char,uu())},zero(){switch(J){case".":case"e":case"E":return void(z="decimal");case"x":case"X":return j+=uu(),void(z="hexadecimal")}return eu("numeric",0)},decimalInteger(){switch(J){case".":case"e":case"E":return void(z="decimal")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimal(){switch(J){case".":j+=uu(),z="decimalFraction";break;case"e":case"E":j+=uu(),z="decimalExponent"}},decimalPointLeading(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalFraction");throw Eu(x.Char,uu())},decimalFraction(){switch(J){case"e":case"E":return j+=uu(),void(z="decimalExponent")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimalExponent(){switch(J){case"+":case"-":return j+=uu(),void(z="decimalExponentSign")}if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentSign(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentInteger(){if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},hexadecimal(){if(H.JudgeUtil.isHexDigit(J))return j+=uu(),void(z="hexadecimalInteger");throw Eu(x.Char,uu())},hexadecimalInteger(){if(!H.JudgeUtil.isHexDigit(J))return eu("numeric",Z*Number(j));j+=uu()},identifierNameStartEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":break;default:if(!H.JudgeUtil.isIdStartChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},identifierName(){switch(J){case"$":case"_":case"‌":case"‍":return void(j+=uu());case"\\":return uu(),void(z="identifierNameEscape")}if(!H.JudgeUtil.isIdContinueChar(J))return eu("identifier",j);j+=uu()},identifierNameEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!H.JudgeUtil.isIdContinueChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},string(){switch(J){case"\\":return uu(),void(j+=function(){const u=Y(),D=function(){switch(Y()){case"b":return uu(),"\b";case"f":return uu(),"\f";case"n":return uu(),"\n";case"r":return uu(),"\r";case"t":return uu(),"\t";case"v":return uu(),"\v"}return}();if(D)return D;switch(u){case"0":if(uu(),H.JudgeUtil.isDigit(Y()))throw Eu(x.Char,uu());return"\0";case"x":return uu(),function(){let u="",D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());if(u+=uu(),D=Y(),!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());return u+=uu(),String.fromCodePoint(parseInt(u,16))}();case"u":return uu(),ru();case"\n":case"\u2028":case"\u2029":return uu(),"";case"\r":return uu(),"\n"===Y()&&uu(),""}if(void 0===u||H.JudgeUtil.isDigitWithoutZero(u))throw Eu(x.Char,uu());return uu()}());case'"':case"'":if(J===q){const u=eu("string",j);return uu(),u}return void(j+=uu());case"\n":case"\r":case void 0:throw Eu(x.Char,uu());case"\u2028":case"\u2029":!function(u){console.warn(`JSON5: '${Fu(u)}' in strings is not valid ECMAScript; consider escaping.`)}(J)}j+=uu()}};function eu(u,D){return{type:u,value:D,line:$,column:k}}function tu(u){for(const D of u){if(Y()!==D)throw Eu(x.Char,uu());uu()}}function ru(){let u="",D=4;for(;D-- >0;){const D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());u+=uu()}return String.fromCodePoint(parseInt(u,16))}const nu={start(){if("eof"===M.type)throw Eu(x.EOF);iu()},beforePropertyName(){switch(M.type){case"identifier":case"string":return V=M.value,void(W="afterPropertyName");case"punctuator":return void Cu();case"eof":throw Eu(x.EOF)}},afterPropertyName(){if("eof"===M.type)throw Eu(x.EOF);W="beforePropertyValue"},beforePropertyValue(){if("eof"===M.type)throw Eu(x.EOF);iu()},afterPropertyValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforePropertyName");case"}":Cu()}},beforeArrayValue(){if("eof"===M.type)throw Eu(x.EOF);"punctuator"!==M.type||"]"!==M.value?iu():Cu()},afterArrayValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforeArrayValue");case"]":Cu()}},end(){}};function iu(){const u=function(){let u;switch(M.type){case"punctuator":switch(M.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=M.value}return u}();if(K&&"object"==typeof u&&(u._line=$,u._column=k),void 0===G)G=u;else{const D=U[U.length-1];Array.isArray(D)?K&&"object"!=typeof u?D.push({value:u,_line:$,_column:k}):D.push(u):D[V]=K&&"object"!=typeof u?{value:u,_line:$,_column:k}:u}!function(u){if(u&&"object"==typeof u)U.push(u),W=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}}(u)}function Cu(){U.pop();const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}function Fu(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return`\\x${`00${D}`.substring(D.length)}`}return u}function Eu(u,D){let e="";switch(u){case x.Char:e=void 0===D?`JSON5: invalid end of input at ${$}:${k}`:`JSON5: invalid character '${Fu(D)}' at ${$}:${k}`;break;case x.EOF:e=`JSON5: invalid end of input at ${$}:${k}`;break;case x.Identifier:k-=5,e=`JSON5: invalid identifier character at ${$}:${k}`}const t=new Au(e);return t.lineNumber=$,t.columnNumber=k,t}class Au extends SyntaxError{}var ou={},au=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),cu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),su=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&au(D,u,e);return cu(D,u),D},lu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(ou,"__esModule",{value:!0}),ou.isFileExists=ou.offlinePluginConversion=ou.executeCommand=ou.getNpmPath=ou.hasNpmPackInPaths=void 0;const Bu=r,du=lu(e),fu=su(u),_u=i,pu=l;ou.hasNpmPackInPaths=function(u,D){try{return require.resolve(u,{paths:[...D]}),!0}catch(u){return!1}},ou.getNpmPath=function(){const u=process.execPath;return fu.join(fu.dirname(u),_u.NPM_TOOL)},ou.executeCommand=function(u,D,e){0!==(0,Bu.spawnSync)(u,D,e).status&&(0,pu.logErrorAndExit)(`Error: ${u} ${D} execute failed.See above for details.`)},ou.offlinePluginConversion=function(u,D){return D.startsWith("file:")||D.endsWith(".tgz")?fu.resolve(u,_u.HVIGOR,D.replace("file:","")):D},ou.isFileExists=function(u){return du.default.existsSync(u)&&du.default.statSync(u).isFile()};var Ou=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),hu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),Pu=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&Ou(D,u,e);return hu(D,u),D},vu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(P,"__esModule",{value:!0});var gu=P.initProjectWorkSpace=void 0;const mu=Pu(e),Ru=vu(D),yu=Pu(u),Iu=v,Nu=i,bu=g,Su=l,wu=ou;let Hu,xu,Mu;function Tu(u,D,e){return void 0!==e.dependencies&&(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,D.dependencies[u])===yu.normalize(e.dependencies[u])}function Vu(){const u=yu.join(Mu,Nu.WORK_SPACE);if((0,Su.logInfoPrintConsole)("Hvigor cleaning..."),!mu.existsSync(u))return;const D=mu.readdirSync(u);if(!D||0===D.length)return;const e=yu.resolve(Mu,"node_modules","@ohos","hvigor","bin","hvigor.js");mu.existsSync(e)&&(0,wu.executeCommand)(process.argv[0],[e,"--stop-daemon"],{});try{D.forEach((D=>{mu.rmSync(yu.resolve(u,D),{recursive:!0})}))}catch(D){(0,Su.logErrorAndExit)(`The hvigor build tool cannot be installed. Please manually clear the workspace directory and synchronize the project again.\n\n Workspace Path: ${u}.`)}}gu=P.initProjectWorkSpace=function(){if(Hu=function(){const u=yu.resolve(Nu.HVIGOR_PROJECT_WRAPPER_HOME,Nu.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME);mu.existsSync(u)||(0,Su.logErrorAndExit)(`Error: Hvigor config file ${u} does not exist.`);return(0,bu.parseJsonFile)(u)}(),Mu=function(u){let D;D=function(u){let D=u.hvigorVersion;if(D.startsWith("file:")||D.endsWith(".tgz"))return!1;const e=u.dependencies,t=Object.getOwnPropertyNames(e);for(const u of t){const D=e[u];if(D.startsWith("file:")||D.endsWith(".tgz"))return!1}if(1===t.length&&"@ohos/hvigor-ohos-plugin"===t[0])return D>"2.5.0";return!1}(u)?function(u){let D=`${Nu.HVIGOR_ENGINE_PACKAGE_NAME}@${u.hvigorVersion}`;const e=u.dependencies;if(e){Object.getOwnPropertyNames(e).sort().forEach((u=>{D+=`,${u}@${e[u]}`}))}return(0,Iu.hash)(D)}(u):(0,Iu.hash)(process.cwd());return yu.resolve(Ru.default.homedir(),".hvigor","project_caches",D)}(Hu),xu=function(){const u=yu.resolve(Mu,Nu.WORK_SPACE,Nu.DEFAULT_PACKAGE_JSON);return mu.existsSync(u)?(0,bu.parseJsonFile)(u):{dependencies:{}}}(),!(0,wu.hasNpmPackInPaths)(Nu.HVIGOR_ENGINE_PACKAGE_NAME,[yu.join(Mu,Nu.WORK_SPACE)])||(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion)!==xu.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]||!function(){function u(u){const D=null==u?void 0:u.dependencies;return void 0===D?0:Object.getOwnPropertyNames(D).length}const D=u(Hu),e=u(xu);if(D+1!==e)return!1;for(const u in null==Hu?void 0:Hu.dependencies)if(!(0,wu.hasNpmPackInPaths)(u,[yu.join(Mu,Nu.WORK_SPACE)])||!Tu(u,Hu,xu))return!1;return!0}()){Vu();try{!function(){(0,Su.logInfoPrintConsole)("Hvigor installing...");for(const u in Hu.dependencies)Hu.dependencies[u]&&(Hu.dependencies[u]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.dependencies[u]));const u={dependencies:{...Hu.dependencies}};u.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion);const D=yu.join(Mu,Nu.WORK_SPACE);try{mu.mkdirSync(D,{recursive:!0});const e=yu.resolve(D,Nu.DEFAULT_PACKAGE_JSON);mu.writeFileSync(e,JSON.stringify(u))}catch(u){(0,Su.logErrorAndExit)(u)}(function(){const u=["config","set","store-dir",Nu.HVIGOR_PNPM_STORE_PATH],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)})(),function(){const u=["install"],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)}(),(0,Su.logInfoPrintConsole)("Hvigor install success.")}()}catch(u){Vu()}}return Mu};var Gu={};!function(t){var C=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),F=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),E=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&C(D,u,e);return F(D,u),D},A=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.executeInstallPnpm=t.isPnpmInstalled=t.environmentHandler=t.checkNpmConifg=t.PNPM_VERSION=void 0;const o=r,a=E(e),c=A(D),s=E(u),B=i,d=l,f=ou;t.PNPM_VERSION="7.30.0",t.checkNpmConifg=function(){const u=s.resolve(B.HVIGOR_PROJECT_ROOT_DIR,".npmrc"),D=s.resolve(c.default.homedir(),".npmrc");if((0,f.isFileExists)(u)||(0,f.isFileExists)(D))return;const e=(0,f.getNpmPath)(),t=(0,o.spawnSync)(e,["config","get","prefix"],{cwd:B.HVIGOR_PROJECT_ROOT_DIR});if(0!==t.status||!t.stdout)return void(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.");const r=s.resolve(`${t.stdout}`.replace(/[\r\n]/gi,""),".npmrc");(0,f.isFileExists)(r)||(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.")},t.environmentHandler=function(){process.env["npm_config_update-notifier"]="false"},t.isPnpmInstalled=function(){return!!a.existsSync(B.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH)&&(0,f.hasNpmPackInPaths)("pnpm",[B.HVIGOR_WRAPPER_TOOLS_HOME])},t.executeInstallPnpm=function(){(0,d.logInfoPrintConsole)(`Installing pnpm@${t.PNPM_VERSION}...`);const u=(0,f.getNpmPath)();!function(){const u=s.resolve(B.HVIGOR_WRAPPER_TOOLS_HOME,B.DEFAULT_PACKAGE_JSON);try{a.existsSync(B.HVIGOR_WRAPPER_TOOLS_HOME)||a.mkdirSync(B.HVIGOR_WRAPPER_TOOLS_HOME,{recursive:!0});const D={dependencies:{}};D.dependencies[B.PNPM]=t.PNPM_VERSION,a.writeFileSync(u,JSON.stringify(D))}catch(D){(0,d.logErrorAndExit)(`Error: EPERM: operation not permitted,create ${u} failed.`)}}(),(0,f.executeCommand)(u,["install","pnpm"],{cwd:B.HVIGOR_WRAPPER_TOOLS_HOME,stdio:["inherit","inherit","inherit"],env:process.env}),(0,d.logInfoPrintConsole)("Pnpm install success.")}}(Gu),function(){Gu.checkNpmConifg(),Gu.environmentHandler(),Gu.isPnpmInstalled()||Gu.executeInstallPnpm();const D=gu();_(u.join(D,i.WORK_SPACE))}(); \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/hvigorfile.ts b/code/BasicFeature/Media/AVCodec/hvigorfile.ts new file mode 100644 index 0000000000000000000000000000000000000000..6478186902c0c1ad7c966a929c7d6b7d8ae7a9f3 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/hvigorfile.ts @@ -0,0 +1,2 @@ +// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently. +export { appTasks } from '@ohos/hvigor-ohos-plugin'; \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/img.png b/code/BasicFeature/Media/AVCodec/img.png new file mode 100644 index 0000000000000000000000000000000000000000..33a97e3ec68a2d685549d81e68f3493d26c7dada Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/img.png differ diff --git a/code/BasicFeature/Media/AVCodec/img_1.png b/code/BasicFeature/Media/AVCodec/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ccecb6777889de682b2ba0d11acb8c3135aa4e Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/img_1.png differ diff --git a/code/BasicFeature/Media/AVCodec/img_3.png b/code/BasicFeature/Media/AVCodec/img_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d76d7b0187a9ded302c65c0b0a961ce5227ac9b8 Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/img_3.png differ diff --git a/code/BasicFeature/Media/AVCodec/img_4.png b/code/BasicFeature/Media/AVCodec/img_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4f694bbfb7e0969087f7ddb26d669313415ca29b Binary files /dev/null and b/code/BasicFeature/Media/AVCodec/img_4.png differ diff --git a/code/BasicFeature/Media/AVCodec/log.txt b/code/BasicFeature/Media/AVCodec/log.txt new file mode 100644 index 0000000000000000000000000000000000000000..fe579ab7e5f5cd780f0a4078016f4cd483037732 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/log.txt @@ -0,0 +1,8014 @@ +15:41:22:939 log enqueue task +15:41:23:456 log timer task size: 1 +15:41:23:456 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:23:456 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:23:457 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:23:457 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:23:458 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:23:458 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:23:458 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:25:764 log enqueue task +15:41:25:764 log task queue not empty +15:41:25:764 log task size: 1 +15:41:25:764 log before pop task size: 1 +15:41:25:764 log after task size: 0 +15:41:26:277 log timer task size: 1 +15:41:26:277 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:26:277 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:26:278 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:26:278 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:26:279 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:26:279 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:26:280 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:30:510 log enqueue task +15:41:30:510 log task queue not empty +15:41:30:510 log task size: 1 +15:41:30:510 log before pop task size: 1 +15:41:30:510 log after task size: 0 +15:41:31:020 log timer task size: 1 +15:41:31:020 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:31:020 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:31:021 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:31:021 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:31:022 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:31:022 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:31:022 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:31:651 log enqueue task +15:41:31:651 log task queue not empty +15:41:31:651 log task size: 1 +15:41:31:652 log before pop task size: 1 +15:41:31:652 log after task size: 0 +15:41:32:162 log timer task size: 1 +15:41:32:162 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:32:162 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:32:163 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:32:163 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:32:164 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:32:164 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:32:165 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:34:115 log enqueue task +15:41:34:115 log task queue not empty +15:41:34:115 log task size: 1 +15:41:34:115 log before pop task size: 1 +15:41:34:115 log after task size: 0 +15:41:34:315 log enqueue task +15:41:34:316 log task queue not empty +15:41:34:316 log task size: 1 +15:41:34:316 log before pop task size: 1 +15:41:34:316 log after task size: 0 +15:41:34:623 log timer task size: 1 +15:41:34:623 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:34:623 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:34:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:34:624 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:34:625 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:34:625 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:34:626 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:34:827 log timer task size: 1 +15:41:34:827 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:34:827 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:34:828 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:34:828 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:34:829 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:34:829 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:34:829 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:39:356 log enqueue task +15:41:39:357 log task queue not empty +15:41:39:357 log task size: 1 +15:41:39:357 log before pop task size: 1 +15:41:39:357 log after task size: 0 +15:41:39:866 log timer task size: 1 +15:41:39:866 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:39:866 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:39:867 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:39:867 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:39:868 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:39:868 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:39:869 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:40:251 log enqueue task +15:41:40:252 log task queue not empty +15:41:40:252 log task size: 1 +15:41:40:252 log before pop task size: 1 +15:41:40:252 log after task size: 0 +15:41:40:253 log enqueue task +15:41:40:253 log task queue not empty +15:41:40:253 log task size: 1 +15:41:40:253 log before pop task size: 1 +15:41:40:253 log after task size: 0 +15:41:40:767 log timer task size: 1 +15:41:40:767 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:40:767 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:40:767 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:40:768 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:40:768 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:40:769 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:40:769 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:40:769 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:40:769 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:40:770 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:40:770 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:40:770 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:40:770 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:42:412 log enqueue task +15:41:42:412 log task queue not empty +15:41:42:412 log task size: 1 +15:41:42:412 log before pop task size: 1 +15:41:42:413 log after task size: 0 +15:41:42:923 log timer task size: 1 +15:41:42:923 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:42:923 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:42:924 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:42:925 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:42:925 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:42:926 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:42:926 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:41:45:308 log enqueue task +15:41:45:308 log task queue not empty +15:41:45:308 log task size: 1 +15:41:45:308 log before pop task size: 1 +15:41:45:309 log after task size: 0 +15:41:45:811 log timer task size: 1 +15:41:45:811 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/PlayerNative.h +15:41:45:811 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:45:812 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:45:812 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:41:45:813 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:45:813 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:41:45:814 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:43:18:803 log enqueue task +15:43:18:804 log task queue not empty +15:43:18:804 log task size: 1 +15:43:18:804 log before pop task size: 1 +15:43:18:804 log after task size: 0 +15:43:19:036 log enqueue task +15:43:19:036 log task queue not empty +15:43:19:036 log task size: 1 +15:43:19:036 log before pop task size: 1 +15:43:19:036 log after task size: 0 +15:43:19:318 log timer task size: 1 +15:43:19:318 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:43:19:318 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:19:318 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:19:319 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:43:19:319 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:19:319 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:19:320 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:19:320 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:19:320 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:43:19:540 log timer task size: 1 +15:43:19:540 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:43:19:540 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:19:540 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:19:541 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:43:19:541 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:19:541 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:19:542 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:19:542 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:19:543 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\ohaudio\native_audiostream_base.h +15:44:05:555 log enqueue task +15:44:05:555 log task queue not empty +15:44:05:555 log task size: 1 +15:44:05:555 log before pop task size: 1 +15:44:05:555 log after task size: 0 +15:44:05:755 log enqueue task +15:44:05:755 log task queue not empty +15:44:05:755 log task size: 1 +15:44:05:755 log before pop task size: 1 +15:44:05:755 log after task size: 0 +15:44:06:069 log timer task size: 1 +15:44:06:070 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:44:06:070 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:070 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:071 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:071 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:072 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:44:06:072 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:072 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:073 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:44:06:073 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:44:06:139 log enqueue task +15:44:06:139 log task queue not empty +15:44:06:139 log task size: 1 +15:44:06:139 log before pop task size: 1 +15:44:06:139 log after task size: 0 +15:44:06:260 log timer task size: 1 +15:44:06:260 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:44:06:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:262 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:262 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:263 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:44:06:263 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:263 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:264 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:44:06:264 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:44:06:641 log timer task size: 1 +15:44:06:641 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:44:06:642 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:642 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:643 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:643 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:44:06:644 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:44:06:644 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:644 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:44:06:644 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:44:06:644 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:41:986 log enqueue task +15:51:41:986 log task queue not empty +15:51:41:986 log task size: 1 +15:51:41:986 log before pop task size: 1 +15:51:41:987 log after task size: 0 +15:51:41:995 log enqueue task +15:51:41:995 log task queue not empty +15:51:41:995 log task size: 1 +15:51:41:996 log before pop task size: 1 +15:51:41:996 log after task size: 0 +15:51:42:250 log enqueue task +15:51:42:250 log task queue not empty +15:51:42:250 log task size: 1 +15:51:42:250 log before pop task size: 1 +15:51:42:250 log after task size: 0 +15:51:42:492 log timer task size: 1 +15:51:42:492 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +15:51:42:492 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:494 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:51:42:494 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +15:51:42:494 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +15:51:42:494 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:51:42:494 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:51:42:494 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +15:51:42:494 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:51:42:495 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:51:42:495 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:51:42:495 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:495 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:496 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:51:42:496 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:42:496 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:42:508 log timer task size: 1 +15:51:42:508 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +15:51:42:508 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:51:42:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +15:51:42:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +15:51:42:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:51:42:510 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:51:42:510 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +15:51:42:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:51:42:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:51:42:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:51:42:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:510 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:51:42:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:42:511 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:42:762 log timer task size: 1 +15:51:42:762 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +15:51:42:762 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:763 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:51:42:763 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +15:51:42:763 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +15:51:42:764 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:51:42:764 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:51:42:764 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +15:51:42:764 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:51:42:764 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:51:42:764 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:51:42:764 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:764 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:42:765 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:51:42:765 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:42:765 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:42:849 log enqueue task +15:51:42:850 log task queue not empty +15:51:42:850 log task size: 1 +15:51:42:850 log before pop task size: 1 +15:51:42:850 log after task size: 0 +15:51:43:361 log timer task size: 1 +15:51:43:361 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +15:51:43:361 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:43:362 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:51:43:362 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +15:51:43:362 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +15:51:43:362 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:51:43:362 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:51:43:362 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +15:51:43:362 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:51:43:362 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:51:43:363 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:51:43:363 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:43:363 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:43:363 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:51:43:363 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:43:363 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:45:356 log enqueue task +15:51:45:356 log task queue not empty +15:51:45:356 log task size: 1 +15:51:45:356 log before pop task size: 1 +15:51:45:356 log after task size: 0 +15:51:45:867 log timer task size: 1 +15:51:45:867 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +15:51:45:867 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:45:868 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:51:45:869 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +15:51:45:869 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +15:51:45:869 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:51:45:869 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:51:45:869 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +15:51:45:869 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:51:45:869 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +15:51:45:869 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:51:45:869 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:45:869 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:51:45:870 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:51:45:870 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:51:45:870 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:25:212 log enqueue task +09:15:25:716 log timer task size: 1 +09:15:25:717 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:25:717 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:25:718 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:25:719 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:25:719 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:25:719 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:25:719 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:25:719 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:25:719 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:25:719 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:25:719 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:25:720 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:25:720 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:25:720 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:27:411 log enqueue task +09:15:27:411 log task queue not empty +09:15:27:411 log task size: 1 +09:15:27:411 log before pop task size: 1 +09:15:27:412 log after task size: 0 +09:15:27:695 log enqueue task +09:15:27:695 log task queue not empty +09:15:27:695 log task size: 1 +09:15:27:695 log before pop task size: 1 +09:15:27:695 log after task size: 0 +09:15:27:699 log enqueue task +09:15:27:699 log task queue not empty +09:15:27:699 log task size: 1 +09:15:27:699 log before pop task size: 1 +09:15:27:700 log after task size: 0 +09:15:27:923 log timer task size: 1 +09:15:27:923 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:27:923 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:27:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:27:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:27:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:27:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:27:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:27:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:27:925 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:27:925 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:27:925 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:27:926 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:27:926 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:27:926 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:197 log enqueue task +09:15:28:198 log task queue not empty +09:15:28:198 log task size: 1 +09:15:28:198 log before pop task size: 1 +09:15:28:198 log after task size: 0 +09:15:28:202 log enqueue task +09:15:28:202 log task queue not empty +09:15:28:202 log task size: 1 +09:15:28:203 log before pop task size: 1 +09:15:28:203 log after task size: 0 +09:15:28:211 log timer task size: 1 +09:15:28:211 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:28:211 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:211 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:213 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:28:213 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:28:213 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:28:213 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:28:213 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:28:214 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:28:214 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:28:214 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:214 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:214 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:28:214 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:28:214 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:28:215 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:28:215 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:28:215 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:28:215 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:28:215 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:28:215 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:215 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h + +09:15:28:216 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:28:217 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:217 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:384 log enqueue task +09:15:28:384 log task queue not empty +09:15:28:384 log task size: 1 +09:15:28:384 log before pop task size: 1 +09:15:28:384 log after task size: 0 +09:15:28:705 log timer task size: 1 +09:15:28:705 log timer task size: 1 +09:15:28:705 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:28:705 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:28:705 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:705 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:706 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:28:707 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:28:707 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:707 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:28:707 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:28:708 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:28:708 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:28:708 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:28:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:28:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:28:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:708 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:708 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:709 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:28:709 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:709 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:797 log enqueue task +09:15:28:798 log task queue not empty +09:15:28:798 log task size: 1 +09:15:28:798 log before pop task size: 1 +09:15:28:798 log after task size: 0 +09:15:28:894 log timer task size: 1 +09:15:28:894 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:28:894 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:895 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:28:895 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:28:896 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:28:896 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:28:896 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:28:896 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:28:896 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:28:896 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:896 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:28:897 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:28:897 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:28:897 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:29:132 log enqueue task +09:15:29:132 log task queue not empty +09:15:29:132 log task size: 1 +09:15:29:132 log before pop task size: 1 +09:15:29:132 log after task size: 0 +09:15:29:305 log timer task size: 1 +09:15:29:305 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:29:306 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:307 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:29:307 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:29:307 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:29:307 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:29:307 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:29:308 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:29:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:29:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:308 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:29:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:29:309 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:29:366 log enqueue task +09:15:29:366 log task queue not empty +09:15:29:366 log task size: 1 +09:15:29:366 log before pop task size: 1 +09:15:29:366 log after task size: 0 +09:15:29:639 log timer task size: 1 +09:15:29:639 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:29:639 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:641 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:29:642 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:29:642 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:29:642 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:29:642 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:29:642 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:29:642 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:29:642 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:642 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:644 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:29:644 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:29:644 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:29:876 log timer task size: 1 +09:15:29:876 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:29:877 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:29:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:29:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:29:879 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:29:879 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:29:879 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:29:879 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:29:879 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:879 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:29:880 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:29:880 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:29:881 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:29:903 log enqueue task +09:15:29:903 log task queue not empty +09:15:29:903 log task size: 1 +09:15:29:903 log before pop task size: 1 +09:15:29:903 log after task size: 0 +09:15:30:101 log enqueue task +09:15:30:101 log task queue not empty +09:15:30:101 log task size: 1 +09:15:30:101 log before pop task size: 1 +09:15:30:101 log after task size: 0 +09:15:30:286 log enqueue task +09:15:30:287 log task queue not empty +09:15:30:287 log task size: 1 +09:15:30:287 log before pop task size: 1 +09:15:30:287 log after task size: 0 +09:15:30:414 log timer task size: 1 +09:15:30:415 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:30:415 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:416 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:30:416 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:30:416 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:30:416 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:30:416 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:30:417 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:30:417 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:30:417 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:417 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:418 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:30:418 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:30:418 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:30:606 log timer task size: 1 +09:15:30:607 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:30:607 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:608 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:30:608 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:30:608 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:30:608 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:30:608 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:30:608 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:30:609 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:30:609 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:609 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:610 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:30:610 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:30:610 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:30:797 log timer task size: 1 +09:15:30:797 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:30:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:30:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:30:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:30:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:30:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:30:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:30:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:30:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:799 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:30:800 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:30:800 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:30:800 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:31:479 log enqueue task +09:15:31:479 log task queue not empty +09:15:31:479 log task size: 1 +09:15:31:479 log before pop task size: 1 +09:15:31:479 log after task size: 0 +09:15:31:992 log timer task size: 1 +09:15:31:992 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:31:992 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:31:993 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:31:993 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:31:993 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:31:993 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:31:994 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:31:994 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:31:994 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:31:994 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:31:994 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:31:994 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:31:994 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:31:994 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:32:147 log enqueue task +09:15:32:147 log task queue not empty +09:15:32:147 log task size: 1 +09:15:32:148 log before pop task size: 1 +09:15:32:148 log after task size: 0 +09:15:32:167 log enqueue task +09:15:32:167 log task queue not empty +09:15:32:167 log task size: 1 +09:15:32:167 log before pop task size: 1 +09:15:32:167 log after task size: 0 +09:15:32:180 log enqueue task +09:15:32:180 log task queue not empty +09:15:32:180 log task size: 1 +09:15:32:180 log before pop task size: 1 +09:15:32:181 log after task size: 0 +09:15:32:663 log timer task size: 1 +09:15:32:663 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:32:663 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:664 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:32:664 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:32:664 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:32:665 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:32:665 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:32:665 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:32:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:32:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:665 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:32:666 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:32:666 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:32:679 log timer task size: 1 +09:15:32:679 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:32:679 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:680 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:32:680 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:32:680 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:32:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:32:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:32:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:32:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:32:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:681 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:32:682 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:32:682 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:32:695 log timer task size: 1 +09:15:32:695 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:32:696 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:32:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:32:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:32:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:32:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:32:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:32:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:32:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:697 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:32:698 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:32:698 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:32:698 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:33:065 log enqueue task +09:15:33:065 log task queue not empty +09:15:33:065 log task size: 1 +09:15:33:065 log before pop task size: 1 +09:15:33:065 log after task size: 0 +09:15:33:397 log enqueue task +09:15:33:397 log task queue not empty +09:15:33:397 log task size: 1 +09:15:33:397 log before pop task size: 1 +09:15:33:398 log after task size: 0 +09:15:33:529 log enqueue task +09:15:33:533 log task queue not empty +09:15:33:533 log task size: 1 +09:15:33:533 log before pop task size: 1 +09:15:33:533 log after task size: 0 +09:15:33:572 log timer task size: 1 +09:15:33:573 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:33:573 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:33:574 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:33:575 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:33:575 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:33:575 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:33:575 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:33:575 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:33:575 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:33:575 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:33:575 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:33:576 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:33:576 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:33:577 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:33:694 log enqueue task +09:15:33:694 log task queue not empty +09:15:33:694 log task size: 1 +09:15:33:694 log before pop task size: 1 +09:15:33:694 log after task size: 0 +09:15:33:893 log enqueue task +09:15:33:893 log task queue not empty +09:15:33:894 log task size: 1 +09:15:33:894 log before pop task size: 1 +09:15:33:894 log after task size: 0 +09:15:33:904 log timer task size: 1 +09:15:33:905 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:33:905 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:33:906 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:33:906 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:33:906 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:33:907 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:33:907 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:33:907 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:33:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:33:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:33:907 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:33:908 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:33:908 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:33:908 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:046 log timer task size: 1 +09:15:34:047 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:34:047 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:048 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:34:048 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:34:048 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:34:048 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:34:048 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:34:048 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:34:048 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:34:048 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:048 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:049 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:34:049 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:049 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:142 log enqueue task +09:15:34:142 log task queue not empty +09:15:34:143 log task size: 1 +09:15:34:143 log before pop task size: 1 +09:15:34:143 log after task size: 0 +09:15:34:206 log timer task size: 1 +09:15:34:207 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:34:207 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:208 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:34:208 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:34:208 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:34:208 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:34:208 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:34:208 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:34:208 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:34:208 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:209 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:209 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:34:209 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:209 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:397 log timer task size: 1 +09:15:34:398 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:34:398 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:399 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:34:399 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:34:399 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:34:399 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:34:400 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:34:400 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:34:400 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:34:400 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:400 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:400 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:34:401 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:401 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:651 log timer task size: 1 +09:15:34:652 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:34:652 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:653 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:34:653 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:34:653 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:34:653 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:34:653 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:34:653 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:34:653 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:34:653 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:653 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:34:654 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:34:654 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:654 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:34:717 log enqueue task +09:15:34:717 log task queue not empty +09:15:34:717 log task size: 1 +09:15:34:717 log before pop task size: 1 +09:15:34:717 log after task size: 0 +09:15:35:224 log timer task size: 1 +09:15:35:225 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:35:225 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:35:226 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:35:226 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:35:226 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:35:226 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:35:227 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:35:227 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:35:227 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:35:227 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:35:227 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:35:228 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:35:228 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:35:228 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:35:876 log enqueue task +09:15:35:877 log task queue not empty +09:15:35:877 log task size: 1 +09:15:35:877 log before pop task size: 1 +09:15:35:877 log after task size: 0 +09:15:36:095 log enqueue task +09:15:36:095 log task queue not empty +09:15:36:095 log task size: 1 +09:15:36:095 log before pop task size: 1 +09:15:36:095 log after task size: 0 +09:15:36:383 log timer task size: 1 +09:15:36:384 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:36:384 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:36:385 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:36:385 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:36:385 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:36:386 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:36:386 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:36:386 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:36:386 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:36:386 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:36:386 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:36:387 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:36:387 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:36:387 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:36:580 log enqueue task +09:15:36:580 log task queue not empty +09:15:36:581 log task size: 1 +09:15:36:581 log before pop task size: 1 +09:15:36:581 log after task size: 0 +09:15:36:604 log timer task size: 1 +09:15:36:605 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:36:605 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:36:606 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:36:606 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:36:606 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:36:606 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:36:606 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:36:606 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:36:606 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:36:606 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:36:607 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:36:607 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:36:607 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:36:607 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:36:766 log enqueue task +09:15:36:766 log task queue not empty +09:15:36:767 log task size: 1 +09:15:36:767 log before pop task size: 1 +09:15:36:767 log after task size: 0 +09:15:36:869 log enqueue task +09:15:36:869 log task queue not empty +09:15:36:869 log task size: 1 +09:15:36:869 log before pop task size: 1 +09:15:36:869 log after task size: 0 +09:15:37:096 log timer task size: 1 +09:15:37:097 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:37:097 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:37:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:37:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:37:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:37:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:37:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:37:098 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:37:098 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:098 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:099 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:37:099 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:099 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:270 log timer task size: 1 +09:15:37:271 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:37:271 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:272 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:37:272 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:37:272 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:37:272 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:37:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:37:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:37:273 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:37:273 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:273 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:273 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:37:273 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:273 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:285 log enqueue task +09:15:37:285 log task queue not empty +09:15:37:285 log task size: 1 +09:15:37:285 log before pop task size: 1 +09:15:37:286 log after task size: 0 +09:15:37:290 log enqueue task +09:15:37:290 log task queue not empty +09:15:37:290 log task size: 1 +09:15:37:290 log before pop task size: 1 +09:15:37:290 log after task size: 0 +09:15:37:381 log timer task size: 1 +09:15:37:382 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:37:382 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:383 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:37:383 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:37:383 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:37:383 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:37:383 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:37:383 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:37:384 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:37:384 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:384 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:385 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:37:385 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:385 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:796 log timer task size: 1 +09:15:37:797 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:37:797 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:797 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:37:797 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:37:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:37:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:37:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:37:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:37:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:37:798 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:37:798 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:798 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:37:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:37:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:37:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:37:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:37:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:37:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:37:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:37:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:799 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:799 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:37:800 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:37:800 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:37:800 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:38:237 log enqueue task +09:15:38:237 log task queue not empty +09:15:38:237 log task size: 1 +09:15:38:237 log before pop task size: 1 +09:15:38:237 log after task size: 0 +09:15:38:492 log enqueue task +09:15:38:492 log task queue not empty +09:15:38:492 log task size: 1 +09:15:38:492 log before pop task size: 1 +09:15:38:492 log after task size: 0 +09:15:38:734 log enqueue task +09:15:38:734 log task queue not empty +09:15:38:734 log task size: 1 +09:15:38:735 log before pop task size: 1 +09:15:38:735 log after task size: 0 +09:15:38:751 log timer task size: 1 +09:15:38:752 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:38:752 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:38:755 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:38:755 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:38:755 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:38:756 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:38:756 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:38:756 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:38:756 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:38:757 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:38:757 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:38:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:38:759 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:38:759 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:39:004 log timer task size: 1 +09:15:39:004 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:39:004 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:005 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:39:005 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:39:006 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:39:006 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:39:006 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:39:006 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:39:006 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:39:006 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:006 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:007 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:39:007 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:39:007 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:39:070 log enqueue task +09:15:39:070 log task queue not empty +09:15:39:070 log task size: 1 +09:15:39:070 log before pop task size: 1 +09:15:39:071 log after task size: 0 +09:15:39:242 log timer task size: 1 +09:15:39:242 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:39:242 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:244 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:39:244 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:39:244 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:39:244 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:39:244 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:39:245 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:39:245 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:39:245 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:245 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:246 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:39:246 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:39:246 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:39:575 log timer task size: 1 +09:15:39:575 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:39:575 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:576 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:39:577 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:39:577 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:39:577 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:39:577 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:39:577 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:39:577 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:39:577 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:577 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:39:578 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:39:578 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:39:578 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:40:478 log enqueue task +09:15:40:478 log task queue not empty +09:15:40:478 log task size: 1 +09:15:40:478 log before pop task size: 1 +09:15:40:478 log after task size: 0 +09:15:40:783 log enqueue task +09:15:40:784 log task queue not empty +09:15:40:784 log task size: 1 +09:15:40:784 log before pop task size: 1 +09:15:40:784 log after task size: 0 +09:15:40:987 log timer task size: 1 +09:15:40:987 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:40:987 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:40:988 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:40:989 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:40:989 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:40:989 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:40:989 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:40:989 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:40:989 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:40:989 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:40:989 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:40:990 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:40:990 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:40:990 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:117 log enqueue task +09:15:41:117 log task queue not empty +09:15:41:118 log task size: 1 +09:15:41:118 log before pop task size: 1 +09:15:41:118 log after task size: 0 +09:15:41:202 log enqueue task +09:15:41:202 log task queue not empty +09:15:41:202 log task size: 1 +09:15:41:202 log before pop task size: 1 +09:15:41:202 log after task size: 0 +09:15:41:289 log timer task size: 1 +09:15:41:289 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:41:289 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:290 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:41:290 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:41:290 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:41:290 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:41:290 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:41:290 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:41:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:41:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:291 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:41:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:291 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:382 log enqueue task +09:15:41:382 log task queue not empty +09:15:41:382 log task size: 1 +09:15:41:382 log before pop task size: 1 +09:15:41:382 log after task size: 0 +09:15:41:582 log enqueue task +09:15:41:582 log task queue not empty +09:15:41:582 log task size: 1 +09:15:41:582 log before pop task size: 1 +09:15:41:582 log after task size: 0 +09:15:41:621 log timer task size: 1 +09:15:41:621 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:41:621 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:622 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:41:622 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:41:622 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:41:622 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:41:622 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:41:622 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:41:623 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:41:623 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:623 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:41:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:624 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:716 log timer task size: 1 +09:15:41:716 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:41:716 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:717 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:41:717 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:41:718 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:41:718 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:41:718 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:41:718 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:41:718 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:41:718 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:719 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:719 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:41:720 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:720 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:890 log timer task size: 1 +09:15:41:890 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:41:890 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:41:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:41:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:41:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:41:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:41:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:41:891 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:41:891 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:891 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:41:892 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:41:892 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:892 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:41:993 log enqueue task +09:15:41:993 log task queue not empty +09:15:41:993 log task size: 1 +09:15:41:993 log before pop task size: 1 +09:15:41:993 log after task size: 0 +09:15:42:007 log enqueue task +09:15:42:007 log task queue not empty +09:15:42:007 log task size: 1 +09:15:42:007 log before pop task size: 1 +09:15:42:007 log after task size: 0 +09:15:42:020 log enqueue task +09:15:42:020 log task queue not empty +09:15:42:021 log task size: 1 +09:15:42:021 log before pop task size: 1 +09:15:42:021 log after task size: 0 +09:15:42:097 log timer task size: 1 +09:15:42:097 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:42:097 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:42:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:42:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:42:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:42:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:42:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:42:098 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:42:098 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:099 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:099 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:42:099 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:100 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:509 log timer task size: 1 +09:15:42:509 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:42:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:510 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:42:510 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:42:511 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:42:511 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:42:511 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:42:511 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:42:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:42:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:511 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:511 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:42:511 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:42:512 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:42:512 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:42:512 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:42:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:42:512 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:42:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:512 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:42:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:512 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:513 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:42:513 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:514 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:525 log timer task size: 1 +09:15:42:525 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:42:525 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:42:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:42:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:42:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:42:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:42:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:42:526 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:42:526 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:526 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:42:527 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:42:527 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:527 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:42:766 log enqueue task +09:15:42:766 log task queue not empty +09:15:42:767 log task size: 1 +09:15:42:767 log before pop task size: 1 +09:15:42:767 log after task size: 0 +09:15:43:261 log enqueue task +09:15:43:261 log task queue not empty +09:15:43:261 log task size: 1 +09:15:43:261 log before pop task size: 1 +09:15:43:261 log after task size: 0 +09:15:43:274 log timer task size: 1 +09:15:43:274 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:43:274 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:275 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:43:275 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:43:275 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:43:276 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:43:276 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:43:276 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:43:279 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:43:279 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:279 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:280 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:43:280 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:43:280 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:43:381 log enqueue task +09:15:43:381 log task queue not empty +09:15:43:381 log task size: 1 +09:15:43:381 log before pop task size: 1 +09:15:43:382 log after task size: 0 +09:15:43:548 log enqueue task +09:15:43:549 log task queue not empty +09:15:43:549 log task size: 1 +09:15:43:549 log before pop task size: 1 +09:15:43:549 log after task size: 0 +09:15:43:764 log timer task size: 1 +09:15:43:764 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:43:764 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:765 log enqueue task +09:15:43:765 log task queue not empty +09:15:43:765 log task size: 1 +09:15:43:765 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:43:766 log after task size: 0 +09:15:43:766 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:43:766 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:43:766 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:43:766 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:43:766 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:43:766 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:43:766 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:766 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:767 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:43:767 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:43:767 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:43:891 log timer task size: 1 +09:15:43:891 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:43:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:893 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:43:893 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:43:893 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:43:893 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:43:893 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:43:894 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:43:894 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:43:894 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:894 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:43:895 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:43:895 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:43:895 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:43:973 log enqueue task +09:15:43:973 log task queue not empty +09:15:43:973 log task size: 1 +09:15:43:973 log before pop task size: 1 +09:15:43:973 log after task size: 0 +09:15:44:064 log timer task size: 1 +09:15:44:064 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:44:064 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:065 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:44:066 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:44:066 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:44:066 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:44:066 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:44:066 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:44:066 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:44:066 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:066 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:067 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:44:067 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:067 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:272 log timer task size: 1 +09:15:44:272 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:44:272 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:44:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:44:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:44:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:44:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:44:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:44:274 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:44:274 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:274 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:274 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:44:274 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:274 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:374 log enqueue task +09:15:44:374 log task queue not empty +09:15:44:374 log task size: 1 +09:15:44:374 log before pop task size: 1 +09:15:44:374 log after task size: 0 +09:15:44:479 log timer task size: 1 +09:15:44:479 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:44:479 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:480 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:44:481 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:44:481 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:44:481 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:44:481 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:44:481 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:44:481 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:44:481 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:481 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:482 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:44:482 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:483 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:757 log enqueue task +09:15:44:757 log task queue not empty +09:15:44:757 log task size: 1 +09:15:44:757 log before pop task size: 1 +09:15:44:757 log after task size: 0 +09:15:44:876 log timer task size: 1 +09:15:44:876 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:44:876 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:877 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:44:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:44:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:44:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:44:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:44:880 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:44:880 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:44:880 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:880 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:44:882 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:44:882 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:882 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:44:965 log enqueue task +09:15:44:966 log task queue not empty +09:15:44:966 log task size: 1 +09:15:44:966 log before pop task size: 1 +09:15:44:966 log after task size: 0 +09:15:45:259 log timer task size: 1 +09:15:45:259 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:45:259 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:45:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:45:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:45:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:45:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:45:261 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:45:261 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:45:261 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:261 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:262 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:45:263 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:45:263 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:45:404 log enqueue task +09:15:45:404 log task queue not empty +09:15:45:404 log task size: 1 +09:15:45:404 log before pop task size: 1 +09:15:45:404 log after task size: 0 +09:15:45:467 log timer task size: 1 +09:15:45:467 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:45:467 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:469 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:45:469 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:45:469 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:45:469 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:45:469 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:45:469 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:45:469 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:45:469 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:469 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:470 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:45:470 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:45:470 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:45:508 log enqueue task +09:15:45:508 log task queue not empty +09:15:45:509 log task size: 1 +09:15:45:509 log before pop task size: 1 +09:15:45:509 log after task size: 0 +09:15:45:693 log enqueue task +09:15:45:693 log task queue not empty +09:15:45:693 log task size: 1 +09:15:45:693 log before pop task size: 1 +09:15:45:693 log after task size: 0 +09:15:45:913 log timer task size: 1 +09:15:45:913 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:45:913 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:915 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:45:915 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:45:915 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:45:915 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:45:916 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:45:916 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:45:916 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:45:916 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:916 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:45:918 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:45:918 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:45:918 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:025 log timer task size: 1 +09:15:46:025 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:46:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:027 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:46:027 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:46:027 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:46:027 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:46:027 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:46:028 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:46:028 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:46:028 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:028 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:029 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:46:029 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:029 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:197 log enqueue task +09:15:46:197 log task queue not empty +09:15:46:197 log task size: 1 +09:15:46:197 log before pop task size: 1 +09:15:46:197 log after task size: 0 +09:15:46:200 log timer task size: 1 +09:15:46:200 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:46:200 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:202 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:46:202 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:46:202 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:46:202 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:46:202 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:46:203 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:46:203 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:46:203 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:203 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:204 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:46:204 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:204 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:407 log enqueue task +09:15:46:407 log task queue not empty +09:15:46:407 log task size: 1 +09:15:46:407 log before pop task size: 1 +09:15:46:407 log after task size: 0 +09:15:46:479 log enqueue task +09:15:46:480 log task queue not empty +09:15:46:480 log task size: 1 +09:15:46:480 log before pop task size: 1 +09:15:46:480 log after task size: 0 +09:15:46:709 log timer task size: 1 +09:15:46:709 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:46:709 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:710 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:46:710 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:46:710 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:46:711 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:46:711 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:46:711 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:46:711 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:46:711 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:711 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:712 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:46:712 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:712 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:751 log enqueue task +09:15:46:751 log task queue not empty +09:15:46:751 log task size: 1 +09:15:46:751 log before pop task size: 1 +09:15:46:751 log after task size: 0 +09:15:46:917 log timer task size: 1 +09:15:46:917 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:46:917 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:919 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:46:919 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:46:919 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:46:919 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:46:919 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:46:919 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:46:919 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:46:919 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:919 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:920 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:46:920 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:920 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:981 log timer task size: 1 +09:15:46:981 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:46:981 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:982 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:46:982 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:46:982 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:46:982 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:46:983 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:46:983 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:46:983 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:46:983 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:983 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:46:984 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:46:984 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:46:984 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:47:037 log enqueue task +09:15:47:037 log task queue not empty +09:15:47:037 log task size: 1 +09:15:47:037 log before pop task size: 1 +09:15:47:037 log after task size: 0 +09:15:47:175 log enqueue task +09:15:47:175 log task queue not empty +09:15:47:175 log task size: 1 +09:15:47:175 log before pop task size: 1 +09:15:47:175 log after task size: 0 +09:15:47:253 log timer task size: 1 +09:15:47:253 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:47:253 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:255 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:47:255 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:47:255 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:47:255 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:47:256 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:47:256 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:47:256 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:47:256 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:256 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:257 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:47:257 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:47:257 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:47:553 log timer task size: 1 +09:15:47:553 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:47:553 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:555 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:47:555 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:47:555 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:47:556 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:47:556 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:47:556 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:47:556 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:47:556 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:556 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:557 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:47:557 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:47:557 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:47:681 log timer task size: 1 +09:15:47:681 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:47:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:682 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:47:682 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:47:682 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:47:682 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:47:682 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:47:683 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:47:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:47:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:683 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:47:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:47:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:47:684 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:47:703 log enqueue task +09:15:47:703 log task queue not empty +09:15:47:703 log task size: 1 +09:15:47:703 log before pop task size: 1 +09:15:47:703 log after task size: 0 +09:15:48:205 log timer task size: 1 +09:15:48:205 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:48:205 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:48:207 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:48:207 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:48:207 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:48:207 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:48:207 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:48:208 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:48:208 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:48:208 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:48:208 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:48:209 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:48:209 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:48:209 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:48:269 log enqueue task +09:15:48:269 log task queue not empty +09:15:48:269 log task size: 1 +09:15:48:269 log before pop task size: 1 +09:15:48:269 log after task size: 0 +09:15:48:559 log enqueue task +09:15:48:559 log task queue not empty +09:15:48:560 log task size: 1 +09:15:48:560 log before pop task size: 1 +09:15:48:560 log after task size: 0 +09:15:48:778 log timer task size: 1 +09:15:48:778 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:48:778 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:48:780 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:48:780 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:48:780 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:48:780 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:48:781 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:48:781 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:48:781 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:48:781 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:48:781 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:48:782 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:48:782 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:48:782 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:49:066 log timer task size: 1 +09:15:49:066 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:49:066 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:49:067 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:49:067 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:49:068 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:49:068 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:49:068 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:49:068 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:49:068 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:49:068 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:49:068 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:49:069 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:49:069 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:49:069 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:49:445 log enqueue task +09:15:49:445 log task queue not empty +09:15:49:445 log task size: 1 +09:15:49:445 log before pop task size: 1 +09:15:49:445 log after task size: 0 +09:15:49:615 log enqueue task +09:15:49:615 log task queue not empty +09:15:49:615 log task size: 1 +09:15:49:615 log before pop task size: 1 +09:15:49:615 log after task size: 0 +09:15:49:815 log enqueue task +09:15:49:815 log task queue not empty +09:15:49:815 log task size: 1 +09:15:49:815 log before pop task size: 1 +09:15:49:815 log after task size: 0 +09:15:49:961 log timer task size: 1 +09:15:49:961 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:49:961 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:49:963 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:49:963 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:49:963 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:49:963 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:49:963 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:49:963 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:49:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:49:964 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:49:964 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:49:965 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:49:965 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:49:965 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:120 log timer task size: 1 +09:15:50:120 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:50:120 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:121 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:50:121 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:50:121 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:50:122 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:50:122 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:50:122 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:50:122 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:50:122 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:122 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:123 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:50:123 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:123 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:149 log enqueue task +09:15:50:149 log task queue not empty +09:15:50:149 log task size: 1 +09:15:50:150 log before pop task size: 1 +09:15:50:150 log after task size: 0 +09:15:50:234 log enqueue task +09:15:50:234 log task queue not empty +09:15:50:234 log task size: 1 +09:15:50:235 log before pop task size: 1 +09:15:50:235 log after task size: 0 +09:15:50:328 log timer task size: 1 +09:15:50:328 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:50:328 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:50:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:50:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:50:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:50:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:50:331 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:50:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:50:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:331 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:50:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:332 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:583 log enqueue task +09:15:50:583 log task queue not empty +09:15:50:583 log task size: 1 +09:15:50:583 log before pop task size: 1 +09:15:50:583 log after task size: 0 +09:15:50:597 log enqueue task +09:15:50:597 log task queue not empty +09:15:50:598 log task size: 1 +09:15:50:598 log before pop task size: 1 +09:15:50:598 log after task size: 0 +09:15:50:607 log enqueue task +09:15:50:607 log task queue not empty +09:15:50:607 log task size: 1 +09:15:50:607 log before pop task size: 1 +09:15:50:607 log after task size: 0 +09:15:50:664 log timer task size: 1 +09:15:50:664 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:50:664 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:666 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:50:666 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:50:666 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:50:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:50:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:50:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:50:667 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:50:667 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:667 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:668 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:50:668 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:669 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:744 log timer task size: 1 +09:15:50:744 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:50:744 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:747 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:50:747 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:50:747 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:50:747 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:50:747 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:50:747 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:50:747 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:50:747 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:747 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:50:749 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:50:749 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:50:749 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:093 log timer task size: 1 +09:15:51:093 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:51:093 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:095 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:51:095 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:51:095 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:51:095 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:51:096 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:51:096 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:51:096 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:51:096 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:096 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:097 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:51:097 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:097 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:109 log timer task size: 1 +09:15:51:109 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:51:109 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:51:109 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:109 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:110 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:51:111 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:51:111 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:51:111 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:51:111 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:51:111 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:51:111 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:51:111 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:111 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:111 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:51:112 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:51:112 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:51:112 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:51:112 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:51:112 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:51:112 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:51:112 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:112 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:51:112 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:112 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:112 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:113 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:51:113 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:113 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:159 log enqueue task +09:15:51:159 log task queue not empty +09:15:51:159 log task size: 1 +09:15:51:159 log before pop task size: 1 +09:15:51:159 log after task size: 0 +09:15:51:665 log timer task size: 1 +09:15:51:665 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:51:665 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:666 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:51:666 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:51:666 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:51:666 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:51:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:51:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:51:667 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:51:667 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:667 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:51:668 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:51:668 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:668 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:51:734 log enqueue task +09:15:51:734 log task queue not empty +09:15:51:734 log task size: 1 +09:15:51:735 log before pop task size: 1 +09:15:51:735 log after task size: 0 +09:15:52:031 log enqueue task +09:15:52:031 log task queue not empty +09:15:52:031 log task size: 1 +09:15:52:031 log before pop task size: 1 +09:15:52:031 log after task size: 0 +09:15:52:238 log timer task size: 1 +09:15:52:238 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:52:238 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:239 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:52:239 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:52:239 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:52:239 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:52:240 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:52:240 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:52:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:52:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:240 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:241 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:52:241 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:52:241 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:52:421 log enqueue task +09:15:52:421 log task queue not empty +09:15:52:421 log task size: 1 +09:15:52:422 log before pop task size: 1 +09:15:52:422 log after task size: 0 +09:15:52:541 log timer task size: 1 +09:15:52:541 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:52:541 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:545 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:52:546 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:52:546 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:52:546 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:52:546 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:52:546 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:52:546 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:52:546 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:547 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:548 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:52:548 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:52:548 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:52:925 log timer task size: 1 +09:15:52:925 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:52:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:927 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:52:927 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:52:927 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:52:927 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:52:927 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:52:928 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:52:928 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:52:928 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:928 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:52:929 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:52:929 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:52:929 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:52:957 log enqueue task +09:15:52:958 log task queue not empty +09:15:52:958 log task size: 1 +09:15:52:958 log before pop task size: 1 +09:15:52:958 log after task size: 0 +09:15:53:198 log enqueue task +09:15:53:198 log task queue not empty +09:15:53:198 log task size: 1 +09:15:53:198 log before pop task size: 1 +09:15:53:198 log after task size: 0 +09:15:53:464 log timer task size: 1 +09:15:53:464 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:53:464 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:53:465 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:53:465 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:53:465 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:53:466 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:53:466 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:53:466 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:53:466 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:53:466 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:53:466 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:53:467 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:53:467 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:53:467 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:53:518 log enqueue task +09:15:53:518 log task queue not empty +09:15:53:518 log task size: 1 +09:15:53:518 log before pop task size: 1 +09:15:53:518 log after task size: 0 +09:15:53:704 log timer task size: 1 +09:15:53:704 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:53:704 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:53:706 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:53:706 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:53:706 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:53:706 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:53:706 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:53:706 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:53:706 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:53:707 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:53:707 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:53:707 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:53:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:53:708 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:53:870 log enqueue task +09:15:53:870 log task queue not empty +09:15:53:870 log task size: 1 +09:15:53:870 log before pop task size: 1 +09:15:53:870 log after task size: 0 +09:15:54:023 log timer task size: 1 +09:15:54:023 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:54:023 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:54:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:54:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:54:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:54:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:54:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:54:025 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:54:026 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:026 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:027 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:54:027 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:54:027 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:54:372 log timer task size: 1 +09:15:54:372 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:54:372 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:373 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:54:373 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:54:373 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:54:374 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:54:374 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:54:374 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:54:374 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:54:374 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:374 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:375 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:54:375 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:54:375 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:54:415 log enqueue task +09:15:54:415 log task queue not empty +09:15:54:415 log task size: 1 +09:15:54:415 log before pop task size: 1 +09:15:54:415 log after task size: 0 +09:15:54:662 log enqueue task +09:15:54:662 log task queue not empty +09:15:54:662 log task size: 1 +09:15:54:662 log before pop task size: 1 +09:15:54:662 log after task size: 0 +09:15:54:801 log enqueue task +09:15:54:801 log task queue not empty +09:15:54:801 log task size: 1 +09:15:54:801 log before pop task size: 1 +09:15:54:801 log after task size: 0 +09:15:54:930 log timer task size: 1 +09:15:54:930 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:54:930 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:932 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:54:932 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:54:932 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:54:932 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:54:932 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:54:932 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:54:932 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:54:932 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:933 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:54:934 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:54:934 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:54:934 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:55:167 log timer task size: 1 +09:15:55:167 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:55:167 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:55:169 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:55:169 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:55:169 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:55:169 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:55:170 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:55:170 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:55:170 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:55:170 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:55:170 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:55:171 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:55:171 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:55:171 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:55:311 log timer task size: 1 +09:15:55:311 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:55:311 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:55:312 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:55:312 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:55:313 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:55:313 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:55:313 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:55:313 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:55:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:55:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:55:313 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:55:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:55:315 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:55:315 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:55:918 log enqueue task +09:15:55:919 log task queue not empty +09:15:55:919 log task size: 1 +09:15:55:919 log before pop task size: 1 +09:15:55:919 log after task size: 0 +09:15:56:045 log enqueue task +09:15:56:045 log task queue not empty +09:15:56:045 log task size: 1 +09:15:56:045 log before pop task size: 1 +09:15:56:045 log after task size: 0 +09:15:56:428 log timer task size: 1 +09:15:56:428 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:56:428 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:56:429 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:56:429 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:56:429 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:56:429 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:56:429 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:56:430 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:56:430 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:56:430 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:56:430 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:56:430 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:56:431 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:56:431 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:56:517 log enqueue task +09:15:56:517 log task queue not empty +09:15:56:518 log task size: 1 +09:15:56:518 log before pop task size: 1 +09:15:56:518 log after task size: 0 +09:15:56:555 log timer task size: 1 +09:15:56:555 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:56:555 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:56:557 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:56:557 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:56:557 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:56:557 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:56:557 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:56:558 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:56:558 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:56:558 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:56:558 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:56:559 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:56:559 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:56:559 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:57:019 log timer task size: 1 +09:15:57:019 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +09:15:57:019 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:57:021 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +09:15:57:021 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +09:15:57:021 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +09:15:57:021 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +09:15:57:021 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +09:15:57:021 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +09:15:57:021 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +09:15:57:022 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:57:022 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +09:15:57:022 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +09:15:57:022 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +09:15:57:022 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:30:13:707 log enqueue task +14:30:14:210 log timer task size: 1 +14:30:14:211 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/video_decoder.h +14:30:14:211 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:14:211 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:14:212 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +14:30:14:212 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:30:14:212 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:14:213 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:14:214 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:30:14:214 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:14:214 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:14:216 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:30:14:216 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:30:14:270 log enqueue task +14:30:14:270 log task queue not empty +14:30:14:271 log task size: 1 +14:30:14:271 log before pop task size: 1 +14:30:14:271 log after task size: 0 +14:30:14:772 log timer task size: 1 +14:30:14:772 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/video_decoder.h +14:30:14:772 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:14:772 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:14:774 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +14:30:14:774 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:30:14:774 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:14:774 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:14:776 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:30:14:776 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:14:776 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:14:778 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:30:14:778 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:30:27:312 log enqueue task +14:30:27:312 log task queue not empty +14:30:27:312 log task size: 1 +14:30:27:312 log before pop task size: 1 +14:30:27:312 log after task size: 0 +14:30:27:813 log timer task size: 1 +14:30:27:813 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/video_decoder.h +14:30:27:813 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:27:813 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:27:814 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +14:30:27:814 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:30:27:814 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:27:814 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:30:27:815 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:30:27:815 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:27:816 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:30:27:816 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:30:27:817 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:46:395 log enqueue task +14:31:46:395 log task queue not empty +14:31:46:395 log task size: 1 +14:31:46:395 log before pop task size: 1 +14:31:46:395 log after task size: 0 +14:31:46:571 log enqueue task +14:31:46:571 log task queue not empty +14:31:46:571 log task size: 1 +14:31:46:571 log before pop task size: 1 +14:31:46:571 log after task size: 0 +14:31:46:852 log enqueue task +14:31:46:853 log task queue not empty +14:31:46:853 log task size: 1 +14:31:46:853 log before pop task size: 1 +14:31:46:853 log after task size: 0 +14:31:46:896 log timer task size: 1 +14:31:46:896 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:31:46:897 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:46:897 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:46:899 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:31:46:899 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:31:46:899 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:31:46:899 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:31:46:899 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:31:46:899 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:31:46:899 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:31:46:899 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:31:46:900 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:46:900 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:46:901 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:31:46:901 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:46:901 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:46:903 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:46:903 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:47:072 log timer task size: 1 +14:31:47:072 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:31:47:072 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:47:072 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:47:074 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:31:47:074 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:31:47:074 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:31:47:074 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:31:47:074 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:31:47:074 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:31:47:074 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:31:47:074 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:31:47:075 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:47:075 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:47:076 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:31:47:077 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:47:077 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:47:079 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:47:079 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:47:354 log timer task size: 1 +14:31:47:354 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:31:47:354 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:47:354 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:47:355 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:31:47:356 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:31:47:356 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:31:47:356 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:31:47:356 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:31:47:356 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:31:47:356 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:31:47:356 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:31:47:356 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:47:356 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:47:357 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:31:47:357 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:47:357 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:47:358 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:47:358 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:56:923 log enqueue task +14:31:56:923 log task queue not empty +14:31:56:923 log task size: 1 +14:31:56:923 log before pop task size: 1 +14:31:56:924 log after task size: 0 +14:31:57:212 log enqueue task +14:31:57:213 log task queue not empty +14:31:57:213 log task size: 1 +14:31:57:213 log before pop task size: 1 +14:31:57:213 log after task size: 0 +14:31:57:425 log timer task size: 1 +14:31:57:425 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:31:57:425 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:57:425 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:57:426 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:31:57:427 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:31:57:427 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:31:57:427 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:31:57:427 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:31:57:427 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:31:57:427 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:31:57:427 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:31:57:427 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:57:427 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:57:428 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:31:57:428 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:57:429 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:57:429 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:57:430 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:57:714 log timer task size: 1 +14:31:57:714 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:31:57:714 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:57:714 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:57:715 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:31:57:715 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:31:57:715 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:31:57:715 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:31:57:715 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:31:57:715 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:31:57:716 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:31:57:716 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:31:57:716 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:57:716 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:31:57:717 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:31:57:717 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:57:717 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:31:57:718 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:31:57:718 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:09:147 log enqueue task +14:32:09:147 log task queue not empty +14:32:09:148 log task size: 1 +14:32:09:148 log before pop task size: 1 +14:32:09:148 log after task size: 0 +14:32:09:323 log enqueue task +14:32:09:323 log task queue not empty +14:32:09:324 log task size: 1 +14:32:09:324 log before pop task size: 1 +14:32:09:324 log after task size: 0 +14:32:09:596 log enqueue task +14:32:09:597 log task queue not empty +14:32:09:597 log task size: 1 +14:32:09:597 log before pop task size: 1 +14:32:09:597 log after task size: 0 +14:32:09:649 log timer task size: 1 +14:32:09:649 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:32:09:649 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:09:649 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:09:650 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:32:09:650 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:32:09:650 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:32:09:650 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:32:09:650 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:32:09:651 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:32:09:651 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:32:09:651 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:32:09:651 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:09:651 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:09:652 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:32:09:652 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:09:652 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:09:653 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:09:653 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:09:824 log timer task size: 1 +14:32:09:825 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:32:09:825 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:09:825 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:09:826 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:32:09:827 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:32:09:827 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:32:09:827 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:32:09:827 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:32:09:827 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:32:09:827 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:32:09:827 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:32:09:827 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:09:827 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:09:829 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:32:09:829 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:09:829 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:09:830 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:09:830 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:10:098 log timer task size: 1 +14:32:10:098 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:32:10:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:10:098 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:10:099 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:32:10:099 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:32:10:099 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:32:10:099 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:32:10:100 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:32:10:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:32:10:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:32:10:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:32:10:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:10:100 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:10:102 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:32:10:102 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:10:102 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:10:103 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:10:103 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:27:186 log enqueue task +14:32:27:186 log task queue not empty +14:32:27:186 log task size: 1 +14:32:27:186 log before pop task size: 1 +14:32:27:186 log after task size: 0 +14:32:27:194 log enqueue task +14:32:27:195 log task queue not empty +14:32:27:195 log task size: 1 +14:32:27:195 log before pop task size: 1 +14:32:27:195 log after task size: 0 +14:32:27:444 log enqueue task +14:32:27:445 log task queue not empty +14:32:27:445 log task size: 1 +14:32:27:445 log before pop task size: 1 +14:32:27:445 log after task size: 0 +14:32:27:687 log timer task size: 1 +14:32:27:687 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:32:27:687 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:687 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:688 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:32:27:688 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:32:27:688 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:32:27:688 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:32:27:688 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:32:27:688 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:32:27:689 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:32:27:689 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:32:27:689 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:689 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:690 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:32:27:690 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:690 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:691 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:27:691 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:27:696 log timer task size: 1 +14:32:27:696 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:32:27:696 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:696 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:32:27:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:32:27:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:32:27:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:32:27:697 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:32:27:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:32:27:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:32:27:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:32:27:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:697 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:699 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:32:27:699 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:699 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:700 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:27:700 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:27:945 log timer task size: 1 +14:32:27:946 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +14:32:27:946 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:946 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:947 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +14:32:27:947 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +14:32:27:947 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +14:32:27:947 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:32:27:947 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +14:32:27:948 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:32:27:948 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:32:27:948 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:32:27:948 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:948 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:32:27:949 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:32:27:949 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:949 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:32:27:950 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:32:27:950 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:56:54:114 log enqueue task +14:56:54:114 log task queue not empty +14:56:54:114 log task size: 1 +14:56:54:114 log before pop task size: 1 +14:56:54:114 log after task size: 0 +14:56:54:615 log timer task size: 1 +14:56:54:616 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +14:56:54:616 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:54:617 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +14:56:54:617 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:54:617 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:54:619 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:56:54:619 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:56:54:619 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:56:54:619 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:56:54:619 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:56:54:620 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:56:54:621 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:56:54:621 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:56:54:945 log enqueue task +14:56:54:945 log task queue not empty +14:56:54:945 log task size: 1 +14:56:54:945 log before pop task size: 1 +14:56:54:946 log after task size: 0 +14:56:55:446 log timer task size: 1 +14:56:55:446 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +14:56:55:446 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:55:447 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +14:56:55:447 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:55:447 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:55:448 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:56:55:448 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:56:55:448 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:56:55:448 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:56:55:449 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:56:55:449 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:56:55:449 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:56:55:449 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:56:57:496 log enqueue task +14:56:57:496 log task queue not empty +14:56:57:496 log task size: 1 +14:56:57:496 log before pop task size: 1 +14:56:57:496 log after task size: 0 +14:56:57:997 log timer task size: 1 +14:56:57:997 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +14:56:57:997 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:57:998 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +14:56:57:998 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:57:998 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:56:57:999 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:56:57:999 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +14:56:58:000 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:56:58:000 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:56:58:000 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:56:58:000 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +14:56:58:001 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +14:56:58:001 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:05:52:824 log enqueue task +15:05:52:824 log task queue not empty +15:05:52:824 log task size: 1 +15:05:52:824 log before pop task size: 1 +15:05:52:824 log after task size: 0 +15:05:53:161 log enqueue task +15:05:53:161 log task queue not empty +15:05:53:161 log task size: 1 +15:05:53:161 log before pop task size: 1 +15:05:53:161 log after task size: 0 +15:05:53:325 log timer task size: 1 +15:05:53:325 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_callback.h +15:05:53:325 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:05:53:325 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:05:53:327 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\audio_decoder.h +15:05:53:327 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +15:05:53:327 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:05:53:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:05:53:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +15:05:53:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:05:53:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:05:53:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:05:53:328 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:05:53:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:05:53:329 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:05:53:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:05:53:330 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:05:53:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:05:53:663 log timer task size: 1 +15:05:53:663 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_callback.h +15:05:53:663 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:05:53:663 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:05:53:665 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\audio_decoder.h +15:05:53:665 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +15:05:53:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:05:53:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:05:53:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +15:05:53:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:05:53:665 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:05:53:666 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:05:53:666 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +15:05:53:667 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:05:53:667 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +15:05:53:669 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:05:53:669 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +15:05:53:670 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:11:10:558 log enqueue task +10:11:10:558 log task queue not empty +10:11:10:558 log task size: 1 +10:11:10:558 log before pop task size: 1 +10:11:10:558 log after task size: 0 +10:11:10:757 log enqueue task +10:11:10:758 log task queue not empty +10:11:10:758 log task size: 1 +10:11:10:758 log before pop task size: 1 +10:11:10:758 log after task size: 0 +10:11:11:061 log timer task size: 1 +10:11:11:062 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/video_decoder.h +10:11:11:062 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +10:11:11:062 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:11:063 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcapability.h +10:11:11:064 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +10:11:11:064 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:11:11:064 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:11:11:065 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:11:065 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:11:067 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcodec_videodecoder.h +10:11:11:067 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcodec_base.h +10:11:11:067 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:11:11:269 log timer task size: 1 +10:11:11:269 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/video_decoder.h +10:11:11:269 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +10:11:11:269 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:11:271 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcapability.h +10:11:11:271 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +10:11:11:271 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:11:11:271 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:11:11:272 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:11:272 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:11:274 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcodec_videodecoder.h +10:11:11:274 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcodec_base.h +10:11:11:274 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:11:13:060 log enqueue task +10:11:13:060 log task queue not empty +10:11:13:060 log task size: 1 +10:11:13:060 log before pop task size: 1 +10:11:13:061 log after task size: 0 +10:11:13:567 log timer task size: 1 +10:11:13:567 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/video_decoder.h +10:11:13:567 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +10:11:13:567 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:13:568 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcapability.h +10:11:13:568 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +10:11:13:568 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:11:13:568 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:11:13:569 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:13:569 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:11:13:570 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcodec_videodecoder.h +10:11:13:570 log active files: C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\native\sysroot\usr\include\multimedia\player_framework\native_avcodec_base.h +10:11:13:570 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:53:10:289 log enqueue task +10:53:10:290 log task queue not empty +10:53:10:290 log task size: 1 +10:53:10:290 log before pop task size: 1 +10:53:10:290 log after task size: 0 +10:53:10:797 log timer task size: 1 +10:53:10:797 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +10:53:10:797 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +10:53:10:797 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +10:53:10:797 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:10:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +10:53:10:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +10:53:10:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +10:53:10:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +10:53:10:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:10:799 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:10:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +10:53:10:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +10:53:10:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:53:10:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.cpp +10:53:10:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +10:53:10:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:53:10:801 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:53:10:881 log enqueue task +10:53:10:882 log task queue not empty +10:53:10:882 log task size: 1 +10:53:10:882 log before pop task size: 1 +10:53:10:882 log after task size: 0 +10:53:11:385 log enqueue task +10:53:11:385 log task queue not empty +10:53:11:385 log task size: 1 +10:53:11:385 log before pop task size: 1 +10:53:11:386 log after task size: 0 +10:53:11:396 log timer task size: 1 +10:53:11:396 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +10:53:11:396 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +10:53:11:397 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +10:53:11:397 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:11:399 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +10:53:11:400 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +10:53:11:400 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +10:53:11:400 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +10:53:11:400 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:11:400 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:11:402 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +10:53:11:402 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +10:53:11:402 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:53:11:402 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.cpp +10:53:11:403 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +10:53:11:406 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:53:11:406 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:53:11:902 log timer task size: 1 +10:53:11:902 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +10:53:11:902 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +10:53:11:902 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +10:53:11:903 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:11:904 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +10:53:11:904 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +10:53:11:904 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +10:53:11:904 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +10:53:11:905 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:11:905 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +10:53:11:906 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +10:53:11:906 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +10:53:11:906 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +10:53:11:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.cpp +10:53:11:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +10:53:11:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +10:53:11:907 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:20:079 log enqueue task +11:11:20:079 log task queue not empty +11:11:20:079 log task size: 1 +11:11:20:079 log before pop task size: 1 +11:11:20:079 log after task size: 0 +11:11:20:279 log enqueue task +11:11:20:279 log task queue not empty +11:11:20:279 log task size: 1 +11:11:20:279 log before pop task size: 1 +11:11:20:279 log after task size: 0 +11:11:20:495 log enqueue task +11:11:20:495 log task queue not empty +11:11:20:495 log task size: 1 +11:11:20:495 log before pop task size: 1 +11:11:20:495 log after task size: 0 +11:11:20:592 log timer task size: 1 +11:11:20:593 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:20:593 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:20:594 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:20:595 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:20:596 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:20:597 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:20:597 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:20:597 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:20:597 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:20:597 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:20:597 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:20:598 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:20:713 log enqueue task +11:11:20:713 log task queue not empty +11:11:20:714 log task size: 1 +11:11:20:714 log before pop task size: 1 +11:11:20:714 log after task size: 0 +11:11:20:784 log timer task size: 1 +11:11:20:784 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:20:784 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:20:785 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:20:785 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:20:787 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:20:787 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:20:787 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:20:787 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:20:787 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:20:787 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:20:788 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:20:789 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:20:919 log enqueue task +11:11:20:919 log task queue not empty +11:11:20:919 log task size: 1 +11:11:20:919 log before pop task size: 1 +11:11:20:919 log after task size: 0 +11:11:21:003 log timer task size: 1 +11:11:21:004 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:21:004 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:005 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:005 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:006 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:21:006 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:21:006 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:21:007 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:21:007 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:21:007 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:21:007 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:21:008 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:21:226 log timer task size: 1 +11:11:21:226 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:21:226 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:228 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:228 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:230 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:21:230 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:21:230 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:21:230 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:21:230 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:21:231 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:21:231 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:21:232 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:21:432 log timer task size: 1 +11:11:21:432 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:21:432 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:433 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:433 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:21:435 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:21:435 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:21:435 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:21:435 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:21:435 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:21:435 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:21:435 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:21:436 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:21:592 log enqueue task +11:11:21:592 log task queue not empty +11:11:21:592 log task size: 1 +11:11:21:593 log before pop task size: 1 +11:11:21:593 log after task size: 0 +11:11:22:096 log timer task size: 1 +11:11:22:096 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:22:097 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:098 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:099 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:22:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:22:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:22:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:22:101 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:22:101 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:22:101 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:22:102 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:22:175 log enqueue task +11:11:22:175 log task queue not empty +11:11:22:175 log task size: 1 +11:11:22:175 log before pop task size: 1 +11:11:22:175 log after task size: 0 +11:11:22:471 log enqueue task +11:11:22:471 log task queue not empty +11:11:22:471 log task size: 1 +11:11:22:471 log before pop task size: 1 +11:11:22:471 log after task size: 0 +11:11:22:681 log timer task size: 1 +11:11:22:681 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:22:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:683 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:22:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:22:685 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:22:685 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:22:685 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:22:685 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:22:685 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:22:686 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:22:982 log timer task size: 1 +11:11:22:982 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:22:982 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:983 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:983 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:22:984 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:22:984 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:22:984 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:22:985 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:22:985 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:22:985 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:22:985 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:22:986 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:23:454 log enqueue task +11:11:23:454 log task queue not empty +11:11:23:454 log task size: 1 +11:11:23:454 log before pop task size: 1 +11:11:23:455 log after task size: 0 +11:11:23:641 log enqueue task +11:11:23:641 log task queue not empty +11:11:23:641 log task size: 1 +11:11:23:641 log before pop task size: 1 +11:11:23:641 log after task size: 0 +11:11:23:960 log timer task size: 1 +11:11:23:961 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:23:961 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:23:962 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:23:962 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:23:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:23:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:23:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:23:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:23:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:23:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:23:963 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:23:965 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:24:063 log enqueue task +11:11:24:063 log task queue not empty +11:11:24:063 log task size: 1 +11:11:24:063 log before pop task size: 1 +11:11:24:063 log after task size: 0 +11:11:24:151 log timer task size: 1 +11:11:24:151 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:24:151 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:24:153 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:24:153 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:24:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:24:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:24:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:24:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:24:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:24:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:24:156 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:24:157 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:24:564 log timer task size: 1 +11:11:24:564 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:24:564 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:24:565 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:24:565 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:24:566 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:24:566 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:24:567 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:24:567 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:24:567 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:24:567 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:24:567 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:24:568 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:25:910 log enqueue task +11:11:25:911 log task queue not empty +11:11:25:911 log task size: 1 +11:11:25:911 log before pop task size: 1 +11:11:25:911 log after task size: 0 +11:11:26:391 log enqueue task +11:11:26:391 log task queue not empty +11:11:26:391 log task size: 1 +11:11:26:391 log before pop task size: 1 +11:11:26:391 log after task size: 0 +11:11:26:412 log timer task size: 1 +11:11:26:412 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:26:413 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:26:414 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:26:414 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:26:416 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:26:416 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:26:416 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:26:416 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:26:416 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:26:416 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:26:417 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:26:419 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:26:769 log enqueue task +11:11:26:769 log task queue not empty +11:11:26:769 log task size: 1 +11:11:26:769 log before pop task size: 1 +11:11:26:769 log after task size: 0 +11:11:26:905 log timer task size: 1 +11:11:26:905 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:26:905 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:26:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:26:907 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:26:908 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:26:909 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:26:909 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:26:909 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:26:909 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:26:909 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:26:909 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:26:911 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:26:935 log enqueue task +11:11:26:935 log task queue not empty +11:11:26:935 log task size: 1 +11:11:26:935 log before pop task size: 1 +11:11:26:935 log after task size: 0 +11:11:27:284 log timer task size: 1 +11:11:27:284 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:27:284 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:27:285 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:27:285 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:27:287 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:27:287 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:27:287 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:27:287 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:27:287 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:27:287 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:27:287 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:27:289 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:27:442 log timer task size: 1 +11:11:27:442 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:27:442 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:27:444 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:27:444 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:27:445 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:27:446 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:27:446 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:27:446 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:27:446 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:27:446 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:27:446 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:27:447 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:40:429 log enqueue task +11:11:40:429 log task queue not empty +11:11:40:430 log task size: 1 +11:11:40:430 log before pop task size: 1 +11:11:40:430 log after task size: 0 +11:11:40:595 log enqueue task +11:11:40:595 log task queue not empty +11:11:40:596 log task size: 1 +11:11:40:596 log before pop task size: 1 +11:11:40:596 log after task size: 0 +11:11:40:940 log timer task size: 1 +11:11:40:940 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:40:940 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:40:942 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:40:942 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:40:943 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:40:943 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:40:943 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:40:943 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:40:943 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:40:943 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:40:943 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:40:944 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:41:014 log enqueue task +11:11:41:014 log task queue not empty +11:11:41:014 log task size: 1 +11:11:41:014 log before pop task size: 1 +11:11:41:014 log after task size: 0 +11:11:41:096 log timer task size: 1 +11:11:41:097 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:41:097 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:098 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:098 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:41:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:41:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:41:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:41:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:41:100 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:41:101 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:41:102 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:41:184 log enqueue task +11:11:41:184 log task queue not empty +11:11:41:184 log task size: 1 +11:11:41:184 log before pop task size: 1 +11:11:41:184 log after task size: 0 +11:11:41:525 log timer task size: 1 +11:11:41:525 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:41:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:526 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:527 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:527 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:41:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:41:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:41:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:41:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:41:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:41:528 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:41:529 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:11:41:700 log timer task size: 1 +11:11:41:700 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:11:41:700 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:701 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:701 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:11:41:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:11:41:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\video_decoder.cpp +11:11:41:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:11:41:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:11:41:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.cpp +11:11:41:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:41:703 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:11:41:706 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:14:29:910 log enqueue task +11:14:29:911 log task queue not empty +11:14:29:911 log task size: 1 +11:14:29:911 log before pop task size: 1 +11:14:29:911 log after task size: 0 +11:14:29:913 log enqueue task +11:14:29:913 log task queue not empty +11:14:29:913 log task size: 1 +11:14:29:913 log before pop task size: 1 +11:14:29:913 log after task size: 0 +11:14:30:418 log timer task size: 1 +11:14:30:418 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +11:14:30:418 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +11:14:30:418 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +11:14:30:418 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +11:14:30:418 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:14:30:418 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:14:30:418 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +11:14:30:418 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +11:14:30:419 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +11:14:30:419 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +11:14:30:420 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +11:14:30:420 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +11:14:30:420 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:14:30:420 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:14:30:420 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:14:30:420 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:14:30:420 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:14:30:420 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +11:14:30:420 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +11:14:30:420 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +11:14:30:420 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +11:14:30:421 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:14:30:421 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.cpp +11:14:30:421 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:14:30:421 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:14:30:421 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:14:30:421 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:14:30:422 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:14:30:422 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:14:30:422 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:14:30:422 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:34:774 log enqueue task +11:24:34:774 log task queue not empty +11:24:34:774 log task size: 1 +11:24:34:775 log before pop task size: 1 +11:24:34:775 log after task size: 0 +11:24:35:133 log enqueue task +11:24:35:133 log task queue not empty +11:24:35:133 log task size: 1 +11:24:35:133 log before pop task size: 1 +11:24:35:133 log after task size: 0 +11:24:35:279 log timer task size: 1 +11:24:35:280 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:35:280 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:35:281 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:35:282 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:35:282 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:35:283 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:35:284 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:35:284 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:35:284 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:35:285 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:35:644 log timer task size: 1 +11:24:35:644 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:35:644 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:35:646 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:35:646 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:35:646 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:35:647 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:35:648 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:35:648 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:35:648 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:35:649 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:39:501 log enqueue task +11:24:39:501 log task queue not empty +11:24:39:501 log task size: 1 +11:24:39:502 log before pop task size: 1 +11:24:39:502 log after task size: 0 +11:24:39:664 log enqueue task +11:24:39:665 log task queue not empty +11:24:39:665 log task size: 1 +11:24:39:665 log before pop task size: 1 +11:24:39:665 log after task size: 0 +11:24:39:800 log enqueue task +11:24:39:800 log task queue not empty +11:24:39:800 log task size: 1 +11:24:39:800 log before pop task size: 1 +11:24:39:800 log after task size: 0 +11:24:39:942 log enqueue task +11:24:39:942 log task queue not empty +11:24:39:943 log task size: 1 +11:24:39:943 log before pop task size: 1 +11:24:39:943 log after task size: 0 +11:24:40:005 log timer task size: 1 +11:24:40:005 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:40:006 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:007 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:40:007 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:007 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:009 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:40:009 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:40:009 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:009 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:011 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:40:093 log enqueue task +11:24:40:094 log task queue not empty +11:24:40:094 log task size: 1 +11:24:40:094 log before pop task size: 1 +11:24:40:094 log after task size: 0 +11:24:40:179 log timer task size: 1 +11:24:40:179 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:40:179 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:181 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:40:181 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:181 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:183 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:40:183 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:40:183 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:183 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:184 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:40:258 log enqueue task +11:24:40:258 log task queue not empty +11:24:40:258 log task size: 1 +11:24:40:258 log before pop task size: 1 +11:24:40:259 log after task size: 0 +11:24:40:305 log timer task size: 1 +11:24:40:306 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:40:306 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:308 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:40:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:308 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:40:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:40:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:310 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:40:417 log enqueue task +11:24:40:418 log task queue not empty +11:24:40:418 log task size: 1 +11:24:40:418 log before pop task size: 1 +11:24:40:418 log after task size: 0 +11:24:40:447 log timer task size: 1 +11:24:40:447 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:40:448 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:449 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:40:450 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:450 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:453 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:40:453 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:40:453 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:453 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:455 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:40:597 log enqueue task +11:24:40:597 log task queue not empty +11:24:40:597 log task size: 1 +11:24:40:598 log before pop task size: 1 +11:24:40:598 log after task size: 0 +11:24:40:606 log timer task size: 1 +11:24:40:607 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:40:607 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:608 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:40:608 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:608 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:621 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:40:621 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:40:622 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:622 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:40:766 log timer task size: 1 +11:24:40:767 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:40:767 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:771 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:40:771 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:771 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:773 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:40:773 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:40:773 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:774 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:775 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:40:924 log timer task size: 1 +11:24:40:925 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:40:925 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:926 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:40:926 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:926 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:40:928 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:40:928 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:40:928 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:928 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:40:929 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:41:100 log timer task size: 1 +11:24:41:100 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:41:100 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:41:102 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:41:102 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:41:102 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:41:104 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:41:104 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:41:104 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:41:104 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:41:105 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +11:24:43:765 log enqueue task +11:24:43:766 log task queue not empty +11:24:43:766 log task size: 1 +11:24:43:766 log before pop task size: 1 +11:24:43:766 log after task size: 0 +11:24:44:281 log timer task size: 1 +11:24:44:281 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +11:24:44:281 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:44:282 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +11:24:44:282 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:44:282 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +11:24:44:284 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +11:24:44:284 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +11:24:44:284 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:44:284 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +11:24:44:285 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:40:57:282 log enqueue task +14:40:57:282 log task queue not empty +14:40:57:282 log task size: 1 +14:40:57:282 log before pop task size: 1 +14:40:57:282 log after task size: 0 +14:40:57:649 log enqueue task +14:40:57:649 log task queue not empty +14:40:57:649 log task size: 1 +14:40:57:650 log before pop task size: 1 +14:40:57:650 log after task size: 0 +14:40:57:787 log timer task size: 1 +14:40:57:787 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:40:57:787 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:40:57:787 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:40:57:788 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:40:57:789 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:40:57:789 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:40:57:790 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:40:57:790 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:40:57:790 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:40:57:791 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:40:57:791 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:40:57:792 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:40:58:151 log timer task size: 1 +14:40:58:151 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:40:58:151 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:40:58:151 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:40:58:153 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:40:58:153 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:40:58:153 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:40:58:154 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:40:58:154 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:40:58:154 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:40:58:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:40:58:155 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:40:58:156 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:40:59:632 log enqueue task +14:40:59:632 log task queue not empty +14:40:59:632 log task size: 1 +14:40:59:632 log before pop task size: 1 +14:40:59:633 log after task size: 0 +14:41:00:146 log timer task size: 1 +14:41:00:147 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:00:147 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:00:147 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:00:149 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:00:149 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:00:149 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:00:150 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:00:150 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:00:150 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:00:151 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:00:151 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:00:153 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:03:400 log enqueue task +14:41:03:400 log task queue not empty +14:41:03:400 log task size: 1 +14:41:03:400 log before pop task size: 1 +14:41:03:400 log after task size: 0 +14:41:03:584 log enqueue task +14:41:03:584 log task queue not empty +14:41:03:584 log task size: 1 +14:41:03:585 log before pop task size: 1 +14:41:03:585 log after task size: 0 +14:41:03:760 log enqueue task +14:41:03:760 log task queue not empty +14:41:03:761 log task size: 1 +14:41:03:761 log before pop task size: 1 +14:41:03:761 log after task size: 0 +14:41:03:911 log timer task size: 1 +14:41:03:912 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:03:912 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:03:912 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:03:913 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:03:913 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:03:913 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:03:914 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:03:914 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:03:914 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:03:915 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:03:915 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:03:916 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:03:936 log enqueue task +14:41:03:936 log task queue not empty +14:41:03:936 log task size: 1 +14:41:03:936 log before pop task size: 1 +14:41:03:937 log after task size: 0 +14:41:04:086 log timer task size: 1 +14:41:04:086 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:04:086 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:086 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:088 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:04:088 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:088 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:090 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:04:090 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:090 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:092 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:092 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:093 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:04:128 log enqueue task +14:41:04:128 log task queue not empty +14:41:04:128 log task size: 1 +14:41:04:128 log before pop task size: 1 +14:41:04:128 log after task size: 0 +14:41:04:276 log timer task size: 1 +14:41:04:277 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:04:277 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:277 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:278 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:04:278 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:278 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:280 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:04:280 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:280 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:282 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:282 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:283 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:04:335 log enqueue task +14:41:04:336 log task queue not empty +14:41:04:336 log task size: 1 +14:41:04:336 log before pop task size: 1 +14:41:04:336 log after task size: 0 +14:41:04:452 log timer task size: 1 +14:41:04:452 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:04:452 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:452 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:454 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:04:454 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:454 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:456 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:04:456 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:456 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:458 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:458 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:460 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:04:625 log enqueue task +14:41:04:625 log task queue not empty +14:41:04:625 log task size: 1 +14:41:04:625 log before pop task size: 1 +14:41:04:625 log after task size: 0 +14:41:04:640 log timer task size: 1 +14:41:04:641 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:04:641 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:641 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:643 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:04:643 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:643 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:645 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:04:645 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:645 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:647 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:647 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:650 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:04:832 log enqueue task +14:41:04:832 log task queue not empty +14:41:04:832 log task size: 1 +14:41:04:832 log before pop task size: 1 +14:41:04:832 log after task size: 0 +14:41:04:847 log timer task size: 1 +14:41:04:847 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:04:848 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:848 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:850 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:04:850 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:850 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:04:852 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:04:852 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:853 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:04:854 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:854 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:04:856 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:05:088 log enqueue task +14:41:05:088 log task queue not empty +14:41:05:088 log task size: 1 +14:41:05:088 log before pop task size: 1 +14:41:05:088 log after task size: 0 +14:41:05:131 log timer task size: 1 +14:41:05:131 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:05:132 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:132 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:133 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:05:133 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:133 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:135 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:05:135 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:136 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:137 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:05:138 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:05:139 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:05:338 log timer task size: 1 +14:41:05:338 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:05:338 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:338 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:339 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:05:340 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:340 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:341 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:05:341 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:342 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:342 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:05:343 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:05:343 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:05:593 log timer task size: 1 +14:41:05:593 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:05:593 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:594 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:595 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:05:595 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:595 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:05:597 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:05:597 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:597 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:05:599 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:05:599 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:05:601 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:18:440 log enqueue task +14:41:18:441 log task queue not empty +14:41:18:441 log task size: 1 +14:41:18:441 log before pop task size: 1 +14:41:18:441 log after task size: 0 +14:41:18:672 log enqueue task +14:41:18:672 log task queue not empty +14:41:18:672 log task size: 1 +14:41:18:673 log before pop task size: 1 +14:41:18:673 log after task size: 0 +14:41:18:943 log timer task size: 1 +14:41:18:944 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:18:944 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:18:944 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:18:945 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:18:945 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:18:945 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:18:946 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:18:946 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:18:946 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:18:947 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:18:947 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:18:948 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:19:183 log timer task size: 1 +14:41:19:183 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:19:183 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:19:183 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:19:185 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:19:185 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:19:185 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:19:186 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:19:186 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:19:186 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:19:188 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:19:188 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:19:189 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:21:071 log enqueue task +14:41:21:071 log task queue not empty +14:41:21:072 log task size: 1 +14:41:21:072 log before pop task size: 1 +14:41:21:072 log after task size: 0 +14:41:21:576 log timer task size: 1 +14:41:21:577 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:21:577 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:21:577 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:21:578 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:21:578 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:21:578 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:21:579 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:21:579 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:21:579 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:21:580 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:21:580 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:21:581 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:38:744 log enqueue task +14:41:38:744 log task queue not empty +14:41:38:745 log task size: 1 +14:41:38:745 log before pop task size: 1 +14:41:38:745 log after task size: 0 +14:41:39:000 log enqueue task +14:41:39:000 log task queue not empty +14:41:39:001 log task size: 1 +14:41:39:001 log before pop task size: 1 +14:41:39:001 log after task size: 0 +14:41:39:250 log timer task size: 1 +14:41:39:250 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:39:250 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:39:250 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:39:251 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:39:251 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:39:252 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:39:253 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:39:253 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:39:253 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:39:254 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:39:255 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:39:256 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:39:505 log timer task size: 1 +14:41:39:506 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:39:506 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:39:506 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:39:507 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:39:508 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:39:508 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:39:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:39:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:39:510 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:39:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:39:511 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:39:513 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:39:648 log enqueue task +14:41:39:648 log task queue not empty +14:41:39:648 log task size: 1 +14:41:39:648 log before pop task size: 1 +14:41:39:648 log after task size: 0 +14:41:40:154 log timer task size: 1 +14:41:40:154 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:40:154 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:40:154 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:40:156 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:40:156 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:40:156 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:40:157 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:40:157 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:40:158 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:40:159 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:40:159 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:40:160 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:48:240 log enqueue task +14:41:48:240 log task queue not empty +14:41:48:240 log task size: 1 +14:41:48:240 log before pop task size: 1 +14:41:48:240 log after task size: 0 +14:41:48:544 log enqueue task +14:41:48:544 log task queue not empty +14:41:48:544 log task size: 1 +14:41:48:544 log before pop task size: 1 +14:41:48:544 log after task size: 0 +14:41:48:742 log timer task size: 1 +14:41:48:742 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:48:742 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:48:742 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:48:743 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:48:743 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:48:743 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:48:744 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:48:744 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:48:744 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:48:745 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:48:745 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:48:746 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:49:060 log timer task size: 1 +14:41:49:060 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:49:060 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:49:060 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:49:062 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:49:062 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:49:062 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:49:063 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:49:063 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:49:063 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:49:064 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:49:064 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:49:065 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:50:080 log enqueue task +14:41:50:080 log task queue not empty +14:41:50:080 log task size: 1 +14:41:50:080 log before pop task size: 1 +14:41:50:080 log after task size: 0 +14:41:50:595 log timer task size: 1 +14:41:50:595 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:50:595 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:50:595 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:50:596 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:50:596 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:50:597 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:50:598 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:50:598 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:50:598 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:50:600 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:50:600 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:50:601 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:58:592 log enqueue task +14:41:58:593 log task queue not empty +14:41:58:593 log task size: 1 +14:41:58:593 log before pop task size: 1 +14:41:58:593 log after task size: 0 +14:41:58:824 log enqueue task +14:41:58:824 log task queue not empty +14:41:58:824 log task size: 1 +14:41:58:824 log before pop task size: 1 +14:41:58:825 log after task size: 0 +14:41:59:095 log timer task size: 1 +14:41:59:095 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:59:095 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:59:095 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:59:096 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:59:096 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:59:096 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:59:097 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:59:097 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:59:098 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:59:098 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:59:098 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:59:099 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:41:59:334 log timer task size: 1 +14:41:59:335 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:41:59:335 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:59:335 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:59:336 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:41:59:336 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:59:336 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:41:59:337 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:41:59:337 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:59:337 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:41:59:339 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:59:339 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:41:59:340 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:00:216 log enqueue task +14:42:00:216 log task queue not empty +14:42:00:216 log task size: 1 +14:42:00:217 log before pop task size: 1 +14:42:00:217 log after task size: 0 +14:42:00:727 log timer task size: 1 +14:42:00:727 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:00:727 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:00:727 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:00:729 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:00:729 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:00:729 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:00:731 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:00:731 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:00:731 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:00:732 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:00:732 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:00:733 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:08:912 log enqueue task +14:42:08:912 log task queue not empty +14:42:08:912 log task size: 1 +14:42:08:912 log before pop task size: 1 +14:42:08:913 log after task size: 0 +14:42:09:177 log enqueue task +14:42:09:177 log task queue not empty +14:42:09:177 log task size: 1 +14:42:09:177 log before pop task size: 1 +14:42:09:177 log after task size: 0 +14:42:09:425 log timer task size: 1 +14:42:09:425 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:09:426 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:09:426 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:09:427 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:09:427 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:09:427 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:09:428 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:09:428 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:09:428 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:09:429 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:09:429 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:09:430 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:09:681 log timer task size: 1 +14:42:09:681 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:09:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:09:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:09:682 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:09:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:09:683 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:09:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:09:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:09:684 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:09:686 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:09:686 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:09:688 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:10:016 log enqueue task +14:42:10:016 log task queue not empty +14:42:10:016 log task size: 1 +14:42:10:016 log before pop task size: 1 +14:42:10:016 log after task size: 0 +14:42:10:521 log timer task size: 1 +14:42:10:522 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:10:522 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:10:522 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:10:523 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:10:523 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:10:523 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:10:524 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:10:524 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:10:524 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:10:525 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:10:525 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:10:526 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:18:072 log enqueue task +14:42:18:072 log task queue not empty +14:42:18:073 log task size: 1 +14:42:18:073 log before pop task size: 1 +14:42:18:073 log after task size: 0 +14:42:18:464 log enqueue task +14:42:18:464 log task queue not empty +14:42:18:464 log task size: 1 +14:42:18:464 log before pop task size: 1 +14:42:18:464 log after task size: 0 +14:42:18:588 log timer task size: 1 +14:42:18:588 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:18:588 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:18:588 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:18:590 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:18:590 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:18:590 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:18:591 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:18:591 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:18:591 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:18:593 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:18:593 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:18:594 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:18:968 log timer task size: 1 +14:42:18:968 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:18:968 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:18:968 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:18:970 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:18:970 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:18:970 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:18:971 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:18:972 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:18:972 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:18:973 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:18:973 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:18:974 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:19:607 log enqueue task +14:42:19:607 log task queue not empty +14:42:19:607 log task size: 1 +14:42:19:607 log before pop task size: 1 +14:42:19:608 log after task size: 0 +14:42:20:122 log timer task size: 1 +14:42:20:122 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:20:123 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:20:123 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:20:124 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:20:124 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:20:124 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:20:126 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:20:126 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:20:127 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:20:128 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:20:128 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:20:129 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:27:001 log enqueue task +14:42:27:001 log task queue not empty +14:42:27:001 log task size: 1 +14:42:27:001 log before pop task size: 1 +14:42:27:001 log after task size: 0 +14:42:27:256 log enqueue task +14:42:27:257 log task queue not empty +14:42:27:257 log task size: 1 +14:42:27:257 log before pop task size: 1 +14:42:27:257 log after task size: 0 +14:42:27:505 log timer task size: 1 +14:42:27:505 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:27:505 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:27:505 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:27:506 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:27:506 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:27:506 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:27:507 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:27:508 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:27:508 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:27:508 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:27:509 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:27:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:27:772 log timer task size: 1 +14:42:27:772 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:27:773 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:27:773 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:27:774 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:27:774 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:27:774 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:27:776 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:27:776 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:27:776 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:27:777 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:27:778 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:27:779 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:27:815 log enqueue task +14:42:27:815 log task queue not empty +14:42:27:816 log task size: 1 +14:42:27:816 log before pop task size: 1 +14:42:27:816 log after task size: 0 +14:42:28:328 log timer task size: 1 +14:42:28:328 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:28:328 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:28:328 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:28:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:28:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:28:330 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:28:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:28:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:28:331 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:28:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:28:333 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:28:334 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +14:42:48:401 log enqueue task +14:42:48:402 log task queue not empty +14:42:48:402 log task size: 1 +14:42:48:402 log before pop task size: 1 +14:42:48:402 log after task size: 0 +14:42:48:913 log timer task size: 1 +14:42:48:913 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/capbilities/include/demuxer.h +14:42:48:913 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:48:913 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:48:914 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +14:42:48:914 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:48:914 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +14:42:48:916 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +14:42:48:916 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:48:916 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +14:42:48:918 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:48:918 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +14:42:48:919 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:03:837 log enqueue task +15:17:03:837 log task queue not empty +15:17:03:837 log task size: 1 +15:17:03:837 log before pop task size: 1 +15:17:03:837 log after task size: 0 +15:17:04:348 log timer task size: 1 +15:17:04:348 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:04:348 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:04:350 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:04:350 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:04:350 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:04:351 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:04:352 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:04:352 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:04:352 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:04:353 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:04:354 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:04:382 log enqueue task +15:17:04:382 log task queue not empty +15:17:04:382 log task size: 1 +15:17:04:382 log before pop task size: 1 +15:17:04:382 log after task size: 0 +15:17:04:887 log timer task size: 1 +15:17:04:887 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:04:887 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:04:888 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:04:889 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:04:889 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:04:890 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:04:890 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:04:890 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:04:891 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:04:892 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:04:892 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:06:468 log enqueue task +15:17:06:468 log task queue not empty +15:17:06:468 log task size: 1 +15:17:06:469 log before pop task size: 1 +15:17:06:469 log after task size: 0 +15:17:06:977 log timer task size: 1 +15:17:06:977 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:06:977 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:06:979 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:06:979 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:06:979 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:06:980 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:06:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:06:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:06:981 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:06:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:06:982 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:09:252 log enqueue task +15:17:09:252 log task queue not empty +15:17:09:252 log task size: 1 +15:17:09:252 log before pop task size: 1 +15:17:09:252 log after task size: 0 +15:17:09:420 log enqueue task +15:17:09:420 log task queue not empty +15:17:09:420 log task size: 1 +15:17:09:420 log before pop task size: 1 +15:17:09:420 log after task size: 0 +15:17:09:612 log enqueue task +15:17:09:612 log task queue not empty +15:17:09:612 log task size: 1 +15:17:09:612 log before pop task size: 1 +15:17:09:612 log after task size: 0 +15:17:09:762 log timer task size: 1 +15:17:09:762 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:09:762 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:09:764 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:09:764 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:09:764 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:09:766 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:09:766 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:09:766 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:09:766 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:09:767 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:09:768 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:09:804 log enqueue task +15:17:09:804 log task queue not empty +15:17:09:804 log task size: 1 +15:17:09:804 log before pop task size: 1 +15:17:09:804 log after task size: 0 +15:17:09:935 log timer task size: 1 +15:17:09:936 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:09:936 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:09:937 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:09:937 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:09:937 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:09:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:09:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:09:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:09:938 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:09:939 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:09:939 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:09:997 log enqueue task +15:17:09:997 log task queue not empty +15:17:09:997 log task size: 1 +15:17:09:997 log before pop task size: 1 +15:17:09:997 log after task size: 0 +15:17:10:126 log timer task size: 1 +15:17:10:126 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:10:126 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:128 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:10:129 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:129 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:131 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:10:131 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:10:131 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:131 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:133 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:10:133 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:10:219 log enqueue task +15:17:10:220 log task queue not empty +15:17:10:220 log task size: 1 +15:17:10:220 log before pop task size: 1 +15:17:10:220 log after task size: 0 +15:17:10:316 log timer task size: 1 +15:17:10:317 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:10:317 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:318 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:10:318 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:318 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:320 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:10:320 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:10:321 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:321 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:322 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:10:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:10:443 log enqueue task +15:17:10:443 log task queue not empty +15:17:10:443 log task size: 1 +15:17:10:444 log before pop task size: 1 +15:17:10:444 log after task size: 0 +15:17:10:507 log timer task size: 1 +15:17:10:507 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:10:507 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:10:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:509 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:10:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:10:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:511 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:10:513 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:10:730 log timer task size: 1 +15:17:10:730 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:10:730 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:731 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:10:732 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:732 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:733 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:10:733 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:10:733 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:733 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:734 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:10:734 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:10:771 log enqueue task +15:17:10:772 log task queue not empty +15:17:10:772 log task size: 1 +15:17:10:772 log before pop task size: 1 +15:17:10:772 log after task size: 0 +15:17:10:953 log timer task size: 1 +15:17:10:953 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:10:953 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:954 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:10:954 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:954 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:10:956 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:10:956 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:10:956 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:956 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:10:957 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:10:957 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:11:287 log timer task size: 1 +15:17:11:287 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:11:287 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:11:288 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:11:288 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:11:288 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:11:289 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:11:290 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:11:290 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:11:290 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:11:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:11:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:18:245 log enqueue task +15:17:18:246 log task queue not empty +15:17:18:246 log task size: 1 +15:17:18:246 log before pop task size: 1 +15:17:18:246 log after task size: 0 +15:17:18:526 log enqueue task +15:17:18:526 log task queue not empty +15:17:18:526 log task size: 1 +15:17:18:526 log before pop task size: 1 +15:17:18:526 log after task size: 0 +15:17:18:749 log timer task size: 1 +15:17:18:749 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:18:749 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:18:751 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:18:751 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:18:751 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:18:753 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:18:753 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:18:753 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:18:753 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:18:754 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:18:755 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:19:033 log timer task size: 1 +15:17:19:033 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:19:033 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:19:034 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:19:034 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:19:035 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:19:036 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:19:036 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:19:036 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:19:036 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:19:037 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:19:037 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:19:724 log enqueue task +15:17:19:724 log task queue not empty +15:17:19:725 log task size: 1 +15:17:19:725 log before pop task size: 1 +15:17:19:725 log after task size: 0 +15:17:20:234 log timer task size: 1 +15:17:20:234 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:20:234 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:20:235 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:20:236 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:20:236 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:20:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:20:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:20:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:20:238 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:20:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:20:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:34:549 log enqueue task +15:17:34:549 log task queue not empty +15:17:34:550 log task size: 1 +15:17:34:550 log before pop task size: 1 +15:17:34:550 log after task size: 0 +15:17:34:902 log enqueue task +15:17:34:902 log task queue not empty +15:17:34:902 log task size: 1 +15:17:34:902 log before pop task size: 1 +15:17:34:902 log after task size: 0 +15:17:35:062 log timer task size: 1 +15:17:35:063 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:35:063 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:35:064 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:35:065 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:35:065 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:35:066 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:35:066 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:35:067 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:35:067 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:35:068 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:35:068 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:35:408 log timer task size: 1 +15:17:35:408 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:35:409 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:35:410 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:35:410 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:35:410 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:35:411 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:35:411 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:35:411 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:35:411 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:35:413 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:35:413 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:35:900 log enqueue task +15:17:35:900 log task queue not empty +15:17:35:900 log task size: 1 +15:17:35:900 log before pop task size: 1 +15:17:35:900 log after task size: 0 +15:17:36:415 log timer task size: 1 +15:17:36:416 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:36:416 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:36:417 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:36:417 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:36:418 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:36:419 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:36:419 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:36:419 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:36:419 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:36:421 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:36:421 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:49:867 log enqueue task +15:17:49:868 log task queue not empty +15:17:49:868 log task size: 1 +15:17:49:868 log before pop task size: 1 +15:17:49:868 log after task size: 0 +15:17:49:870 log enqueue task +15:17:49:870 log task queue not empty +15:17:49:870 log task size: 1 +15:17:49:870 log before pop task size: 1 +15:17:49:871 log after task size: 0 +15:17:50:163 log enqueue task +15:17:50:163 log task queue not empty +15:17:50:163 log task size: 1 +15:17:50:164 log before pop task size: 1 +15:17:50:164 log after task size: 0 +15:17:50:345 log enqueue task +15:17:50:346 log task queue not empty +15:17:50:346 log task size: 1 +15:17:50:346 log before pop task size: 1 +15:17:50:346 log after task size: 0 +15:17:50:372 log timer task size: 1 +15:17:50:372 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:50:372 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:50:373 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:373 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:374 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:50:374 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:374 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:375 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:50:375 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:376 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:376 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:50:376 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:50:376 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:377 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:377 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:50:377 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:50:378 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:378 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:378 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:50:378 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:50:379 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:50:379 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:50:541 log enqueue task +15:17:50:542 log task queue not empty +15:17:50:542 log task size: 1 +15:17:50:542 log before pop task size: 1 +15:17:50:542 log after task size: 0 +15:17:50:649 log enqueue task +15:17:50:650 log task queue not empty +15:17:50:650 log task size: 1 +15:17:50:650 log before pop task size: 1 +15:17:50:650 log after task size: 0 +15:17:50:673 log timer task size: 1 +15:17:50:674 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:50:674 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:675 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:50:675 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:676 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:679 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:50:679 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:50:680 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:680 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:50:682 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:50:848 log timer task size: 1 +15:17:50:848 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:50:848 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:850 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:50:850 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:850 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:50:852 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:50:852 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:50:852 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:852 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:50:854 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:50:854 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:50:883 log enqueue task +15:17:50:883 log task queue not empty +15:17:50:883 log task size: 1 +15:17:50:883 log before pop task size: 1 +15:17:50:884 log after task size: 0 +15:17:51:053 log timer task size: 1 +15:17:51:054 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:51:054 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:055 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:51:055 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:055 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:51:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:51:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:057 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:059 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:51:059 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:51:073 log enqueue task +15:17:51:073 log task queue not empty +15:17:51:073 log task size: 1 +15:17:51:073 log before pop task size: 1 +15:17:51:073 log after task size: 0 +15:17:51:164 log timer task size: 1 +15:17:51:164 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:51:164 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:165 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:51:166 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:166 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:167 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:51:167 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:51:167 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:167 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:169 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:51:169 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:51:384 log timer task size: 1 +15:17:51:385 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:51:385 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:386 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:51:386 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:386 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:387 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:51:387 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:51:387 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:387 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:388 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:51:388 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:17:51:588 log timer task size: 1 +15:17:51:588 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:17:51:588 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:589 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:17:51:589 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:589 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:17:51:591 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:17:51:591 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:17:51:591 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:591 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:17:51:593 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:17:51:593 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:09:109 log enqueue task +15:18:09:109 log task queue not empty +15:18:09:109 log task size: 1 +15:18:09:110 log before pop task size: 1 +15:18:09:110 log after task size: 0 +15:18:09:366 log enqueue task +15:18:09:366 log task queue not empty +15:18:09:366 log task size: 1 +15:18:09:366 log before pop task size: 1 +15:18:09:366 log after task size: 0 +15:18:09:624 log timer task size: 1 +15:18:09:624 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:09:624 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:09:626 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:09:626 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:09:626 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:09:627 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:09:628 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:09:628 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:09:628 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:09:629 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:09:629 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:09:878 log timer task size: 1 +15:18:09:878 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:09:878 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:09:879 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:09:879 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:09:880 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:09:880 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:09:881 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:09:881 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:09:881 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:09:882 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:09:882 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:11:188 log enqueue task +15:18:11:189 log task queue not empty +15:18:11:189 log task size: 1 +15:18:11:189 log before pop task size: 1 +15:18:11:189 log after task size: 0 +15:18:11:694 log timer task size: 1 +15:18:11:694 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:11:694 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:11:696 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:11:696 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:11:696 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:11:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:11:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:11:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:11:697 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:11:698 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:11:698 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:21:968 log enqueue task +15:18:21:968 log task queue not empty +15:18:21:968 log task size: 1 +15:18:21:969 log before pop task size: 1 +15:18:21:969 log after task size: 0 +15:18:22:342 log enqueue task +15:18:22:342 log task queue not empty +15:18:22:342 log task size: 1 +15:18:22:342 log before pop task size: 1 +15:18:22:342 log after task size: 0 +15:18:22:474 log timer task size: 1 +15:18:22:475 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:22:475 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:22:476 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:22:476 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:22:476 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:22:478 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:22:478 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:22:478 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:22:478 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:22:480 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:22:480 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:22:856 log timer task size: 1 +15:18:22:856 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:22:857 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:22:857 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:22:858 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:22:858 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:22:859 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:22:859 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:22:859 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:22:859 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:22:860 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:22:860 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:23:292 log enqueue task +15:18:23:292 log task queue not empty +15:18:23:292 log task size: 1 +15:18:23:293 log before pop task size: 1 +15:18:23:293 log after task size: 0 +15:18:23:808 log timer task size: 1 +15:18:23:808 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:23:808 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:23:809 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:23:809 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:23:809 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:23:810 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:23:810 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:23:810 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:23:810 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:23:812 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:23:812 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:23:884 log enqueue task +15:18:23:885 log task queue not empty +15:18:23:885 log task size: 1 +15:18:23:885 log before pop task size: 1 +15:18:23:885 log after task size: 0 +15:18:24:393 log timer task size: 1 +15:18:24:393 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:24:394 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:24:395 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:24:395 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:24:395 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:24:397 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:24:397 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:24:397 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:24:397 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:24:398 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:24:398 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:32:885 log enqueue task +15:18:32:885 log task queue not empty +15:18:32:885 log task size: 1 +15:18:32:885 log before pop task size: 1 +15:18:32:885 log after task size: 0 +15:18:33:284 log enqueue task +15:18:33:285 log task queue not empty +15:18:33:285 log task size: 1 +15:18:33:285 log before pop task size: 1 +15:18:33:285 log after task size: 0 +15:18:33:401 log timer task size: 1 +15:18:33:401 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:33:401 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:33:403 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:33:404 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:33:404 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:33:407 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:33:407 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:33:407 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:33:407 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:33:409 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:33:409 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:33:798 log timer task size: 1 +15:18:33:798 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:33:798 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:33:799 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:33:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:33:799 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:33:800 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:33:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:33:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:33:801 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:33:801 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:33:802 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:42:102 log enqueue task +15:18:42:102 log task queue not empty +15:18:42:102 log task size: 1 +15:18:42:102 log before pop task size: 1 +15:18:42:102 log after task size: 0 +15:18:42:390 log enqueue task +15:18:42:390 log task queue not empty +15:18:42:390 log task size: 1 +15:18:42:390 log before pop task size: 1 +15:18:42:390 log after task size: 0 +15:18:42:611 log timer task size: 1 +15:18:42:611 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:42:611 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:42:612 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:42:612 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:42:612 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:42:614 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:42:614 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:42:614 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:42:614 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:42:615 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:42:615 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:42:896 log timer task size: 1 +15:18:42:896 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:42:896 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:42:898 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:42:898 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:42:898 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:42:899 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:42:899 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:42:899 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:42:899 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:42:900 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:42:900 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:44:388 log enqueue task +15:18:44:388 log task queue not empty +15:18:44:388 log task size: 1 +15:18:44:388 log before pop task size: 1 +15:18:44:388 log after task size: 0 +15:18:44:904 log timer task size: 1 +15:18:44:904 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:44:904 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:44:905 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:44:905 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:44:905 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:44:906 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:44:906 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:44:906 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:44:907 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:44:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:44:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:57:909 log enqueue task +15:18:57:909 log task queue not empty +15:18:57:909 log task size: 1 +15:18:57:909 log before pop task size: 1 +15:18:57:910 log after task size: 0 +15:18:58:133 log enqueue task +15:18:58:133 log task queue not empty +15:18:58:133 log task size: 1 +15:18:58:134 log before pop task size: 1 +15:18:58:134 log after task size: 0 +15:18:58:417 log timer task size: 1 +15:18:58:417 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:58:417 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:58:418 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:58:418 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:58:418 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:58:419 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:58:419 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:58:419 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:58:419 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:58:420 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:58:420 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:58:637 log timer task size: 1 +15:18:58:637 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:58:637 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:58:638 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:58:638 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:58:638 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:58:640 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:58:640 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:58:640 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:58:640 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:58:641 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:58:641 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:18:58:900 log enqueue task +15:18:58:901 log task queue not empty +15:18:58:901 log task size: 1 +15:18:58:901 log before pop task size: 1 +15:18:58:901 log after task size: 0 +15:18:59:410 log timer task size: 1 +15:18:59:410 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:18:59:410 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:59:412 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:18:59:412 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:59:412 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:18:59:413 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:18:59:413 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:18:59:413 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:59:413 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:18:59:415 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:18:59:415 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:10:733 log enqueue task +15:19:10:733 log task queue not empty +15:19:10:733 log task size: 1 +15:19:10:733 log before pop task size: 1 +15:19:10:733 log after task size: 0 +15:19:11:005 log enqueue task +15:19:11:005 log task queue not empty +15:19:11:005 log task size: 1 +15:19:11:005 log before pop task size: 1 +15:19:11:006 log after task size: 0 +15:19:11:239 log timer task size: 1 +15:19:11:240 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:11:240 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:11:241 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:11:241 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:11:241 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:11:242 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:11:242 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:11:242 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:11:242 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:11:243 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:11:243 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:11:510 log timer task size: 1 +15:19:11:510 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:11:510 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:11:512 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:11:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:11:512 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:11:513 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:11:513 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:11:514 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:11:514 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:11:514 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:11:515 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:12:268 log enqueue task +15:19:12:268 log task queue not empty +15:19:12:268 log task size: 1 +15:19:12:268 log before pop task size: 1 +15:19:12:268 log after task size: 0 +15:19:12:776 log timer task size: 1 +15:19:12:776 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:12:777 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:12:778 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:12:778 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:12:778 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:12:779 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:12:779 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:12:779 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:12:779 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:12:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:12:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:19:342 log enqueue task +15:19:19:342 log task queue not empty +15:19:19:342 log task size: 1 +15:19:19:342 log before pop task size: 1 +15:19:19:342 log after task size: 0 +15:19:19:572 log enqueue task +15:19:19:573 log task queue not empty +15:19:19:573 log task size: 1 +15:19:19:573 log before pop task size: 1 +15:19:19:573 log after task size: 0 +15:19:19:858 log timer task size: 1 +15:19:19:858 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:19:858 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:19:859 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:19:859 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:19:859 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:19:860 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:19:860 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:19:860 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:19:860 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:19:861 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:19:861 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:20:079 log timer task size: 1 +15:19:20:079 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:20:079 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:20:080 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:20:080 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:20:080 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:20:081 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:20:082 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:20:082 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:20:082 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:20:083 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:20:083 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:20:596 log enqueue task +15:19:20:596 log task queue not empty +15:19:20:596 log task size: 1 +15:19:20:596 log before pop task size: 1 +15:19:20:596 log after task size: 0 +15:19:21:110 log timer task size: 1 +15:19:21:110 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:21:111 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:21:112 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:21:112 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:21:112 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:21:114 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:21:114 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:21:114 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:21:114 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:21:115 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:21:115 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:28:197 log enqueue task +15:19:28:197 log task queue not empty +15:19:28:197 log task size: 1 +15:19:28:197 log before pop task size: 1 +15:19:28:197 log after task size: 0 +15:19:28:438 log enqueue task +15:19:28:438 log task queue not empty +15:19:28:438 log task size: 1 +15:19:28:438 log before pop task size: 1 +15:19:28:439 log after task size: 0 +15:19:28:712 log timer task size: 1 +15:19:28:712 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:28:712 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:28:713 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:28:713 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:28:713 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:28:714 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:28:714 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:28:714 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:28:714 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:28:715 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:28:715 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:28:949 log timer task size: 1 +15:19:28:949 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:28:950 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:28:951 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:28:951 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:28:951 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:28:952 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:28:952 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:28:953 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:28:953 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:28:954 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:28:954 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:29:473 log enqueue task +15:19:29:473 log task queue not empty +15:19:29:474 log task size: 1 +15:19:29:474 log before pop task size: 1 +15:19:29:474 log after task size: 0 +15:19:29:979 log timer task size: 1 +15:19:29:980 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:29:980 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:29:981 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:29:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:29:981 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:29:983 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:29:983 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:29:983 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:29:983 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:29:985 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:29:985 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:58:245 log enqueue task +15:19:58:245 log task queue not empty +15:19:58:245 log task size: 1 +15:19:58:245 log before pop task size: 1 +15:19:58:245 log after task size: 0 +15:19:58:469 log enqueue task +15:19:58:469 log task queue not empty +15:19:58:470 log task size: 1 +15:19:58:470 log before pop task size: 1 +15:19:58:470 log after task size: 0 +15:19:58:754 log timer task size: 1 +15:19:58:755 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:58:755 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:58:756 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:58:756 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:58:756 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:58:757 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:58:757 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:58:757 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:58:757 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:58:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:58:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:58:978 log timer task size: 1 +15:19:58:978 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:19:58:978 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:58:979 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:19:58:979 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:58:979 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:19:58:980 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:19:58:980 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:19:58:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:58:981 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:19:58:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:19:58:982 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:19:59:724 log enqueue task +15:19:59:724 log task queue not empty +15:19:59:724 log task size: 1 +15:19:59:724 log before pop task size: 1 +15:19:59:724 log after task size: 0 +15:20:00:225 log timer task size: 1 +15:20:00:226 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:00:226 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:00:227 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:00:227 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:00:228 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:00:229 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:00:229 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:00:229 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:00:229 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:00:230 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:00:230 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:20:06:317 log enqueue task +15:20:06:317 log task queue not empty +15:20:06:317 log task size: 1 +15:20:06:317 log before pop task size: 1 +15:20:06:317 log after task size: 0 +15:20:06:526 log enqueue task +15:20:06:526 log task queue not empty +15:20:06:526 log task size: 1 +15:20:06:526 log before pop task size: 1 +15:20:06:527 log after task size: 0 +15:20:06:825 log timer task size: 1 +15:20:06:826 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:06:826 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:06:827 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:06:827 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:06:827 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:06:828 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:06:828 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:06:828 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:06:828 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:06:829 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:06:829 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:20:07:031 log timer task size: 1 +15:20:07:031 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:07:031 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:07:032 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:07:033 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:07:033 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:07:034 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:07:034 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:07:034 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:07:034 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:07:035 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:07:035 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:20:07:460 log enqueue task +15:20:07:460 log task queue not empty +15:20:07:460 log task size: 1 +15:20:07:461 log before pop task size: 1 +15:20:07:461 log after task size: 0 +15:20:07:967 log timer task size: 1 +15:20:07:967 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:07:968 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:07:969 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:07:969 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:07:969 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:07:970 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:07:970 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:07:970 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:07:970 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:07:971 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:07:971 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:20:17:275 log enqueue task +15:20:17:275 log task queue not empty +15:20:17:275 log task size: 1 +15:20:17:275 log before pop task size: 1 +15:20:17:275 log after task size: 0 +15:20:17:778 log timer task size: 1 +15:20:17:779 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:17:779 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:17:780 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:17:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:17:780 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:17:782 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:17:782 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:17:782 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:17:782 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:17:784 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:17:784 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:20:31:732 log enqueue task +15:20:31:732 log task queue not empty +15:20:31:732 log task size: 1 +15:20:31:732 log before pop task size: 1 +15:20:31:732 log after task size: 0 +15:20:31:949 log enqueue task +15:20:31:949 log task queue not empty +15:20:31:949 log task size: 1 +15:20:31:949 log before pop task size: 1 +15:20:31:949 log after task size: 0 +15:20:32:244 log timer task size: 1 +15:20:32:244 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:32:244 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:32:245 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:32:246 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:32:246 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:32:247 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:32:247 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:32:247 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:32:247 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:32:248 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:32:248 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:20:32:450 log timer task size: 1 +15:20:32:450 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:32:451 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:32:451 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:32:452 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:32:452 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:32:453 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:32:453 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:32:453 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:32:453 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:32:454 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:32:454 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:20:32:796 log enqueue task +15:20:32:796 log task queue not empty +15:20:32:797 log task size: 1 +15:20:32:797 log before pop task size: 1 +15:20:32:797 log after task size: 0 +15:20:33:306 log timer task size: 1 +15:20:33:306 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:20:33:306 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:33:307 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:20:33:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:33:308 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:20:33:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:20:33:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:20:33:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:33:309 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:20:33:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:20:33:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:21:03:485 log enqueue task +15:21:03:485 log task queue not empty +15:21:03:485 log task size: 1 +15:21:03:485 log before pop task size: 1 +15:21:03:485 log after task size: 0 +15:21:03:781 log enqueue task +15:21:03:782 log task queue not empty +15:21:03:782 log task size: 1 +15:21:03:782 log before pop task size: 1 +15:21:03:782 log after task size: 0 +15:21:04:000 log timer task size: 1 +15:21:04:000 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:21:04:000 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:04:002 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:21:04:002 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:04:002 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:04:004 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:21:04:004 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:21:04:004 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:04:004 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:04:005 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:21:04:005 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:21:04:286 log timer task size: 1 +15:21:04:286 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:21:04:286 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:04:287 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:21:04:287 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:04:288 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:04:289 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:21:04:289 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:21:04:289 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:04:289 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:04:290 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:21:04:290 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:21:06:615 log enqueue task +15:21:06:615 log task queue not empty +15:21:06:615 log task size: 1 +15:21:06:615 log before pop task size: 1 +15:21:06:615 log after task size: 0 +15:21:07:122 log timer task size: 1 +15:21:07:123 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:21:07:123 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:07:124 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:21:07:124 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:07:124 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:07:125 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:21:07:125 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:21:07:125 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:07:125 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:07:126 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:21:07:126 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:21:16:798 log enqueue task +15:21:16:798 log task queue not empty +15:21:16:798 log task size: 1 +15:21:16:798 log before pop task size: 1 +15:21:16:798 log after task size: 0 +15:21:16:989 log enqueue task +15:21:16:990 log task queue not empty +15:21:16:990 log task size: 1 +15:21:16:990 log before pop task size: 1 +15:21:16:990 log after task size: 0 +15:21:17:312 log timer task size: 1 +15:21:17:312 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:21:17:312 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:17:314 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:21:17:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:17:314 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:17:316 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:21:17:316 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:21:17:316 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:17:316 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:17:317 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:21:17:318 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:21:17:502 log timer task size: 1 +15:21:17:502 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:21:17:502 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:17:504 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:21:17:504 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:17:504 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:17:506 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:21:17:506 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:21:17:506 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:17:506 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:17:507 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:21:17:508 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:21:17:755 log enqueue task +15:21:17:755 log task queue not empty +15:21:17:755 log task size: 1 +15:21:17:755 log before pop task size: 1 +15:21:17:756 log after task size: 0 +15:21:18:265 log timer task size: 1 +15:21:18:265 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:21:18:265 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:18:266 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:21:18:266 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:18:266 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:21:18:267 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:21:18:267 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:21:18:268 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:18:268 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:21:18:268 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:21:18:269 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:17:669 log enqueue task +15:22:17:669 log task queue not empty +15:22:17:669 log task size: 1 +15:22:17:670 log before pop task size: 1 +15:22:17:670 log after task size: 0 +15:22:17:893 log enqueue task +15:22:17:893 log task queue not empty +15:22:17:893 log task size: 1 +15:22:17:893 log before pop task size: 1 +15:22:17:893 log after task size: 0 +15:22:18:176 log timer task size: 1 +15:22:18:176 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:18:177 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:18:178 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:18:178 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:18:178 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:18:180 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:18:180 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:18:180 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:18:180 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:18:182 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:18:182 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:18:399 log timer task size: 1 +15:22:18:399 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:18:399 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:18:400 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:18:400 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:18:400 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:18:401 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:18:401 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:18:401 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:18:401 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:18:402 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:18:402 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:18:988 log enqueue task +15:22:18:988 log task queue not empty +15:22:18:988 log task size: 1 +15:22:18:988 log before pop task size: 1 +15:22:18:989 log after task size: 0 +15:22:19:490 log timer task size: 1 +15:22:19:490 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:19:490 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:19:492 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:19:492 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:19:492 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:19:493 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:19:493 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:19:493 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:19:494 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:19:495 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:19:495 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:26:788 log enqueue task +15:22:26:788 log task queue not empty +15:22:26:788 log task size: 1 +15:22:26:788 log before pop task size: 1 +15:22:26:788 log after task size: 0 +15:22:26:980 log enqueue task +15:22:26:981 log task queue not empty +15:22:26:981 log task size: 1 +15:22:26:981 log before pop task size: 1 +15:22:26:981 log after task size: 0 +15:22:27:298 log timer task size: 1 +15:22:27:298 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:27:298 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:27:299 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:27:299 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:27:299 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:27:301 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:27:301 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:27:301 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:27:301 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:27:302 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:27:302 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:27:489 log timer task size: 1 +15:22:27:489 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:27:489 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:27:490 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:27:490 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:27:490 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:27:491 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:27:491 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:27:491 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:27:491 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:27:493 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:27:494 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:27:588 log enqueue task +15:22:27:588 log task queue not empty +15:22:27:588 log task size: 1 +15:22:27:588 log before pop task size: 1 +15:22:27:589 log after task size: 0 +15:22:28:091 log timer task size: 1 +15:22:28:091 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:28:091 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:28:092 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:28:092 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:28:092 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:28:093 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:28:094 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:28:094 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:28:094 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:28:095 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:28:095 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:35:029 log enqueue task +15:22:35:029 log task queue not empty +15:22:35:029 log task size: 1 +15:22:35:029 log before pop task size: 1 +15:22:35:029 log after task size: 0 +15:22:35:244 log enqueue task +15:22:35:244 log task queue not empty +15:22:35:244 log task size: 1 +15:22:35:244 log before pop task size: 1 +15:22:35:244 log after task size: 0 +15:22:35:538 log timer task size: 1 +15:22:35:538 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:35:538 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:35:539 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:35:539 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:35:540 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:35:541 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:35:541 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:35:541 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:35:541 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:35:542 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:35:542 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:35:759 log timer task size: 1 +15:22:35:760 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:35:760 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:35:761 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:35:761 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:35:761 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:35:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:35:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:35:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:35:762 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:35:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:35:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:36:308 log enqueue task +15:22:36:308 log task queue not empty +15:22:36:308 log task size: 1 +15:22:36:308 log before pop task size: 1 +15:22:36:308 log after task size: 0 +15:22:36:822 log timer task size: 1 +15:22:36:822 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:36:822 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:36:823 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:36:823 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:36:824 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:36:824 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:36:825 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:36:825 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:36:825 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:36:826 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:36:826 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:46:749 log enqueue task +15:22:46:749 log task queue not empty +15:22:46:749 log task size: 1 +15:22:46:749 log before pop task size: 1 +15:22:46:749 log after task size: 0 +15:22:46:965 log enqueue task +15:22:46:965 log task queue not empty +15:22:46:965 log task size: 1 +15:22:46:965 log before pop task size: 1 +15:22:46:965 log after task size: 0 +15:22:47:263 log timer task size: 1 +15:22:47:263 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:47:263 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:47:265 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:47:265 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:47:265 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:47:267 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:47:267 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:47:267 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:47:267 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:47:268 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:47:268 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:47:469 log timer task size: 1 +15:22:47:469 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:47:470 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:47:471 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:47:471 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:47:471 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:47:472 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:47:472 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:47:472 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:47:472 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:47:473 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:47:473 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:47:611 log enqueue task +15:22:47:611 log task queue not empty +15:22:47:611 log task size: 1 +15:22:47:611 log before pop task size: 1 +15:22:47:611 log after task size: 0 +15:22:48:120 log timer task size: 1 +15:22:48:121 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:48:121 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:48:122 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:48:122 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:48:122 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:48:123 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:48:123 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:48:123 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:48:123 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:48:124 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:48:124 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:55:645 log enqueue task +15:22:55:645 log task queue not empty +15:22:55:645 log task size: 1 +15:22:55:645 log before pop task size: 1 +15:22:55:645 log after task size: 0 +15:22:55:849 log enqueue task +15:22:55:850 log task queue not empty +15:22:55:850 log task size: 1 +15:22:55:850 log before pop task size: 1 +15:22:55:850 log after task size: 0 +15:22:56:147 log timer task size: 1 +15:22:56:147 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:56:147 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:149 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:56:149 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:149 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:150 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:56:150 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:56:151 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:56:151 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:56:151 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:56:152 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:56:351 log timer task size: 1 +15:22:56:352 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:56:352 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:353 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:56:354 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:354 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:355 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:56:355 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:56:355 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:56:356 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:56:357 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:56:357 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:22:56:403 log enqueue task +15:22:56:404 log task queue not empty +15:22:56:404 log task size: 1 +15:22:56:404 log before pop task size: 1 +15:22:56:404 log after task size: 0 +15:22:56:906 log timer task size: 1 +15:22:56:906 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:22:56:906 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:907 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:22:56:907 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:907 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:22:56:908 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:22:56:908 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:22:56:909 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:56:909 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:22:56:910 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:22:56:910 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:04:805 log enqueue task +15:23:04:805 log task queue not empty +15:23:04:805 log task size: 1 +15:23:04:805 log before pop task size: 1 +15:23:04:805 log after task size: 0 +15:23:04:807 log enqueue task +15:23:04:807 log task queue not empty +15:23:04:807 log task size: 1 +15:23:04:807 log before pop task size: 1 +15:23:04:807 log after task size: 0 +15:23:04:809 log enqueue task +15:23:04:809 log task queue not empty +15:23:04:809 log task size: 1 +15:23:04:809 log before pop task size: 1 +15:23:04:809 log after task size: 0 +15:23:04:811 log enqueue task +15:23:04:811 log task queue not empty +15:23:04:811 log task size: 1 +15:23:04:811 log before pop task size: 1 +15:23:04:811 log after task size: 0 +15:23:04:813 log enqueue task +15:23:04:813 log task queue not empty +15:23:04:813 log task size: 1 +15:23:04:813 log before pop task size: 1 +15:23:04:813 log after task size: 0 +15:23:04:815 log enqueue task +15:23:04:815 log task queue not empty +15:23:04:815 log task size: 1 +15:23:04:815 log before pop task size: 1 +15:23:04:815 log after task size: 0 +15:23:05:309 log timer task size: 1 +15:23:05:309 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:05:309 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:05:309 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:309 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:310 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:05:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:311 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:311 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:05:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:311 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:05:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:05:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:312 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:05:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:05:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:313 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:05:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:05:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:05:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:05:325 log timer task size: 1 +15:23:05:325 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:05:325 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:05:325 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:05:325 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:325 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:325 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:327 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:05:327 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:327 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:327 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:05:327 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:328 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:05:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:05:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:328 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:329 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:05:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:05:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:329 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:329 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:05:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:05:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:05:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:330 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:05:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:05:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:05:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:05:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:05:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:331 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:05:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:05:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:332 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:05:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:05:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:05:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:05:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:28:240 log enqueue task +15:23:28:240 log task queue not empty +15:23:28:240 log task size: 1 +15:23:28:240 log before pop task size: 1 +15:23:28:240 log after task size: 0 +15:23:28:755 log timer task size: 1 +15:23:28:755 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:28:755 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:28:757 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:28:757 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:28:757 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:28:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:28:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:28:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:28:758 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:28:759 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:28:759 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:55:724 log enqueue task +15:23:55:724 log task queue not empty +15:23:55:724 log task size: 1 +15:23:55:724 log before pop task size: 1 +15:23:55:724 log after task size: 0 +15:23:55:891 log enqueue task +15:23:55:891 log task queue not empty +15:23:55:891 log task size: 1 +15:23:55:891 log before pop task size: 1 +15:23:55:892 log after task size: 0 +15:23:56:035 log enqueue task +15:23:56:035 log task queue not empty +15:23:56:035 log task size: 1 +15:23:56:035 log before pop task size: 1 +15:23:56:036 log after task size: 0 +15:23:56:195 log enqueue task +15:23:56:196 log task queue not empty +15:23:56:196 log task size: 1 +15:23:56:196 log before pop task size: 1 +15:23:56:196 log after task size: 0 +15:23:56:227 log timer task size: 1 +15:23:56:227 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:56:227 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:229 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:56:229 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:229 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:231 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:56:231 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:56:231 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:232 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:233 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:56:233 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:56:357 log enqueue task +15:23:56:357 log task queue not empty +15:23:56:357 log task size: 1 +15:23:56:358 log before pop task size: 1 +15:23:56:358 log after task size: 0 +15:23:56:400 log timer task size: 1 +15:23:56:400 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:56:400 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:402 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:56:402 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:402 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:404 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:56:404 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:56:404 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:405 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:406 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:56:406 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:56:538 log enqueue task +15:23:56:538 log task queue not empty +15:23:56:538 log task size: 1 +15:23:56:538 log before pop task size: 1 +15:23:56:538 log after task size: 0 +15:23:56:542 log timer task size: 1 +15:23:56:542 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:56:543 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:544 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:56:544 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:544 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:546 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:56:546 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:56:546 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:547 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:548 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:56:548 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:56:703 log timer task size: 1 +15:23:56:703 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:56:704 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:705 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:56:705 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:706 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:707 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:56:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:56:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:708 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:710 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:56:711 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:56:843 log enqueue task +15:23:56:843 log task queue not empty +15:23:56:843 log task size: 1 +15:23:56:843 log before pop task size: 1 +15:23:56:843 log after task size: 0 +15:23:56:868 log timer task size: 1 +15:23:56:868 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:56:868 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:871 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:56:871 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:871 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:56:873 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:56:873 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:56:873 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:874 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:56:876 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:56:876 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:57:052 log timer task size: 1 +15:23:57:052 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:57:053 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:054 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:57:055 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:055 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:57:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:57:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:57:057 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:57:060 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:57:060 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:57:351 log timer task size: 1 +15:23:57:352 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:57:352 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:353 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:57:353 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:353 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:355 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:57:355 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:57:355 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:57:355 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:57:357 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:57:357 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:57:460 log enqueue task +15:23:57:460 log task queue not empty +15:23:57:460 log task size: 1 +15:23:57:460 log before pop task size: 1 +15:23:57:460 log after task size: 0 +15:23:57:747 log enqueue task +15:23:57:748 log task queue not empty +15:23:57:748 log task size: 1 +15:23:57:748 log before pop task size: 1 +15:23:57:748 log after task size: 0 +15:23:57:970 log timer task size: 1 +15:23:57:970 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:57:970 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:972 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:57:972 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:972 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:57:974 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:57:974 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:57:974 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:57:974 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:57:982 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:57:983 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:58:254 log timer task size: 1 +15:23:58:254 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:58:254 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:58:256 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:58:256 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:58:256 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:58:258 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:58:258 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:58:258 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:58:258 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:58:260 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:58:261 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:58:634 log enqueue task +15:23:58:635 log task queue not empty +15:23:58:635 log task size: 1 +15:23:58:635 log before pop task size: 1 +15:23:58:635 log after task size: 0 +15:23:58:955 log enqueue task +15:23:58:955 log task queue not empty +15:23:58:955 log task size: 1 +15:23:58:955 log before pop task size: 1 +15:23:58:955 log after task size: 0 +15:23:59:142 log timer task size: 1 +15:23:59:142 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:59:142 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:143 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:59:143 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:144 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:145 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:59:145 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:59:145 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:145 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:147 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:59:147 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:59:189 log enqueue task +15:23:59:189 log task queue not empty +15:23:59:189 log task size: 1 +15:23:59:189 log before pop task size: 1 +15:23:59:189 log after task size: 0 +15:23:59:451 log enqueue task +15:23:59:451 log task queue not empty +15:23:59:451 log task size: 1 +15:23:59:451 log before pop task size: 1 +15:23:59:451 log after task size: 0 +15:23:59:459 log timer task size: 1 +15:23:59:459 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:59:459 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:460 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:59:460 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:460 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:461 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:59:461 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:59:462 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:462 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:463 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:59:463 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:59:700 log timer task size: 1 +15:23:59:700 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:59:700 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:702 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:59:702 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:703 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:705 log enqueue task +15:23:59:705 log task queue not empty +15:23:59:705 log task size: 1 +15:23:59:705 log before pop task size: 1 +15:23:59:705 log after task size: 0 +15:23:59:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:59:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:59:708 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:708 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:710 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:59:711 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:23:59:894 log enqueue task +15:23:59:894 log task queue not empty +15:23:59:894 log task size: 1 +15:23:59:895 log before pop task size: 1 +15:23:59:895 log after task size: 0 +15:23:59:965 log timer task size: 1 +15:23:59:965 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:23:59:966 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:968 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:23:59:968 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:969 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:23:59:971 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:23:59:971 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:23:59:971 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:971 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:23:59:972 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:23:59:973 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:24:00:018 log enqueue task +15:24:00:018 log task queue not empty +15:24:00:018 log task size: 1 +15:24:00:018 log before pop task size: 1 +15:24:00:018 log after task size: 0 +15:24:00:218 log timer task size: 1 +15:24:00:218 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:24:00:218 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:220 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:24:00:220 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:220 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:222 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:24:00:222 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:24:00:222 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:00:222 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:00:224 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:24:00:224 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:24:00:409 log timer task size: 1 +15:24:00:409 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:24:00:410 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:411 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:24:00:411 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:412 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:413 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:24:00:414 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:24:00:414 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:00:414 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:00:415 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:24:00:415 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:24:00:567 log timer task size: 1 +15:24:00:567 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:24:00:567 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:569 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:24:00:569 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:569 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:00:571 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:24:00:571 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:24:00:571 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:00:571 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:00:573 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:24:00:573 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:24:01:043 log enqueue task +15:24:01:043 log task queue not empty +15:24:01:043 log task size: 1 +15:24:01:043 log before pop task size: 1 +15:24:01:044 log after task size: 0 +15:24:01:547 log timer task size: 1 +15:24:01:547 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:24:01:547 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:01:548 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:24:01:548 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:01:549 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:01:550 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:24:01:550 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:24:01:550 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:01:550 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:01:552 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:24:01:552 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:24:02:556 log enqueue task +15:24:02:556 log task queue not empty +15:24:02:556 log task size: 1 +15:24:02:556 log before pop task size: 1 +15:24:02:556 log after task size: 0 +15:24:03:059 log timer task size: 1 +15:24:03:060 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:24:03:060 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:03:061 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:24:03:061 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:03:061 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:03:063 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:24:03:063 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:24:03:063 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:03:063 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:03:065 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +15:24:03:065 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:24:12:107 log enqueue task +15:24:12:107 log task queue not empty +15:24:12:107 log task size: 1 +15:24:12:107 log before pop task size: 1 +15:24:12:107 log after task size: 0 +15:24:12:622 log timer task size: 1 +15:24:12:622 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:24:12:623 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:12:630 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:24:12:630 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:12:630 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:12:632 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:24:12:632 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:12:632 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:12:634 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:24:40:533 log enqueue task +15:24:40:534 log task queue not empty +15:24:40:534 log task size: 1 +15:24:40:534 log before pop task size: 1 +15:24:40:534 log after task size: 0 +15:24:41:046 log timer task size: 1 +15:24:41:046 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:24:41:047 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:41:048 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:24:41:048 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:41:048 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:24:41:049 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:24:41:049 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:41:049 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:24:41:051 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:27:34:716 log enqueue task +15:27:34:716 log task queue not empty +15:27:34:716 log task size: 1 +15:27:34:716 log before pop task size: 1 +15:27:34:716 log after task size: 0 +15:27:34:718 log enqueue task +15:27:34:718 log task queue not empty +15:27:34:718 log task size: 1 +15:27:34:718 log before pop task size: 1 +15:27:34:718 log after task size: 0 +15:27:34:720 log enqueue task +15:27:34:720 log task queue not empty +15:27:34:720 log task size: 1 +15:27:34:720 log before pop task size: 1 +15:27:34:720 log after task size: 0 +15:27:34:722 log enqueue task +15:27:34:722 log task queue not empty +15:27:34:722 log task size: 1 +15:27:34:722 log before pop task size: 1 +15:27:34:722 log after task size: 0 +15:27:35:231 log timer task size: 1 +15:27:35:231 log timer task size: 1 +15:27:35:232 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:27:35:232 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:27:35:232 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:27:35:232 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:232 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:232 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:233 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:35:233 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:233 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:234 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:35:234 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:234 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:235 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:35:235 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:35:235 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:235 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:235 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:35:236 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:236 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:236 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:35:236 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:35:236 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:236 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:237 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:35:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:237 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:35:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:27:35:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:35:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:35:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:237 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:27:35:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:35:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:35:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:238 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:35:239 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:27:35:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:27:49:972 log enqueue task +15:27:49:972 log task queue not empty +15:27:49:972 log task size: 1 +15:27:49:972 log before pop task size: 1 +15:27:49:972 log after task size: 0 +15:27:49:974 log enqueue task +15:27:49:974 log task queue not empty +15:27:49:974 log task size: 1 +15:27:49:974 log before pop task size: 1 +15:27:49:974 log after task size: 0 +15:27:49:976 log enqueue task +15:27:49:976 log task queue not empty +15:27:49:976 log task size: 1 +15:27:49:976 log before pop task size: 1 +15:27:49:976 log after task size: 0 +15:27:49:978 log enqueue task +15:27:49:978 log task queue not empty +15:27:49:978 log task size: 1 +15:27:49:978 log before pop task size: 1 +15:27:49:979 log after task size: 0 +15:27:50:483 log timer task size: 1 +15:27:50:483 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:27:50:483 log timer task size: 1 +15:27:50:484 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:27:50:484 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:27:50:484 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:27:50:484 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:484 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:484 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:485 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:50:485 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:485 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:486 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:50:486 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:486 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:487 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:50:487 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:50:487 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:487 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:488 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:50:488 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:488 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:488 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:50:488 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:50:488 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:489 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:489 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:27:50:489 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:27:50:489 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:489 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:27:50:489 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:50:490 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:50:490 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:490 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:490 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:27:50:491 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:27:50:491 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:27:50:491 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:492 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:27:50:493 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:33:30:915 log enqueue task +15:33:30:915 log task queue not empty +15:33:30:915 log task size: 1 +15:33:30:915 log before pop task size: 1 +15:33:30:916 log after task size: 0 +15:33:31:430 log timer task size: 1 +15:33:31:430 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:33:31:431 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:33:31:432 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:33:31:432 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:33:31:432 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:33:31:434 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:33:31:434 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:33:31:434 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:33:31:434 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:33:31:435 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:34:47:811 log enqueue task +15:34:47:812 log task queue not empty +15:34:47:812 log task size: 1 +15:34:47:812 log before pop task size: 1 +15:34:47:812 log after task size: 0 +15:34:48:163 log enqueue task +15:34:48:163 log task queue not empty +15:34:48:163 log task size: 1 +15:34:48:163 log before pop task size: 1 +15:34:48:163 log after task size: 0 +15:34:48:328 log timer task size: 1 +15:34:48:328 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:34:48:328 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:48:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:34:48:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:48:330 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:48:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:34:48:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:34:48:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:48:332 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:48:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:34:48:678 log timer task size: 1 +15:34:48:678 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:34:48:678 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:48:679 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:34:48:680 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:48:680 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:48:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:34:48:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:34:48:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:48:681 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:48:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:34:51:254 log enqueue task +15:34:51:254 log task queue not empty +15:34:51:254 log task size: 1 +15:34:51:254 log before pop task size: 1 +15:34:51:254 log after task size: 0 +15:34:51:756 log timer task size: 1 +15:34:51:757 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:34:51:757 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:51:758 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:34:51:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:51:758 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:51:760 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:34:51:760 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:34:51:760 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:51:760 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:51:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:34:52:163 log enqueue task +15:34:52:163 log task queue not empty +15:34:52:163 log task size: 1 +15:34:52:163 log before pop task size: 1 +15:34:52:163 log after task size: 0 +15:34:52:181 log enqueue task +15:34:52:181 log task queue not empty +15:34:52:181 log task size: 1 +15:34:52:181 log before pop task size: 1 +15:34:52:181 log after task size: 0 +15:34:52:677 log timer task size: 1 +15:34:52:677 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:34:52:677 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:52:678 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:34:52:678 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:52:678 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:52:679 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:34:52:680 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:34:52:680 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:52:680 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:52:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:34:52:693 log timer task size: 1 +15:34:52:693 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:34:52:693 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:52:694 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:34:52:694 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:52:694 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:34:52:695 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:34:52:695 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:34:52:695 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:52:695 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:34:52:696 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:00:739 log enqueue task +15:35:00:740 log task queue not empty +15:35:00:740 log task size: 1 +15:35:00:740 log before pop task size: 1 +15:35:00:740 log after task size: 0 +15:35:00:754 log enqueue task +15:35:00:754 log task queue not empty +15:35:00:754 log task size: 1 +15:35:00:754 log before pop task size: 1 +15:35:00:754 log after task size: 0 +15:35:00:987 log enqueue task +15:35:00:988 log task queue not empty +15:35:00:988 log task size: 1 +15:35:00:988 log before pop task size: 1 +15:35:00:988 log after task size: 0 +15:35:01:241 log timer task size: 1 +15:35:01:241 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:01:241 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:243 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:01:243 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:243 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:244 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:01:244 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:01:244 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:01:245 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:01:245 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:01:257 log timer task size: 1 +15:35:01:257 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:01:257 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:259 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:01:259 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:259 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:260 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:01:260 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:01:260 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:01:260 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:01:261 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:01:495 log timer task size: 1 +15:35:01:496 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:01:496 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:497 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:01:497 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:497 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:01:498 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:01:498 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:01:498 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:01:498 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:01:499 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:02:075 log enqueue task +15:35:02:075 log task queue not empty +15:35:02:075 log task size: 1 +15:35:02:076 log before pop task size: 1 +15:35:02:076 log after task size: 0 +15:35:02:588 log timer task size: 1 +15:35:02:589 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:02:589 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:02:590 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:02:590 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:02:590 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:02:591 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:02:591 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:02:592 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:02:592 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:02:593 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:21:116 log enqueue task +15:35:21:116 log task queue not empty +15:35:21:116 log task size: 1 +15:35:21:116 log before pop task size: 1 +15:35:21:116 log after task size: 0 +15:35:21:620 log timer task size: 1 +15:35:21:620 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:21:620 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:21:621 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:21:621 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:21:621 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:21:623 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:21:623 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:21:623 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:21:623 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:21:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:22:298 log enqueue task +15:35:22:299 log task queue not empty +15:35:22:299 log task size: 1 +15:35:22:299 log before pop task size: 1 +15:35:22:299 log after task size: 0 +15:35:22:808 log timer task size: 1 +15:35:22:808 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:22:808 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:22:810 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:22:810 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:22:810 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:22:811 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:22:811 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:22:811 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:22:812 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:22:813 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:30:275 log enqueue task +15:35:30:275 log task queue not empty +15:35:30:275 log task size: 1 +15:35:30:275 log before pop task size: 1 +15:35:30:275 log after task size: 0 +15:35:30:777 log timer task size: 1 +15:35:30:777 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:30:777 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:30:778 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:30:778 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:30:778 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:30:779 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:30:779 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:30:779 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:30:779 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:30:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:31:252 log enqueue task +15:35:31:252 log task queue not empty +15:35:31:252 log task size: 1 +15:35:31:252 log before pop task size: 1 +15:35:31:252 log after task size: 0 +15:35:31:759 log timer task size: 1 +15:35:31:759 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:31:759 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:31:761 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:31:761 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:31:761 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:31:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:31:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:31:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:31:763 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:31:764 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:32:186 log enqueue task +15:35:32:186 log task queue not empty +15:35:32:186 log task size: 1 +15:35:32:187 log before pop task size: 1 +15:35:32:187 log after task size: 0 +15:35:32:691 log timer task size: 1 +15:35:32:692 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:32:692 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:32:693 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:32:693 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:32:693 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:32:695 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:32:695 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:32:695 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:32:695 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:32:697 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:35:38:310 log enqueue task +15:35:38:310 log task queue not empty +15:35:38:310 log task size: 1 +15:35:38:310 log before pop task size: 1 +15:35:38:310 log after task size: 0 +15:35:38:821 log timer task size: 1 +15:35:38:821 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:35:38:821 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:38:823 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:35:38:823 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:38:823 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:35:38:824 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:35:38:824 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:35:38:824 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:38:824 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:35:38:825 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:13:155 log enqueue task +15:36:13:155 log task queue not empty +15:36:13:155 log task size: 1 +15:36:13:155 log before pop task size: 1 +15:36:13:155 log after task size: 0 +15:36:13:398 log enqueue task +15:36:13:398 log task queue not empty +15:36:13:398 log task size: 1 +15:36:13:398 log before pop task size: 1 +15:36:13:398 log after task size: 0 +15:36:13:658 log timer task size: 1 +15:36:13:659 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:13:659 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:13:660 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:13:660 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:13:660 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:13:662 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:13:662 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:13:662 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:13:663 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:13:664 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:13:911 log timer task size: 1 +15:36:13:911 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:13:911 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:13:912 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:13:912 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:13:912 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:13:913 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:13:913 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:13:913 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:13:913 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:13:914 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:14:379 log enqueue task +15:36:14:379 log task queue not empty +15:36:14:379 log task size: 1 +15:36:14:379 log before pop task size: 1 +15:36:14:379 log after task size: 0 +15:36:14:891 log timer task size: 1 +15:36:14:891 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:14:891 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:14:892 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:14:892 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:14:893 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:14:893 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:14:894 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:14:894 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:14:894 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:14:895 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:31:162 log enqueue task +15:36:31:162 log task queue not empty +15:36:31:162 log task size: 1 +15:36:31:163 log before pop task size: 1 +15:36:31:163 log after task size: 0 +15:36:31:178 log enqueue task +15:36:31:179 log task queue not empty +15:36:31:179 log task size: 1 +15:36:31:179 log before pop task size: 1 +15:36:31:179 log after task size: 0 +15:36:31:420 log enqueue task +15:36:31:420 log task queue not empty +15:36:31:420 log task size: 1 +15:36:31:420 log before pop task size: 1 +15:36:31:420 log after task size: 0 +15:36:31:667 log timer task size: 1 +15:36:31:667 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:31:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:668 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:31:668 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:669 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:670 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:31:670 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:31:670 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:31:670 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:31:672 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:31:683 log timer task size: 1 +15:36:31:683 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:31:683 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:684 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:31:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:684 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:686 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:31:686 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:31:686 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:31:686 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:31:688 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:31:935 log timer task size: 1 +15:36:31:936 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:31:936 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:937 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:31:937 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:937 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:31:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:31:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:31:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:31:938 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:31:939 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:32:274 log enqueue task +15:36:32:274 log task queue not empty +15:36:32:274 log task size: 1 +15:36:32:274 log before pop task size: 1 +15:36:32:274 log after task size: 0 +15:36:32:790 log timer task size: 1 +15:36:32:790 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:32:790 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:32:792 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:32:792 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:32:792 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:32:793 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:32:793 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:32:794 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:32:794 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:32:795 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:35:294 log enqueue task +15:36:35:294 log task queue not empty +15:36:35:294 log task size: 1 +15:36:35:294 log before pop task size: 1 +15:36:35:295 log after task size: 0 +15:36:35:803 log timer task size: 1 +15:36:35:803 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:35:803 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:35:804 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:35:804 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:35:804 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:35:806 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:35:806 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:35:806 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:35:806 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:35:807 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:55:291 log enqueue task +15:36:55:291 log task queue not empty +15:36:55:291 log task size: 1 +15:36:55:291 log before pop task size: 1 +15:36:55:291 log after task size: 0 +15:36:55:310 log enqueue task +15:36:55:310 log task queue not empty +15:36:55:311 log task size: 1 +15:36:55:311 log before pop task size: 1 +15:36:55:311 log after task size: 0 +15:36:55:540 log enqueue task +15:36:55:540 log task queue not empty +15:36:55:540 log task size: 1 +15:36:55:540 log before pop task size: 1 +15:36:55:540 log after task size: 0 +15:36:55:806 log timer task size: 1 +15:36:55:806 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:55:806 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:55:807 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:55:807 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:55:807 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:55:809 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:55:809 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:55:809 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:55:809 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:55:811 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:55:822 log timer task size: 1 +15:36:55:822 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:55:822 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:55:823 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:55:824 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:55:824 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:55:826 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:55:826 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:55:826 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:55:826 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:55:827 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:56:044 log timer task size: 1 +15:36:56:044 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:56:044 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:56:045 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:56:045 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:56:046 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:56:047 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:56:047 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:56:047 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:56:047 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:56:048 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:56:243 log enqueue task +15:36:56:243 log task queue not empty +15:36:56:243 log task size: 1 +15:36:56:243 log before pop task size: 1 +15:36:56:243 log after task size: 0 +15:36:56:757 log timer task size: 1 +15:36:56:757 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:56:757 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:56:758 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:56:758 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:56:758 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:56:759 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:56:760 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:56:760 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:56:760 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:56:760 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:36:58:368 log enqueue task +15:36:58:368 log task queue not empty +15:36:58:368 log task size: 1 +15:36:58:368 log before pop task size: 1 +15:36:58:368 log after task size: 0 +15:36:58:879 log timer task size: 1 +15:36:58:880 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:36:58:880 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:58:881 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:36:58:881 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:58:881 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:36:58:882 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:36:58:882 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:36:58:883 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:58:883 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:36:58:884 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:37:27:171 log enqueue task +15:37:27:171 log task queue not empty +15:37:27:171 log task size: 1 +15:37:27:172 log before pop task size: 1 +15:37:27:172 log after task size: 0 +15:37:27:196 log enqueue task +15:37:27:196 log task queue not empty +15:37:27:196 log task size: 1 +15:37:27:196 log before pop task size: 1 +15:37:27:196 log after task size: 0 +15:37:27:411 log enqueue task +15:37:27:411 log task queue not empty +15:37:27:411 log task size: 1 +15:37:27:411 log before pop task size: 1 +15:37:27:411 log after task size: 0 +15:37:27:685 log timer task size: 1 +15:37:27:685 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:37:27:685 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:686 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:37:27:686 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:687 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:688 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:37:27:688 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:37:27:688 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:27:688 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:27:689 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:37:27:700 log timer task size: 1 +15:37:27:700 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:37:27:700 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:701 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:37:27:701 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:701 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:702 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:37:27:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:37:27:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:27:703 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:27:703 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:37:27:922 log timer task size: 1 +15:37:27:923 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:37:27:923 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:924 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:37:27:924 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:924 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:27:925 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:37:27:925 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:37:27:925 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:27:926 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:27:927 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:37:28:194 log enqueue task +15:37:28:195 log task queue not empty +15:37:28:195 log task size: 1 +15:37:28:195 log before pop task size: 1 +15:37:28:195 log after task size: 0 +15:37:28:697 log timer task size: 1 +15:37:28:698 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:37:28:698 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:28:699 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:37:28:699 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:28:699 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:28:701 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:37:28:701 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:37:28:701 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:28:701 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:28:702 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:37:30:500 log enqueue task +15:37:30:500 log task queue not empty +15:37:30:501 log task size: 1 +15:37:30:501 log before pop task size: 1 +15:37:30:501 log after task size: 0 +15:37:31:014 log timer task size: 1 +15:37:31:014 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:37:31:014 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:31:015 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:37:31:015 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:31:016 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:37:31:017 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:37:31:017 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:37:31:017 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:31:017 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:37:31:019 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:42:56:011 log enqueue task +15:42:56:011 log task queue not empty +15:42:56:011 log task size: 1 +15:42:56:012 log before pop task size: 1 +15:42:56:012 log after task size: 0 +15:42:56:525 log timer task size: 1 +15:42:56:525 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:42:56:525 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:42:56:526 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:42:56:527 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:42:56:527 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:42:56:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:42:56:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:42:56:528 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:42:56:528 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:42:56:529 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:43:12:284 log enqueue task +15:43:12:284 log task queue not empty +15:43:12:285 log task size: 1 +15:43:12:285 log before pop task size: 1 +15:43:12:285 log after task size: 0 +15:43:12:795 log timer task size: 1 +15:43:12:796 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:43:12:796 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:12:797 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:12:797 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:12:797 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:12:798 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:43:12:798 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:43:12:798 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:12:798 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:12:799 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:43:16:034 log enqueue task +15:43:16:034 log task queue not empty +15:43:16:034 log task size: 1 +15:43:16:034 log before pop task size: 1 +15:43:16:034 log after task size: 0 +15:43:16:544 log timer task size: 1 +15:43:16:544 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:43:16:544 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:16:545 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:16:545 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:16:545 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:16:547 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:43:16:547 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:43:16:547 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:16:547 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:16:548 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:43:19:969 log enqueue task +15:43:19:969 log task queue not empty +15:43:19:969 log task size: 1 +15:43:19:970 log before pop task size: 1 +15:43:19:970 log after task size: 0 +15:43:20:474 log timer task size: 1 +15:43:20:474 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:43:20:474 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:20:475 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:20:475 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:20:475 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:20:476 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:43:20:476 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:43:20:477 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:20:477 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:20:477 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:43:21:938 log enqueue task +15:43:21:938 log task queue not empty +15:43:21:939 log task size: 1 +15:43:21:939 log before pop task size: 1 +15:43:21:939 log after task size: 0 +15:43:22:447 log timer task size: 1 +15:43:22:447 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:43:22:447 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:22:449 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:43:22:450 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:22:450 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:43:22:451 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:43:22:452 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:43:22:452 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:22:452 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:43:22:453 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:29:769 log enqueue task +15:52:29:770 log task queue not empty +15:52:29:770 log task size: 1 +15:52:29:770 log before pop task size: 1 +15:52:29:770 log after task size: 0 +15:52:29:771 log enqueue task +15:52:29:771 log task queue not empty +15:52:29:771 log task size: 1 +15:52:29:771 log before pop task size: 1 +15:52:29:772 log after task size: 0 +15:52:29:773 log enqueue task +15:52:29:773 log task queue not empty +15:52:29:773 log task size: 1 +15:52:29:773 log before pop task size: 1 +15:52:29:773 log after task size: 0 +15:52:29:774 log enqueue task +15:52:29:774 log task queue not empty +15:52:29:774 log task size: 1 +15:52:29:774 log before pop task size: 1 +15:52:29:774 log after task size: 0 +15:52:29:776 log enqueue task +15:52:29:776 log task queue not empty +15:52:29:776 log task size: 1 +15:52:29:776 log before pop task size: 1 +15:52:29:777 log after task size: 0 +15:52:29:778 log enqueue task +15:52:29:778 log task queue not empty +15:52:29:778 log task size: 1 +15:52:29:778 log before pop task size: 1 +15:52:29:778 log after task size: 0 +15:52:29:780 log enqueue task +15:52:29:780 log task queue not empty +15:52:29:780 log task size: 1 +15:52:29:780 log before pop task size: 1 +15:52:29:780 log after task size: 0 +15:52:29:782 log enqueue task +15:52:29:782 log task queue not empty +15:52:29:782 log task size: 1 +15:52:29:782 log before pop task size: 1 +15:52:29:782 log after task size: 0 +15:52:29:783 log enqueue task +15:52:29:783 log task queue not empty +15:52:29:783 log task size: 1 +15:52:29:784 log before pop task size: 1 +15:52:29:784 log after task size: 0 +15:52:29:785 log enqueue task +15:52:29:785 log task queue not empty +15:52:29:785 log task size: 1 +15:52:29:785 log before pop task size: 1 +15:52:29:786 log after task size: 0 +15:52:29:787 log enqueue task +15:52:29:787 log task queue not empty +15:52:29:787 log task size: 1 +15:52:29:787 log before pop task size: 1 +15:52:29:787 log after task size: 0 +15:52:29:788 log enqueue task +15:52:29:788 log task queue not empty +15:52:29:788 log task size: 1 +15:52:29:788 log before pop task size: 1 +15:52:29:789 log after task size: 0 +15:52:29:790 log enqueue task +15:52:29:790 log task queue not empty +15:52:29:790 log task size: 1 +15:52:29:791 log before pop task size: 1 +15:52:29:791 log after task size: 0 +15:52:29:792 log enqueue task +15:52:29:792 log task queue not empty +15:52:29:792 log task size: 1 +15:52:29:792 log before pop task size: 1 +15:52:29:792 log after task size: 0 +15:52:29:794 log enqueue task +15:52:29:794 log task queue not empty +15:52:29:794 log task size: 1 +15:52:29:794 log before pop task size: 1 +15:52:29:794 log after task size: 0 +15:52:29:795 log enqueue task +15:52:29:795 log task queue not empty +15:52:29:796 log task size: 1 +15:52:29:796 log before pop task size: 1 +15:52:29:796 log after task size: 0 +15:52:29:797 log enqueue task +15:52:29:797 log task queue not empty +15:52:29:797 log task size: 1 +15:52:29:797 log before pop task size: 1 +15:52:29:797 log after task size: 0 +15:52:29:799 log enqueue task +15:52:29:799 log task queue not empty +15:52:29:799 log task size: 1 +15:52:29:799 log before pop task size: 1 +15:52:29:799 log after task size: 0 +15:52:29:801 log enqueue task +15:52:29:801 log task queue not empty +15:52:29:801 log task size: 1 +15:52:29:801 log before pop task size: 1 +15:52:29:801 log after task size: 0 +15:52:29:802 log enqueue task +15:52:29:802 log task queue not empty +15:52:29:802 log task size: 1 +15:52:29:802 log before pop task size: 1 +15:52:29:803 log after task size: 0 +15:52:29:804 log enqueue task +15:52:29:804 log task queue not empty +15:52:29:804 log task size: 1 +15:52:29:804 log before pop task size: 1 +15:52:29:804 log after task size: 0 +15:52:29:805 log enqueue task +15:52:29:806 log task queue not empty +15:52:29:806 log task size: 1 +15:52:29:806 log before pop task size: 1 +15:52:29:806 log after task size: 0 +15:52:29:807 log enqueue task +15:52:29:807 log task queue not empty +15:52:29:807 log task size: 1 +15:52:29:808 log before pop task size: 1 +15:52:29:808 log after task size: 0 +15:52:29:809 log enqueue task +15:52:29:810 log task queue not empty +15:52:29:810 log task size: 1 +15:52:29:810 log before pop task size: 1 +15:52:29:810 log after task size: 0 +15:52:29:811 log enqueue task +15:52:29:811 log task queue not empty +15:52:29:812 log task size: 1 +15:52:29:812 log before pop task size: 1 +15:52:29:812 log after task size: 0 +15:52:29:813 log enqueue task +15:52:29:813 log task queue not empty +15:52:29:813 log task size: 1 +15:52:29:813 log before pop task size: 1 +15:52:29:814 log after task size: 0 +15:52:29:815 log enqueue task +15:52:29:815 log task queue not empty +15:52:29:815 log task size: 1 +15:52:29:815 log before pop task size: 1 +15:52:29:815 log after task size: 0 +15:52:29:816 log enqueue task +15:52:29:816 log task queue not empty +15:52:29:816 log task size: 1 +15:52:29:816 log before pop task size: 1 +15:52:29:816 log after task size: 0 +15:52:29:818 log enqueue task +15:52:29:818 log task queue not empty +15:52:29:818 log task size: 1 +15:52:29:818 log before pop task size: 1 +15:52:29:818 log after task size: 0 +15:52:29:820 log enqueue task +15:52:29:820 log task queue not empty +15:52:29:820 log task size: 1 +15:52:29:820 log before pop task size: 1 +15:52:29:820 log after task size: 0 +15:52:30:272 log timer task size: 1 +15:52:30:272 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:272 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:272 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:272 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:273 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:273 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:274 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:274 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:274 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:276 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:276 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:276 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:277 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:277 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:288 log timer task size: 1 +15:52:30:288 log timer task size: 1 +15:52:30:288 log timer task size: 1 +15:52:30:288 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:288 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:288 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:288 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:288 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:288 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:289 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:289 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:289 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:289 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:290 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:290 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:290 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:291 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:291 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:292 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:292 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:292 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:292 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:292 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:292 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:292 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:293 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:293 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:293 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:293 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:293 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:293 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:293 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:294 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:294 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:294 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:294 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:294 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:294 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:294 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:295 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:295 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:295 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:295 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:295 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:295 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:295 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:296 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:296 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:296 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:296 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:296 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:296 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:297 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:297 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:297 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:297 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:297 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:297 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:297 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:297 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:298 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:298 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:298 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:298 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:298 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:298 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:298 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:299 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:299 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:299 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:299 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:299 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:300 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:300 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:300 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:300 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:300 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:301 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:301 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:301 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:301 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:301 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:302 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:304 log timer task size: 1 +15:52:30:304 log timer task size: 1 +15:52:30:304 log timer task size: 1 +15:52:30:304 log timer task size: 1 +15:52:30:304 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:304 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:304 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:305 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:305 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:305 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:305 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:305 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:306 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:307 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:307 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:307 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:307 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:307 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:308 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:309 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:309 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:309 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:309 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:310 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:311 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:311 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:311 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:311 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:312 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +pp +15:52:30:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:313 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:313 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:313 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:313 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:314 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:314 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:315 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:315 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:315 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:315 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:315 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:315 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:316 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:316 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:316 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:317 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:317 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:317 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:317 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:317 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:317 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:317 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:318 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:318 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:319 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:320 log timer task size: 1 +15:52:30:320 log timer task size: 1 +15:52:30:320 log timer task size: 1 +15:52:30:320 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:320 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:320 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:320 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:320 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:321 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:321 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:321 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:321 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:321 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:321 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:322 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:322 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:322 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:323 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:323 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:324 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:324 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:324 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:324 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:324 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:324 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:325 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:325 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:325 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:325 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:325 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:325 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:326 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:326 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:326 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:326 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:326 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:326 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:326 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:327 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:327 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:327 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp + +15:52:30:327 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:327 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +pp +15:52:30:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:328 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:329 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +tive.h +15:52:30:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:329 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:329 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h + +15:52:30:330 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:330 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:330 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:331 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:331 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:331 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:332 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:333 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:335 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:30:336 log timer task size: 1 +15:52:30:336 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:30:336 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:337 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:30:337 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:337 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:30:338 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:30:339 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:30:339 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:339 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:30:340 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:38:504 log enqueue task +15:52:38:505 log task queue not empty +15:52:38:505 log task size: 1 +15:52:38:505 log before pop task size: 1 +15:52:38:505 log after task size: 0 +15:52:38:506 log enqueue task +15:52:38:506 log task queue not empty +15:52:38:506 log task size: 1 +15:52:38:506 log before pop task size: 1 +15:52:38:506 log after task size: 0 +15:52:38:508 log enqueue task +15:52:38:508 log task queue not empty +15:52:38:508 log task size: 1 +15:52:38:508 log before pop task size: 1 +15:52:38:508 log after task size: 0 +15:52:38:509 log enqueue task +15:52:38:509 log task queue not empty +15:52:38:510 log task size: 1 +15:52:38:510 log before pop task size: 1 +15:52:38:510 log after task size: 0 +15:52:38:511 log enqueue task +15:52:38:511 log task queue not empty +15:52:38:511 log task size: 1 +15:52:38:511 log before pop task size: 1 +15:52:38:511 log after task size: 0 +15:52:38:512 log enqueue task +15:52:38:513 log task queue not empty +15:52:38:513 log task size: 1 +15:52:38:513 log before pop task size: 1 +15:52:38:513 log after task size: 0 +15:52:38:515 log enqueue task +15:52:38:515 log task queue not empty +15:52:38:515 log task size: 1 +15:52:38:515 log before pop task size: 1 +15:52:38:515 log after task size: 0 +15:52:38:517 log enqueue task +15:52:38:517 log task queue not empty +15:52:38:517 log task size: 1 +15:52:38:517 log before pop task size: 1 +15:52:38:517 log after task size: 0 +15:52:39:007 log timer task size: 1 +15:52:39:007 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:39:007 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:007 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:008 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:008 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:008 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:009 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:009 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:009 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:009 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:009 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:010 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:010 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:010 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:011 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:011 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:39:011 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:011 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:012 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:39:022 log timer task size: 1 +15:52:39:022 log timer task size: 1 +15:52:39:022 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:39:022 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:39:022 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:39:022 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:39:022 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:39:022 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:022 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:022 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:022 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:023 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:023 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:024 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:024 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:024 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:024 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:025 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:025 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:025 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:025 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:025 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:026 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:026 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:026 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:026 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:026 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:026 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:026 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:026 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:026 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:027 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:027 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:027 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h + +15:52:39:027 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:028 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:028 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:39:028 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:028 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:028 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:028 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:028 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:029 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:39:029 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:029 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:39:029 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:39:029 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:029 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:39:030 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:030 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:030 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:030 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:39:030 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:39:031 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:031 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:39:031 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:39:032 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:43:433 log enqueue task +15:52:43:433 log task queue not empty +15:52:43:433 log task size: 1 +15:52:43:433 log before pop task size: 1 +15:52:43:433 log after task size: 0 +15:52:43:435 log enqueue task +15:52:43:435 log task queue not empty +15:52:43:435 log task size: 1 +15:52:43:435 log before pop task size: 1 +15:52:43:436 log after task size: 0 +15:52:43:437 log enqueue task +15:52:43:438 log task queue not empty +15:52:43:438 log task size: 1 +15:52:43:438 log before pop task size: 1 +15:52:43:438 log after task size: 0 +15:52:43:937 log timer task size: 1 +15:52:43:938 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:43:938 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:43:938 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:938 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:939 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:43:939 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:939 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:940 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:43:940 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:940 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:940 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:43:940 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:43:941 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:43:941 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:43:941 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:43:941 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:43:942 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:43:942 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:43:942 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:43:943 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:43:953 log timer task size: 1 +15:52:43:954 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:43:954 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:955 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:43:955 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:955 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:43:956 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:43:956 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:43:956 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:43:957 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:43:958 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:47:521 log enqueue task +15:52:47:521 log task queue not empty +15:52:47:521 log task size: 1 +15:52:47:521 log before pop task size: 1 +15:52:47:521 log after task size: 0 +15:52:48:033 log timer task size: 1 +15:52:48:033 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:48:033 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:48:034 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:48:034 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:48:034 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:48:035 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:48:035 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:48:035 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:48:035 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:48:036 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:57:993 log enqueue task +15:52:57:993 log task queue not empty +15:52:57:993 log task size: 1 +15:52:57:993 log before pop task size: 1 +15:52:57:993 log after task size: 0 +15:52:57:995 log enqueue task +15:52:57:995 log task queue not empty +15:52:57:995 log task size: 1 +15:52:57:995 log before pop task size: 1 +15:52:57:995 log after task size: 0 +15:52:57:997 log enqueue task +15:52:57:997 log task queue not empty +15:52:57:997 log task size: 1 +15:52:57:997 log before pop task size: 1 +15:52:57:997 log after task size: 0 +15:52:57:999 log enqueue task +15:52:57:999 log task queue not empty +15:52:57:999 log task size: 1 +15:52:58:000 log before pop task size: 1 +15:52:58:000 log after task size: 0 +15:52:58:504 log timer task size: 1 +15:52:58:505 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:58:505 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:58:505 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:52:58:505 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:505 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:505 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:506 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:58:506 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:506 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:507 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:58:507 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:507 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:508 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:58:508 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp + +15:52:58:508 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h + +15:52:58:508 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h + +15:52:58:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:58:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:58:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:58:509 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:58:509 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:52:58:509 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:509 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:52:58:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:58:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:58:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:58:510 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h + +15:52:58:511 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:58:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:52:58:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:52:58:511 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:58:511 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:52:58:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:52:58:512 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:53:00:257 log enqueue task +15:53:00:257 log task queue not empty +15:53:00:257 log task size: 1 +15:53:00:257 log before pop task size: 1 +15:53:00:257 log after task size: 0 +15:53:00:758 log timer task size: 1 +15:53:00:759 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:53:00:759 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:53:00:760 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:53:00:760 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:53:00:760 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:53:00:761 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:53:00:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:53:00:762 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:53:00:762 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:53:00:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:44:313 log enqueue task +15:55:44:313 log task queue not empty +15:55:44:313 log task size: 1 +15:55:44:313 log before pop task size: 1 +15:55:44:313 log after task size: 0 +15:55:44:642 log enqueue task +15:55:44:642 log task queue not empty +15:55:44:642 log task size: 1 +15:55:44:642 log before pop task size: 1 +15:55:44:642 log after task size: 0 +15:55:44:816 log timer task size: 1 +15:55:44:817 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:44:817 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:44:818 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:44:818 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:44:818 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:44:820 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:44:820 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:44:820 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:44:820 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:44:821 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:45:149 log timer task size: 1 +15:55:45:150 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:45:150 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:45:151 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:45:151 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:45:151 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:45:153 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:45:153 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:45:153 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:45:153 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:45:155 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:46:456 log enqueue task +15:55:46:456 log task queue not empty +15:55:46:456 log task size: 1 +15:55:46:456 log before pop task size: 1 +15:55:46:456 log after task size: 0 +15:55:46:801 log enqueue task +15:55:46:801 log task queue not empty +15:55:46:801 log task size: 1 +15:55:46:801 log before pop task size: 1 +15:55:46:801 log after task size: 0 +15:55:46:815 log enqueue task +15:55:46:815 log task queue not empty +15:55:46:815 log task size: 1 +15:55:46:815 log before pop task size: 1 +15:55:46:816 log after task size: 0 +15:55:46:968 log timer task size: 1 +15:55:46:968 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:46:969 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:46:970 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:46:970 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:46:970 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:46:972 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:46:972 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:46:972 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:46:972 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:46:975 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:47:303 log timer task size: 1 +15:55:47:303 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:47:304 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:47:305 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:47:305 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:47:305 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:47:306 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:47:306 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:47:307 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:47:307 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:47:308 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:47:319 log timer task size: 1 +15:55:47:319 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:47:320 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:47:321 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:47:321 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:47:321 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:47:322 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:47:322 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:47:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:47:323 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:47:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:56:785 log enqueue task +15:55:56:785 log task queue not empty +15:55:56:786 log task size: 1 +15:55:56:786 log before pop task size: 1 +15:55:56:786 log after task size: 0 +15:55:56:804 log enqueue task +15:55:56:804 log task queue not empty +15:55:56:804 log task size: 1 +15:55:56:804 log before pop task size: 1 +15:55:56:804 log after task size: 0 +15:55:57:033 log enqueue task +15:55:57:033 log task queue not empty +15:55:57:033 log task size: 1 +15:55:57:034 log before pop task size: 1 +15:55:57:034 log after task size: 0 +15:55:57:289 log timer task size: 1 +15:55:57:289 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:57:289 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:291 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:57:291 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:291 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:293 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:57:293 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:57:293 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:57:293 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:57:294 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:57:319 log timer task size: 1 +15:55:57:319 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:57:320 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:321 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:57:321 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:321 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:57:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:57:323 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:57:323 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:57:325 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:57:542 log timer task size: 1 +15:55:57:542 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:57:542 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:543 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:57:543 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:543 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:57:544 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:57:544 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:57:544 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:57:544 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:57:545 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:55:58:432 log enqueue task +15:55:58:432 log task queue not empty +15:55:58:432 log task size: 1 +15:55:58:432 log before pop task size: 1 +15:55:58:432 log after task size: 0 +15:55:58:935 log timer task size: 1 +15:55:58:935 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:55:58:935 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:58:936 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:55:58:937 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:58:937 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:55:58:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:55:58:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:55:58:938 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:58:939 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:55:58:940 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:08:938 log enqueue task +15:56:08:938 log task queue not empty +15:56:08:938 log task size: 1 +15:56:08:938 log before pop task size: 1 +15:56:08:938 log after task size: 0 +15:56:09:452 log timer task size: 1 +15:56:09:452 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:09:452 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:09:454 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:09:454 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:09:454 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:09:455 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:09:455 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:09:455 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:09:455 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:09:456 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:09:961 log enqueue task +15:56:09:961 log task queue not empty +15:56:09:961 log task size: 1 +15:56:09:961 log before pop task size: 1 +15:56:09:961 log after task size: 0 +15:56:10:464 log timer task size: 1 +15:56:10:465 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:10:465 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:10:466 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:10:466 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:10:466 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:10:467 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:10:467 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:10:467 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:10:467 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:10:468 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:16:873 log enqueue task +15:56:16:873 log task queue not empty +15:56:16:873 log task size: 1 +15:56:16:873 log before pop task size: 1 +15:56:16:873 log after task size: 0 +15:56:17:105 log enqueue task +15:56:17:105 log task queue not empty +15:56:17:105 log task size: 1 +15:56:17:105 log before pop task size: 1 +15:56:17:106 log after task size: 0 +15:56:17:389 log timer task size: 1 +15:56:17:389 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:17:389 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:390 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:17:390 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:391 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:392 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:17:392 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:17:392 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:17:392 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:17:393 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:17:472 log enqueue task +15:56:17:472 log task queue not empty +15:56:17:472 log task size: 1 +15:56:17:472 log before pop task size: 1 +15:56:17:472 log after task size: 0 +15:56:17:611 log timer task size: 1 +15:56:17:612 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:17:612 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:613 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:17:614 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:614 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:616 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:17:616 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:17:616 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:17:616 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:17:618 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:17:978 log timer task size: 1 +15:56:17:979 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:17:979 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:980 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:17:980 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:980 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:17:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:17:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:17:981 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:17:981 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:17:982 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:23:096 log enqueue task +15:56:23:096 log task queue not empty +15:56:23:097 log task size: 1 +15:56:23:097 log before pop task size: 1 +15:56:23:097 log after task size: 0 +15:56:23:348 log enqueue task +15:56:23:348 log task queue not empty +15:56:23:349 log task size: 1 +15:56:23:349 log before pop task size: 1 +15:56:23:349 log after task size: 0 +15:56:23:608 log timer task size: 1 +15:56:23:609 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:23:609 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:23:610 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:23:610 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:23:610 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:23:612 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:23:612 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:23:612 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:23:612 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:23:613 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:23:752 log enqueue task +15:56:23:752 log task queue not empty +15:56:23:753 log task size: 1 +15:56:23:753 log before pop task size: 1 +15:56:23:753 log after task size: 0 +15:56:23:863 log timer task size: 1 +15:56:23:863 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:23:863 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:23:864 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:23:864 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:23:864 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:23:865 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:23:865 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:23:866 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:23:866 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:23:866 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:24:257 log timer task size: 1 +15:56:24:257 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:24:257 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:24:259 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:24:259 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:24:259 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:24:261 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:24:261 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:24:261 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:24:261 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:24:262 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +15:56:26:614 log enqueue task +15:56:26:614 log task queue not empty +15:56:26:614 log task size: 1 +15:56:26:614 log before pop task size: 1 +15:56:26:614 log after task size: 0 +15:56:27:129 log timer task size: 1 +15:56:27:129 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +15:56:27:129 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:27:131 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +15:56:27:131 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:27:131 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +15:56:27:132 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +15:56:27:132 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +15:56:27:132 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:27:132 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +15:56:27:134 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:04:168 log enqueue task +16:05:04:168 log task queue not empty +16:05:04:169 log task size: 1 +16:05:04:169 log before pop task size: 1 +16:05:04:169 log after task size: 0 +16:05:04:416 log enqueue task +16:05:04:417 log task queue not empty +16:05:04:417 log task size: 1 +16:05:04:417 log before pop task size: 1 +16:05:04:417 log after task size: 0 +16:05:04:680 log timer task size: 1 +16:05:04:680 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:04:680 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:04:681 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:04:681 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:04:681 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:04:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:04:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:04:683 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:04:683 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:04:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:04:684 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:04:932 log timer task size: 1 +16:05:04:932 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:04:933 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:04:934 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:04:934 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:04:934 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:04:935 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:04:935 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:04:935 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:04:935 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:04:936 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:04:936 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:05:340 log enqueue task +16:05:05:340 log task queue not empty +16:05:05:340 log task size: 1 +16:05:05:340 log before pop task size: 1 +16:05:05:340 log after task size: 0 +16:05:05:852 log timer task size: 1 +16:05:05:852 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:05:852 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:05:853 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:05:853 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:05:854 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:05:855 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:05:855 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:05:855 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:05:855 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:05:856 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:05:856 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:19:208 log enqueue task +16:05:19:208 log task queue not empty +16:05:19:208 log task size: 1 +16:05:19:208 log before pop task size: 1 +16:05:19:208 log after task size: 0 +16:05:19:220 log enqueue task +16:05:19:221 log task queue not empty +16:05:19:221 log task size: 1 +16:05:19:221 log before pop task size: 1 +16:05:19:221 log after task size: 0 +16:05:19:472 log enqueue task +16:05:19:472 log task queue not empty +16:05:19:472 log task size: 1 +16:05:19:472 log before pop task size: 1 +16:05:19:472 log after task size: 0 +16:05:19:713 log timer task size: 1 +16:05:19:713 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:19:713 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:715 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:19:715 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:715 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:716 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:19:716 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:19:716 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:19:716 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:19:717 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:19:717 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:19:729 log timer task size: 1 +16:05:19:729 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:19:729 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:731 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:19:731 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:731 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:733 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:19:733 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:19:733 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:19:733 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:19:734 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:19:734 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:19:983 log timer task size: 1 +16:05:19:984 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:19:984 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:985 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:19:985 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:985 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:19:987 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:19:987 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:19:987 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:19:987 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:19:988 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:19:988 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:20:527 log enqueue task +16:05:20:527 log task queue not empty +16:05:20:527 log task size: 1 +16:05:20:528 log before pop task size: 1 +16:05:20:528 log after task size: 0 +16:05:21:043 log timer task size: 1 +16:05:21:043 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:21:043 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:21:044 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:21:045 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:21:045 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:21:046 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:21:046 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:21:046 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:21:046 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:21:047 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:21:047 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:05:24:016 log enqueue task +16:05:24:016 log task queue not empty +16:05:24:016 log task size: 1 +16:05:24:016 log before pop task size: 1 +16:05:24:016 log after task size: 0 +16:05:24:531 log timer task size: 1 +16:05:24:531 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:05:24:532 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:24:533 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:05:24:533 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:24:533 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:05:24:535 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:05:24:535 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:05:24:535 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:24:535 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:05:24:536 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:05:24:536 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:17:07:430 log enqueue task +16:17:07:430 log task queue not empty +16:17:07:430 log task size: 1 +16:17:07:430 log before pop task size: 1 +16:17:07:430 log after task size: 0 +16:17:07:933 log timer task size: 1 +16:17:07:933 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:17:07:935 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:17:07:936 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:17:07:936 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:17:07:936 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:17:07:936 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:17:07:936 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:17:07:939 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:17:07:939 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:34:245 log enqueue task +16:23:34:246 log task queue not empty +16:23:34:246 log task size: 1 +16:23:34:246 log before pop task size: 1 +16:23:34:246 log after task size: 0 +16:23:34:488 log enqueue task +16:23:34:488 log task queue not empty +16:23:34:488 log task size: 1 +16:23:34:489 log before pop task size: 1 +16:23:34:489 log after task size: 0 +16:23:34:762 log timer task size: 1 +16:23:34:762 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:34:762 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:34:764 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:34:764 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:34:764 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:34:765 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:34:766 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:34:766 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:34:766 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:34:767 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:34:767 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:35:000 log timer task size: 1 +16:23:35:000 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:35:000 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:35:002 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:35:002 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:35:002 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:35:003 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:35:003 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:35:003 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:35:003 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:35:004 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:35:004 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:35:821 log enqueue task +16:23:35:821 log task queue not empty +16:23:35:821 log task size: 1 +16:23:35:821 log before pop task size: 1 +16:23:35:821 log after task size: 0 +16:23:36:330 log timer task size: 1 +16:23:36:330 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:36:330 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:36:331 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:36:331 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:36:331 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:36:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:36:332 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:36:333 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:36:333 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:36:334 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:36:334 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:44:118 log enqueue task +16:23:44:118 log task queue not empty +16:23:44:118 log task size: 1 +16:23:44:118 log before pop task size: 1 +16:23:44:118 log after task size: 0 +16:23:44:353 log enqueue task +16:23:44:353 log task queue not empty +16:23:44:353 log task size: 1 +16:23:44:353 log before pop task size: 1 +16:23:44:353 log after task size: 0 +16:23:44:621 log timer task size: 1 +16:23:44:621 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:44:621 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:44:622 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:44:622 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:44:623 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:44:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:44:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:44:624 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:44:624 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:44:626 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:44:626 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:44:757 log enqueue task +16:23:44:757 log task queue not empty +16:23:44:758 log task size: 1 +16:23:44:758 log before pop task size: 1 +16:23:44:758 log after task size: 0 +16:23:44:859 log timer task size: 1 +16:23:44:859 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:44:859 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:44:860 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:44:861 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:44:861 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:44:862 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:44:862 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:44:862 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:44:862 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:44:863 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:44:863 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:45:272 log timer task size: 1 +16:23:45:273 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:45:273 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:45:274 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:45:274 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:45:274 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:45:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:45:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:45:275 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:45:275 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:45:276 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:45:276 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:54:398 log enqueue task +16:23:54:398 log task queue not empty +16:23:54:398 log task size: 1 +16:23:54:398 log before pop task size: 1 +16:23:54:398 log after task size: 0 +16:23:54:606 log enqueue task +16:23:54:606 log task queue not empty +16:23:54:606 log task size: 1 +16:23:54:607 log before pop task size: 1 +16:23:54:607 log after task size: 0 +16:23:54:913 log timer task size: 1 +16:23:54:913 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:54:913 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:54:915 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:54:915 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:54:915 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:54:916 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:54:916 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:54:917 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:54:917 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:54:918 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:54:918 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:55:117 log enqueue task +16:23:55:117 log task queue not empty +16:23:55:118 log task size: 1 +16:23:55:118 log before pop task size: 1 +16:23:55:118 log after task size: 0 +16:23:55:119 log timer task size: 1 +16:23:55:119 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:55:119 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:55:120 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:55:121 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:55:121 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:55:122 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:55:122 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:55:122 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:55:122 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:55:123 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:55:123 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:23:55:626 log timer task size: 1 +16:23:55:626 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:23:55:626 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:55:628 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:23:55:628 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:55:628 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:23:55:629 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:23:55:629 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:23:55:629 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:55:629 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:23:55:631 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:23:55:631 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:24:03:394 log enqueue task +16:24:03:394 log task queue not empty +16:24:03:394 log task size: 1 +16:24:03:394 log before pop task size: 1 +16:24:03:394 log after task size: 0 +16:24:03:899 log timer task size: 1 +16:24:03:899 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:24:03:899 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:24:03:900 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:24:03:900 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:24:03:900 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:24:03:901 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:24:03:901 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:24:03:901 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:24:03:902 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:24:03:903 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:24:03:903 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +16:31:34:206 log enqueue task +16:31:34:206 log task queue not empty +16:31:34:206 log task size: 1 +16:31:34:206 log before pop task size: 1 +16:31:34:206 log after task size: 0 +16:31:34:718 log timer task size: 1 +16:31:34:718 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +16:31:34:718 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:31:34:720 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +16:31:34:721 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:31:34:721 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +16:31:34:722 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +16:31:34:722 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +16:31:34:722 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:31:34:723 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +16:31:34:724 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +16:31:34:724 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:01:50:253 log enqueue task +17:01:50:253 log task queue not empty +17:01:50:253 log task size: 1 +17:01:50:253 log before pop task size: 1 +17:01:50:253 log after task size: 0 +17:01:50:262 log enqueue task +17:01:50:262 log task queue not empty +17:01:50:262 log task size: 1 +17:01:50:263 log before pop task size: 1 +17:01:50:263 log after task size: 0 +17:01:50:759 log timer task size: 1 +17:01:50:759 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +17:01:50:759 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +17:01:50:760 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:01:50:760 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +17:01:50:760 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +17:01:50:762 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +17:01:50:763 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +17:01:50:763 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +17:01:50:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:01:50:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:01:50:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:01:50:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +17:01:50:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:01:50:763 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:01:50:763 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:01:50:765 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:01:50:765 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:01:50:766 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:01:50:774 log timer task size: 1 +17:01:50:774 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +17:01:50:774 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:01:50:777 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +17:01:50:777 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:01:50:777 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:01:50:777 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:01:50:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:01:50:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +17:01:50:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:01:50:780 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:01:50:780 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:01:50:788 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:01:50:789 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:03:24:768 log enqueue task +17:03:24:768 log task queue not empty +17:03:24:769 log task size: 1 +17:03:24:769 log before pop task size: 1 +17:03:24:769 log after task size: 0 +17:03:24:792 log enqueue task +17:03:24:792 log task queue not empty +17:03:24:792 log task size: 1 +17:03:24:792 log before pop task size: 1 +17:03:24:792 log after task size: 0 +17:03:25:284 log timer task size: 1 +17:03:25:285 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/common/sample_info.h +17:03:25:285 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_callback.h +17:03:25:285 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:03:25:285 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\demuxer.h +17:03:25:285 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_decoder.h +17:03:25:301 log timer task size: 1 +17:03:25:302 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/sample/player/Player.h +17:03:25:302 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:03:25:308 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\recorder\Recorder.h +17:03:25:308 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\muxer.h +17:03:25:309 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\include\video_encoder.h +17:03:25:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:03:25:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:03:25:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:03:25:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\audio_decoder.cpp +17:03:25:309 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:03:25:309 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:03:25:310 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\PlayerNative.h +17:03:25:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:03:25:310 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:03:25:310 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:03:25:311 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:03:25:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:03:25:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:03:25:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +der.cpp +17:03:25:312 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:03:25:312 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:03:25:312 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:03:25:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:03:25:314 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:03:25:315 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:35:017 log enqueue task +17:04:35:017 log task queue not empty +17:04:35:017 log task size: 1 +17:04:35:017 log before pop task size: 1 +17:04:35:018 log after task size: 0 +17:04:35:527 log timer task size: 1 +17:04:35:527 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:35:527 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:35:528 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:35:534 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:35:534 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:35:534 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:35:535 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:35:535 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:35:535 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:35:536 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:35:536 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:35:537 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:04:35:537 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:35:537 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:35:538 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:35:546 log enqueue task +17:04:35:546 log task queue not empty +17:04:35:546 log task size: 1 +17:04:35:546 log before pop task size: 1 +17:04:35:546 log after task size: 0 +17:04:36:049 log timer task size: 1 +17:04:36:049 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:36:049 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:36:049 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:36:051 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:36:051 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:36:052 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:36:053 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:36:053 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:36:053 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:36:055 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:36:055 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:36:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:04:36:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:36:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:36:057 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:38:360 log enqueue task +17:04:38:360 log task queue not empty +17:04:38:360 log task size: 1 +17:04:38:360 log before pop task size: 1 +17:04:38:360 log after task size: 0 +17:04:38:362 log enqueue task +17:04:38:363 log task queue not empty +17:04:38:363 log task size: 1 +17:04:38:363 log before pop task size: 1 +17:04:38:363 log after task size: 0 +17:04:38:869 log timer task size: 1 +17:04:38:869 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:38:869 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:38:870 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:38:870 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:38:870 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:38:870 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:38:871 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:38:871 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:38:871 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:38:872 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:38:872 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:38:872 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:38:873 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:38:873 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:38:873 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:38:874 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:38:874 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:38:874 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:38:874 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:38:874 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:38:875 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:38:875 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +nder.h +17:04:38:876 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:38:876 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:38:876 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:38:876 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:04:38:877 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:38:877 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:38:877 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:41:729 log enqueue task +17:04:41:729 log task queue not empty +17:04:41:729 log task size: 1 +17:04:41:729 log before pop task size: 1 +17:04:41:729 log after task size: 0 +17:04:41:731 log enqueue task +17:04:41:731 log task queue not empty +17:04:41:731 log task size: 1 +17:04:41:731 log before pop task size: 1 +17:04:41:731 log after task size: 0 +17:04:42:233 log timer task size: 1 +17:04:42:233 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:42:233 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:42:234 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:42:234 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:42:234 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:42:234 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:42:235 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:42:235 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:42:235 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:42:236 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:42:236 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:42:236 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:42:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:42:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:42:237 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:42:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:42:237 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:42:237 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:42:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:42:238 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:42:238 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:42:239 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:42:240 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:44:449 log enqueue task +17:04:44:449 log task queue not empty +17:04:44:449 log task size: 1 +17:04:44:449 log before pop task size: 1 +17:04:44:449 log after task size: 0 +17:04:44:880 log enqueue task +17:04:44:881 log task queue not empty +17:04:44:881 log task size: 1 +17:04:44:881 log before pop task size: 1 +17:04:44:881 log after task size: 0 +17:04:44:961 log timer task size: 1 +17:04:44:961 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:44:961 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:44:961 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:44:963 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:44:963 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:44:963 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:44:965 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:44:965 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:44:965 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:44:967 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:44:967 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:44:968 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:04:44:968 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:44:968 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:44:968 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:04:45:390 log timer task size: 1 +17:04:45:390 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:04:45:390 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:45:390 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:45:392 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:04:45:392 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:45:392 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:04:45:393 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:04:45:394 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:45:394 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:04:45:395 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:45:395 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:04:45:396 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:04:45:396 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:04:45:397 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:04:45:397 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:07:04:881 log enqueue task +17:07:04:881 log task queue not empty +17:07:04:882 log task size: 1 +17:07:04:882 log before pop task size: 1 +17:07:04:882 log after task size: 0 +17:07:05:184 log enqueue task +17:07:05:185 log task queue not empty +17:07:05:185 log task size: 1 +17:07:05:185 log before pop task size: 1 +17:07:05:185 log after task size: 0 +17:07:05:386 log timer task size: 1 +17:07:05:386 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:07:05:386 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:07:05:386 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:05:388 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:07:05:388 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:07:05:388 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:05:388 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:05:389 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:05:389 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:05:390 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:07:05:391 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:07:05:391 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:07:05:391 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:07:05:556 log enqueue task +17:07:05:556 log task queue not empty +17:07:05:556 log task size: 1 +17:07:05:556 log before pop task size: 1 +17:07:05:556 log after task size: 0 +17:07:05:700 log timer task size: 1 +17:07:05:700 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:07:05:701 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:07:05:701 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:05:702 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:07:05:702 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:07:05:702 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:05:702 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:05:704 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:05:704 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:05:705 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:07:05:705 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:07:05:705 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:07:05:705 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:07:06:064 log timer task size: 1 +17:07:06:064 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:07:06:065 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:07:06:065 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:06:066 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:07:06:066 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:07:06:066 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:06:067 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:06:068 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:06:068 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:06:070 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:07:06:070 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:07:06:070 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:07:06:070 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:07:56:161 log enqueue task +17:07:56:161 log task queue not empty +17:07:56:161 log task size: 1 +17:07:56:161 log before pop task size: 1 +17:07:56:162 log after task size: 0 +17:07:56:625 log enqueue task +17:07:56:625 log task queue not empty +17:07:56:625 log task size: 1 +17:07:56:625 log before pop task size: 1 +17:07:56:625 log after task size: 0 +17:07:56:666 log timer task size: 1 +17:07:56:667 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:07:56:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:07:56:667 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:56:668 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:07:56:669 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:07:56:669 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:56:669 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:56:670 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:56:670 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:56:671 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:07:56:671 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:07:56:671 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:07:56:671 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:07:57:141 log timer task size: 1 +17:07:57:141 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:07:57:142 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:07:57:142 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:57:143 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:07:57:143 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:07:57:143 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:57:143 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:07:57:145 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:57:145 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:07:57:147 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:07:57:147 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:07:57:147 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:07:57:147 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:08:08:308 log enqueue task +17:08:08:308 log task queue not empty +17:08:08:308 log task size: 1 +17:08:08:308 log before pop task size: 1 +17:08:08:308 log after task size: 0 +17:08:08:688 log enqueue task +17:08:08:688 log task queue not empty +17:08:08:688 log task size: 1 +17:08:08:689 log before pop task size: 1 +17:08:08:689 log after task size: 0 +17:08:08:815 log timer task size: 1 +17:08:08:816 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:08:08:816 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:08:08:816 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:08:08:818 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:08:08:818 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:08:08:818 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:08:08:818 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:08:08:819 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:08:08:819 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:08:08:820 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:08:08:820 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:08:08:820 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:08:08:821 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h +17:08:09:198 log timer task size: 1 +17:08:09:198 log reparse source files: file:///D:/gitee/AVCodecSample/entry/src/main/cpp/render/include/plugin_render.h +17:08:09:198 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\egl_core.cpp +17:08:09:199 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:08:09:200 log header include: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_manager.h +17:08:09:200 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.cpp +17:08:09:200 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:08:09:200 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\plugin_render.cpp +17:08:09:202 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:08:09:202 log reparse file: D:\gitee\AVCodecSample\entry\src\main\cpp\render\include\plugin_render.h +17:08:09:203 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\sample\player\Player.h +17:08:09:203 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\capbilities\demuxer.cpp +17:08:09:203 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\dfx\log\av_codec_sample_log.h +17:08:09:203 log active files: D:\gitee\AVCodecSample\entry\src\main\cpp\common\sample_info.h diff --git a/code/BasicFeature/Media/AVCodec/oh-package-lock.json5 b/code/BasicFeature/Media/AVCodec/oh-package-lock.json5 new file mode 100644 index 0000000000000000000000000000000000000000..22f9d347866ad25369f3795f6e63fffe832878b5 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/oh-package-lock.json5 @@ -0,0 +1,9 @@ +{ + "meta": { + "stableOrder": true + }, + "lockfileVersion": 3, + "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", + "specifiers": {}, + "packages": {} +} \ No newline at end of file diff --git a/code/BasicFeature/Media/AVCodec/oh-package.json5 b/code/BasicFeature/Media/AVCodec/oh-package.json5 new file mode 100644 index 0000000000000000000000000000000000000000..07baf65d113c8605daf067d7dee835f00b65f591 --- /dev/null +++ b/code/BasicFeature/Media/AVCodec/oh-package.json5 @@ -0,0 +1,12 @@ +{ + "modelVersion": "5.0.0", + "license": "", + "devDependencies": { + }, + "author": "", + "name": "avcodecsample", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} +} \ No newline at end of file diff --git "a/code/BasicFeature/Media/AVCodec/screenshots/\345\275\225\345\210\266.jpeg" "b/code/BasicFeature/Media/AVCodec/screenshots/\345\275\225\345\210\266.jpeg" new file mode 100644 index 0000000000000000000000000000000000000000..54fabed1308b235842a6fbc43cbe695699b51a7d Binary files /dev/null and "b/code/BasicFeature/Media/AVCodec/screenshots/\345\275\225\345\210\266.jpeg" differ diff --git "a/code/BasicFeature/Media/AVCodec/screenshots/\345\275\225\345\210\266_2.jpeg" "b/code/BasicFeature/Media/AVCodec/screenshots/\345\275\225\345\210\266_2.jpeg" new file mode 100644 index 0000000000000000000000000000000000000000..eee8b4d8bb9516dcc1717e0f9b99fa8c46698d3a Binary files /dev/null and "b/code/BasicFeature/Media/AVCodec/screenshots/\345\275\225\345\210\266_2.jpeg" differ diff --git "a/code/BasicFeature/Media/AVCodec/screenshots/\346\222\255\346\224\276.jpeg" "b/code/BasicFeature/Media/AVCodec/screenshots/\346\222\255\346\224\276.jpeg" new file mode 100644 index 0000000000000000000000000000000000000000..fde9b94a2d6215f8a3e5ad72ec9f5a197555450b Binary files /dev/null and "b/code/BasicFeature/Media/AVCodec/screenshots/\346\222\255\346\224\276.jpeg" differ diff --git "a/code/BasicFeature/Media/AVCodec/screenshots/\346\222\255\346\224\276_2.jpeg" "b/code/BasicFeature/Media/AVCodec/screenshots/\346\222\255\346\224\276_2.jpeg" new file mode 100644 index 0000000000000000000000000000000000000000..14595bcd4c4b3b7e7a4fe4993adde3a9ee759c33 Binary files /dev/null and "b/code/BasicFeature/Media/AVCodec/screenshots/\346\222\255\346\224\276_2.jpeg" differ