u32 vid_enc_flush(struct video_client_ctx *client_ctx, struct venc_bufferflush *bufferflush) { u32 status = TRUE, n_mode, vcd_status; if (!client_ctx || !bufferflush) return FALSE; switch (bufferflush->flush_mode) { case VEN_FLUSH_INPUT: n_mode = VCD_FLUSH_INPUT; break; case VEN_FLUSH_OUTPUT: n_mode = VCD_FLUSH_OUTPUT; break; case VEN_FLUSH_ALL: n_mode = VCD_FLUSH_ALL; break; default: status = FALSE; break; } if (status) { vcd_status = vcd_flush(client_ctx->vcd_handle, n_mode); if (vcd_status) status = FALSE; } return status; }
static u32 vid_dec_flush(struct video_client_ctx *client_ctx, enum vdec_bufferflush flush_dir) { u32 vcd_status = VCD_ERR_FAIL; INFO("\n msm_vidc_dec: %s() called with dir = %u", __func__, flush_dir); if (!client_ctx) { ERR("\n Invalid client_ctx"); return FALSE; } switch (flush_dir) { case VDEC_FLUSH_TYPE_INPUT: vcd_status = vcd_flush(client_ctx->vcd_handle, VCD_FLUSH_INPUT); break; case VDEC_FLUSH_TYPE_OUTPUT: vcd_status = vcd_flush(client_ctx->vcd_handle, VCD_FLUSH_OUTPUT); break; case VDEC_FLUSH_TYPE_ALL: vcd_status = vcd_flush(client_ctx->vcd_handle, VCD_FLUSH_ALL); break; default: ERR("%s(): Inavlid flush cmd. flush_dir = %u\n", __func__, flush_dir); return FALSE; break; } if (!vcd_status) return TRUE; else { ERR("%s(): vcd_flush failed. vcd_status = %u " " flush_dir = %u\n", __func__, vcd_status, flush_dir); return FALSE; } }