static bool omx_drop_done;
static bool video_start_post;
static bool videopeek;
+static bool nopostvideostart;
/*----omx_info bit0: keep_last_frame, bit1~31: unused----*/
static u32 omx_info = 0x1;
if (vf) {
if (hdmi_in_onvideo == 0) {
- tsync_avevent_locked(VIDEO_START,
- (vf->pts) ? vf->pts :
- timestamp_vpts_get());
+ if (nopostvideostart == false)
+ tsync_avevent_locked(VIDEO_START,
+ (vf->pts) ? vf->pts :
+ timestamp_vpts_get());
video_start_post = true;
}
new_frame_count = 0;
first_frame_toggled = 0;
videopeek = 0;
+ nopostvideostart = false;
atomic_set(&video_unreg_flag, 1);
while (atomic_read(&video_inirq_flag) > 0)
put_user(video_onoff_state, (u32 __user *)argp);
break;
}
+
case AMSTREAM_IOC_GET_FIRST_FRAME_TOGGLED:
put_user(first_frame_toggled, (u32 __user *)argp);
break;
case AMSTREAM_IOC_SET_VIDEOPEEK:
videopeek = true;
+ nopostvideostart = true;
break;
default:
return -EINVAL;