Lines Matching refs:ch_obj
107 int32_t mm_channel_superbuf_comp_and_enqueue(mm_channel_t *ch_obj,
133 mm_channel_t * ch_obj,
139 if ((MM_STREAM_STATE_NOTUSED != ch_obj->streams[i].state) &&
140 (handler == ch_obj->streams[i].my_hdl)) {
141 s_obj = &ch_obj->streams[i];
201 mm_channel_t *ch_obj = (mm_channel_t *)user_data;
202 if (NULL == ch_obj) {
208 ch_obj,
209 &ch_obj->bundle.superbuf_queue,
213 ch_obj->pending_cnt = cmd_cb->u.req_buf.num_buf_requested;
214 ch_obj->pending_retro_cnt = cmd_cb->u.req_buf.num_retro_buf_requested;
215 ch_obj->bWaitForPrepSnapshotDone = 0;
218 __func__, ch_obj->pending_cnt, ch_obj->pending_retro_cnt);
219 if (!ch_obj->pending_cnt || (ch_obj->pending_retro_cnt > ch_obj->pending_cnt)) {
220 ch_obj->pending_retro_cnt = ch_obj->pending_cnt;
222 if (ch_obj->pending_retro_cnt > 0) {
225 ch_obj->needLEDFlash = 0;
227 ch_obj->stopZslSnapshot = 0;
228 ch_obj->unLockAEC = 0;
230 mm_channel_superbuf_skip(ch_obj, &ch_obj->bundle.superbuf_queue);
233 ch_obj->manualZSLSnapshot = TRUE;
234 mm_camera_start_zsl_snapshot(ch_obj->cam_obj);
236 ch_obj->manualZSLSnapshot = FALSE;
237 mm_camera_stop_zsl_snapshot(ch_obj->cam_obj);
239 ch_obj->bundle.superbuf_queue.attr.notify_mode = cmd_cb->u.notify_mode;
241 ch_obj->bundle.superbuf_queue.expected_frame_id = cmd_cb->u.frame_idx;
242 mm_channel_superbuf_flush(ch_obj, &ch_obj->bundle.superbuf_queue);
252 mm_channel_superbuf_flush(ch_obj,
253 &ch_obj->bundle.superbuf_queue);
258 ch_obj->need3ABracketing = TRUE;
260 ch_obj->need3ABracketing = FALSE;
271 ch_obj->isFlashBracketingEnabled = TRUE;
273 ch_obj->isFlashBracketingEnabled = FALSE;
284 ch_obj->isZoom1xFrameRequested = TRUE;
286 ch_obj->isZoom1xFrameRequested = FALSE;
295 notify_mode = ch_obj->bundle.superbuf_queue.attr.notify_mode;
297 if ((ch_obj->pending_cnt > 0)
298 && (ch_obj->needLEDFlash == TRUE || ch_obj->need3ABracketing == TRUE)
299 && (ch_obj->manualZSLSnapshot == FALSE)
300 && ch_obj->startZSlSnapshotCalled == FALSE) {
303 mm_camera_start_zsl_snapshot(ch_obj->cam_obj);
304 ch_obj->startZSlSnapshotCalled = TRUE;
305 ch_obj->burstSnapNum = ch_obj->pending_cnt;
306 ch_obj->bWaitForPrepSnapshotDone = 0;
307 ch_obj->needLEDFlash = FALSE;
308 } else if (((ch_obj->pending_cnt == 0) || (ch_obj->stopZslSnapshot == 1))
309 && (ch_obj->manualZSLSnapshot == FALSE)
310 && (ch_obj->startZSlSnapshotCalled == TRUE)) {
312 mm_camera_stop_zsl_snapshot(ch_obj->cam_obj);
314 ch_obj->startZSlSnapshotCalled = FALSE;
315 ch_obj->needLEDFlash = FALSE;
316 ch_obj->burstSnapNum = 0;
317 ch_obj->stopZslSnapshot = 0;
318 ch_obj->bWaitForPrepSnapshotDone = 0;
319 ch_obj->unLockAEC = 1;
320 ch_obj->need3ABracketing = FALSE;
323 mm_channel_superbuf_bufdone_overflow(ch_obj, &ch_obj->bundle.superbuf_queue);
326 __func__, ch_obj->pending_cnt);
330 __func__, ch_obj->pending_cnt, ch_obj->pending_retro_cnt);
331 while (((ch_obj->pending_cnt > 0) ||
333 (!ch_obj->bWaitForPrepSnapshotDone)) {
336 __func__, ch_obj->pending_cnt, ch_obj->pending_retro_cnt);
338 node = mm_channel_superbuf_dequeue(&ch_obj->bundle.superbuf_queue);
343 ch_obj->pending_cnt--;
344 if (ch_obj->pending_retro_cnt > 0) {
345 if (ch_obj->pending_retro_cnt == 1) {
346 ch_obj->bWaitForPrepSnapshotDone = 1;
350 ch_obj->pending_retro_cnt--;
353 "pending_cnt=%d", __func__, ch_obj->pending_cnt);
355 if (((ch_obj->pending_cnt == 0) ||
356 (ch_obj->stopZslSnapshot == 1)) &&
357 (ch_obj->manualZSLSnapshot == FALSE) &&
358 ch_obj->startZSlSnapshotCalled == TRUE) {
360 mm_camera_stop_zsl_snapshot(ch_obj->cam_obj);
361 ch_obj->startZSlSnapshotCalled = FALSE;
362 ch_obj->burstSnapNum = 0;
363 ch_obj->stopZslSnapshot = 0;
364 ch_obj->unLockAEC = 1;
369 if (NULL != ch_obj->bundle.super_buf_notify_cb) {
374 __func__, ch_obj->pending_cnt);
385 cb_node->u.superbuf.camera_handle = ch_obj->cam_obj->my_hdl;
386 cb_node->u.superbuf.ch_id = ch_obj->my_hdl;
388 if (ch_obj->unLockAEC == 1) {
391 ch_obj->unLockAEC = 0;
395 cam_queue_enq(&(ch_obj->cb_thread.cmd_queue), cb_node);
397 cam_sem_post(&(ch_obj->cb_thread.cmd_sem));
402 mm_channel_qbuf(ch_obj, node->super_buf[i].buf);
409 mm_channel_qbuf(ch_obj, node->super_buf[i].buf);
908 stream_obj->ch_obj = my_obj;
1750 * @ch_obj : channel object
1759 ch_obj,
1766 stream_obj = mm_channel_util_get_stream_by_handler(ch_obj,
1824 for (i=0; i<ARRAY_SIZE(ch_obj->streams); i++) {
1826 ch_obj->streams[i].stream_info->stream_type) {
1827 snapshot_stream_id = ch_obj->streams[i].server_stream_id;
1851 if (ch_obj->isZoom1xFrameRequested) {
1853 ch_obj->isZoom1xFrameRequested = 0;
1858 mm_channel_superbuf_flush_matched(ch_obj, queue);
1864 ch_obj->bWaitForPrepSnapshotDone = 0;
1870 mm_channel_superbuf_flush(ch_obj, queue);
1871 ch_obj->needLEDFlash = TRUE;
1873 ch_obj->needLEDFlash = FALSE;
1884 if((ch_obj->needLEDFlash == TRUE) && (ch_obj->burstSnapNum > 1)) {
1905 } else if (ch_obj->need3ABracketing && !is_good_frame_idx_range_valid) {
1907 mm_channel_superbuf_flush_matched(ch_obj, queue);
1910 if (ch_obj->isFlashBracketingEnabled &&
1930 ch_obj->need3ABracketing = FALSE;
1933 if((ch_obj->burstSnapNum > 1) && (ch_obj->needLEDFlash == TRUE) &&
1934 !ch_obj->isFlashBracketingEnabled) {
1938 __func__, ch_obj->burstSnapNum);
1942 ch_obj->stopZslSnapshot = 1;
1958 * @ch_obj : channel object
1967 mm_channel_t* ch_obj,
1989 if (mm_channel_handle_metadata(ch_obj, queue, buf_info) < 0) {
1990 mm_channel_qbuf(ch_obj, buf_info->buf);
1994 mm_stream_t* stream_obj = mm_channel_util_get_stream_by_handler(ch_obj,
2003 mm_channel_qbuf(ch_obj, buf_info->buf);
2011 mm_channel_qbuf(ch_obj, buf_info->buf);
2073 if(ch_obj->isFlashBracketingEnabled) {
2078 ch_obj->isFlashBracketingEnabled = FALSE;
2097 mm_channel_qbuf(ch_obj, super_buf->super_buf[i].buf);
2116 mm_channel_qbuf(ch_obj, buf_info->buf);
2124 mm_channel_qbuf(ch_obj, super_buf->super_buf[i].buf);
2170 mm_channel_qbuf(ch_obj, buf_info->buf);