提交 4509b3f5 编写于 作者: D dongwei

seekloop偶现阻塞修复

Signed-off-by: Ndongwei <dongwei@kaihong.com>
上级 850b1f85
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="238f4f71-8107-4800-96f2-4594d0e9aefb" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/multimedia/media/media_js_standard/AVPlayerTestBase.js" beforeDir="false" afterPath="$PROJECT_DIR$/multimedia/media/media_js_standard/AVPlayerTestBase.js" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectId" id="2QCKTW4P7vejU6THTvb3Ckm0St1" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/multimedia/media/media_js_standard/avRecorder/src/main/js/test" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\mediaCases\0523\xts_acts_0523\multimedia\media\media_js_standard\avRecorder\src\main\js\test" />
<recent name="D:\mediaCases\0523\xts_acts_0523\multimedia\media\media_js_standard" />
<recent name="D:\mediaCases\0523\xts_acts_0523\multimedia\media\media_js_standard\avPlayer\entry\src\main\ets\test" />
</key>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
</project>
\ No newline at end of file
......@@ -609,28 +609,30 @@ export async function seekLoop(src, avPlayer, done) {
}, (err) => {
console.error('seekLoop play filed,error message is :' + err.message)
})
if(avPlayer.state == AV_PLAYER_STATE.PLAYING){
console.info('seekLoop avPlayer from play to seek')
// play seek loop 1000 times
for(var loopTime = 0;loopTime < 1000; loopTime++){
avPlayer.seek(loopTime)
console.info(`case seekLoopWithCallback loopTime is ${loopTime}`);
}
}
await seekLoopWithCallback(avPlayer)
console.info('seekLoop avPlayer from play to seek')
// play seek loop 1000 times
await avPlayer.stop().then(() => {
console.info('seekLoopWithCallback avPlayer from play to stop')
avPlayer.release().then(() => {
console.info('seekLoopWithCallback avPlayer from stop to release')
expect(avPlayer.state).assertEqual(AV_PLAYER_STATE.RELEASED);
done();
}, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback);
}, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback);
await avPlayer.release().then(() => {
console.info('seekLoopWithCallback avPlayer from stop to release')
expect(avPlayer.state).assertEqual(AV_PLAYER_STATE.RELEASED);
done();
}, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback);
}
async function seekLoopWithCallback(avPlayer) {
avPlayer.on('seekDone', async (seekDoneTime) => {
console.info(`case seekDone called seekDoneTime is ${seekDoneTime}`);
});
for (let loopTime = 0; loopTime < 5000; loopTime += 5) {
await new Promise(resolve => {
avPlayer.on('seekDone', seekDoneTime => {
console.info(`case seekDone called seekDoneTime is ${seekDoneTime}`);
resolve();
});
avPlayer.seek(loopTime);
console.info(`case seekLoopWithCallback loopTime is ${loopTime}`);
});
}
}
export async function seekLoopWithoutCallback(src, avPlayer, done) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册