L版本mtk camera录像start和 stop间隔很短时出现有保存界面但没有保存视频 的现象
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
进入mtk CAMERA录像,点击start key后,再迅速点击stop或者back key,这时camera进入saving界面,saving界面停止后回到preview界面,查看视
频保存目录,发现并没有产生视频(客户希望没有保存视频的话,就不弹出saving界面,这可能会让用户误以为真的保存了视频)。
[SOLUTION]
当录像start和stop间隔很短时,会出现MPEG4Writer拿到0个Video Frame的情况,谷歌在L版本上修改了原来的设计(原来是会强制从Video Encoder取一帧),即使MPEG4Writer一个Video Frame也没有取到,也不会从Video Encoder强制取一帧,MPEG4Writer stop时上报一个消息到ap(ap会catch一个stop fail的exception,这个上报在KK上和L上都是一样的),但ap在调用stop mediaRecorder之前,已经弹出saving界面(ap流程是:弹出saving界面--->run saving task--->在saving task中stop mediaRecorder--->MPEG4Writer stop),也就是说,在弹出saving界面的时候,ap还不知道底层没有拿到video frame,因此无法通过底层上报判断是否需要弹出saving界面。
介于谷歌原生的设计,底层不会做修改,而ap因为拿掉saving界面后,后面的preview界面会乱掉,所以ap建议也不做修改。
对此问题,建议客户不做关注。
进入mtk CAMERA录像,点击start key后,再迅速点击stop或者back key,这时camera进入saving界面,saving界面停止后回到preview界面,查看视
频保存目录,发现并没有产生视频(客户希望没有保存视频的话,就不弹出saving界面,这可能会让用户误以为真的保存了视频)。
[SOLUTION]
当录像start和stop间隔很短时,会出现MPEG4Writer拿到0个Video Frame的情况,谷歌在L版本上修改了原来的设计(原来是会强制从Video Encoder取一帧),即使MPEG4Writer一个Video Frame也没有取到,也不会从Video Encoder强制取一帧,MPEG4Writer stop时上报一个消息到ap(ap会catch一个stop fail的exception,这个上报在KK上和L上都是一样的),但ap在调用stop mediaRecorder之前,已经弹出saving界面(ap流程是:弹出saving界面--->run saving task--->在saving task中stop mediaRecorder--->MPEG4Writer stop),也就是说,在弹出saving界面的时候,ap还不知道底层没有拿到video frame,因此无法通过底层上报判断是否需要弹出saving界面。
介于谷歌原生的设计,底层不会做修改,而ap因为拿掉saving界面后,后面的preview界面会乱掉,所以ap建议也不做修改。
对此问题,建议客户不做关注。