videosync_buffer_states(&states, dev_s);
if (states.buf_queued_num + states.buf_ready_num > 0)
return RECEIVER_ACTIVE;
-
- vp_print(dev_s->vf_receiver_name, 0,
+ else {
+ vp_print(dev_s->vf_receiver_name, 0,
"buf queue empty!!\n");
- return RECEIVER_ACTIVE;/*return RECEIVER_INACTIVE;*/
+ if (vf_notify_receiver(
+ dev_s->vf_provider_name,
+ VFRAME_EVENT_PROVIDER_QUREY_STATE,
+ NULL) == RECEIVER_ACTIVE)
+ return RECEIVER_ACTIVE;
+ return RECEIVER_INACTIVE;
+ }
}
return 0;
}
SET_FILTER:
#ifdef VIDEO_PIP
vf = pip_vf_peek();
+
/* setting video display property in underflow mode */
if ((!vf) && cur_pipbuf && (pip_property_changed))
pip_toggle_frame(cur_pipbuf);
- if (vf) {
+
+ while (vf) {
vf = pip_vf_get();
if (vf) {
if (!vf->frame_dirty)
else
pip_vf_put(vf);
}
+ vf = pip_vf_peek();
}
#endif
#if defined(CONFIG_AMLOGIC_MEDIA_ENHANCEMENT_VECM)