-
Notifications
You must be signed in to change notification settings - Fork 461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
鸿蒙 4.4.9版本在华为navo12上出现不播放现象 #2621
Comments
如果是这个结论,鸿蒙肯定没有认真分析, 关于视频解码, pag 这边传入的视频帧数至少会等于最大参考帧的数量:https://github.com/Tencent/libpag/blob/main/src/platform/ohos/OHOSVideoDecoder.cpp 由于鸿蒙仅仅提供了异步解码接口,不像 Android 和 iOS 提供了同步解码接口,要实现精确解码,这里很麻烦,需要通过加锁的方式实现异步转同步,如果传入数据过多,就会出现内存占用增加很多的问题,,如果鸿蒙 SDK 内部无返回解码数据,就会出现等待。可以升级到 4.4.17, 配置了低延时解码,看这种方式是否可以解决问题 |
好的 我升级了试一下, 非常感谢 |
我升级了4.4.17 但是目前在鸿蒙的 5.0.0.113 SP2C00E110R4P22logpatch05 这个版本上变的非常卡顿 VID20241217085036.mp4 |
可以和 4.4.16 版本对比下,看是版本的问题还是其它原因 |
|
你描述的是已经获取到解码数据后送显的方式,和我说的有啥关系,我上面描述的是视频解码环节中通过 send 未解码数据获取解码数据这个过程鸿蒙是异步的,没有同步的解码方式:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/video-decoding-V5 Android 同步异步解码接口:https://blog.csdn.net/u011418943/article/details/107561111 视频编辑以及 pag 播放场景下需要的是精确解码,并不是所有的播放都是顺序播放的,我们提供了 API 接口支持随机 seek,需要是精确解码,同步解码接口更好,每送一帧未解码数据视频解码模块给出解码数据或者需要继续送数据的标志以便完成解码。由于鸿蒙只有异步解码接口,这里强行通过加锁做了同步,pag 这边会送出最大参考帧数量的未解码数据,这些数据足以获取到解码数据,如果鸿蒙内部没有返回数据,这里就会出现死锁,这也就是异步解码模式的弊端,如果 pag 这边增加送入的未解码数据,就会增加内存占用。对于实现方而言,使用同步解码接口后实现方可以自己实现异步,现在鸿蒙的这种解码模式限制使用的灵活性,精确解码模式下会有很多性能问题和潜在的风险,已经反馈过给他们。 |
【版本信息】
4.4.9
【平台信息】
鸿蒙
【预期的表现】
正常播放
【实际的情况】
未播放pag动画
【Demo及附件】
splash_default.zip
oh.zip
日志见附件
鸿蒙系统排查说只传了一帧给解码器, 后面就没有了,
The text was updated successfully, but these errors were encountered: