昨天测试结果,发现一个严重问题:H264播放时,画面与提示内容严重不同步,延迟达20秒左右。经过一番分析,发现第一个文件正常,第二个文件就不正常。这是怎么回事?
保存流程?没问题。
切换流程?也没问题。
播放问题?也没问题。
最后发现,问题是出在切换时的一个缓冲区。错误产生如下:
- 用当前文件对象的缓冲区取得数据。
- 关闭文件(同时释放该缓冲区)。
- 保存该缓冲区数据到新文件。
显然,这个时候的缓冲区是错误的。保存的数据,导致播放出现问题。修正流程之后,结果正确。
这个说明什么?说明测试的重要性。