小编moe*_*moe的帖子

通过MP4视频向后搜索时,显示时间戳不正确

我正在使用MediaCodecMediaExtractor以可变速率播放视频,包括向前和向后.代码使用类似SpeedControlCallback的东西来建立帧间暂停 - presentationTimeUs从输出缓冲区向它提供字段.

99%的情况下,这种方法很好,但是看起来三星S6上的AVC编解码器在向后搜索时提供了错误的演示时间 - 它们被固定在寻求转发的最高价值时,如果这有意义的话.缓冲区中的数据是正确/更改的 - 它只是与固定的显示时间不对应.

S6可以处理具有品牌/ ftype的MP4文件中的后向搜索avc1,但我尝试过的其他品牌的H.264视频(mp42,isom)在100%的时间内都不起作用.相同的文件在三星S5以及我尝试过的所有其他设备上都能正常工作.

编解码器记录这个:

09-15 11:16:21.611 2992-16618/? W/EXYNOS_VIDEO_DEC? sCurrentTimestamp(6002033) is smaller than latestTimeStamp(7001744), uses latestTimeStamp

在每个向后搜索(SEEK_TO_PREVIOUS_SYNC),并将latestTimestampValue为所有关键帧提供错误.

有没有人在Galaxy S6上遇到与AVC编解码器类似的问题,或者是否可以提供任何(非hacky)解决方案?

video android h.264 mpeg-4 android-video-player

15
推荐指数
0
解决办法
230
查看次数

没有1309,是否可以在中央和外围模式下运行?

精简版

任何人都知道CB iOS应用程序在中央和外围模式下运行,并且作为中心,连接到外围设备?某个存储库中的实际应用程序或草图会很棒.

更长

在这两种模式下工作已经让之前(开始讨论在这里),并Unknown Error: 1309didFailToConnectPeripheral已经提到(在这里).

在两种模式下进行的大量实验,以及与Apple员工就TSI打开的对话,使我确信在使用中央和外围模式的应用程序中连接到外设将导致1309,这非常高在后续连接到该外围设备时重复出现的可能性(直到设备重新启动).

Apple表示这是因为在使用这两种模式时造成了死锁,但我一直非常小心地将呼叫分区为CBCentralManagervs. CBPeripheralManager,并确保其活动不重叠.

鉴于这个bug根本没有被提及,我有点好奇其他人是否设法避免它,或者只是对这个用例不感兴趣.

iphone objective-c ios core-bluetooth

6
推荐指数
1
解决办法
207
查看次数