Home | History | Annotate | Download | only in mm-camera-interface

Lines Matching refs:my_obj

47 static int mm_camera_channel_skip_frames(mm_camera_obj_t *my_obj,
53 static int mm_camera_channel_get_starting_frame(mm_camera_obj_t *my_obj,
61 static int mm_camera_ch_search_frame_based_on_time(mm_camera_obj_t *my_obj,
72 int mm_camera_ch_util_get_num_stream(mm_camera_obj_t * my_obj,mm_camera_channel_type_t ch_type)
84 if(my_obj->ch[ch_type].video.has_main) {
97 void mm_camera_ch_util_get_stream_objs(mm_camera_obj_t * my_obj,
107 *stream1 = &my_obj->ch[ch_type].raw.stream;
110 *stream1 = &my_obj->ch[ch_type].preview.stream;
113 *stream1 = &my_obj->ch[ch_type].video.video;
114 if(my_obj->ch[ch_type].video.has_main) {
115 *stream2 = &my_obj->ch[ch_type].video.main;
119 *stream1 = &my_obj->ch[ch_type].snapshot.main;
120 if (!my_obj->full_liveshot)
121 *stream2 = &my_obj->ch[ch_type].snapshot.thumbnail;
128 static int32_t mm_camera_ch_util_set_fmt(mm_camera_obj_t * my_obj,
140 stream1 = &my_obj->ch[ch_type].raw.stream;
144 stream1 = &my_obj->ch[ch_type].preview.stream;
148 stream1 = &my_obj->ch[ch_type].video.video;
150 if(my_obj->ch[ch_type].video.has_main) {
152 stream2 = &my_obj->ch[ch_type].video.main;
157 stream1 = &my_obj->ch[ch_type].snapshot.main;
159 if (!my_obj->full_liveshot) {
160 stream2 = &my_obj->ch[ch_type].snapshot.thumbnail;
171 rc = mm_camera_stream_fsm_fn_vtbl(my_obj, stream1,
174 rc = mm_camera_stream_fsm_fn_vtbl(my_obj, stream2,
179 static int32_t mm_camera_ch_util_acquire(mm_camera_obj_t * my_obj,
188 if(my_obj->ch[ch_type].acquired) {
192 pthread_mutex_init(&my_obj->ch[ch_type].mutex, NULL);
195 stream1 = &my_obj->ch[ch_type].raw.stream;
199 stream1 = &my_obj->ch[ch_type].preview.stream;
203 stream1 = &my_obj->ch[ch_type].video.video;
206 my_obj->ch[ch_type].video.has_main = FALSE;
209 stream1 = &my_obj->ch[ch_type].snapshot.main;
211 if (!my_obj->full_liveshot) {
212 stream2 = &my_obj->ch[ch_type].snapshot.thumbnail;
220 if(stream1) rc = mm_camera_stream_fsm_fn_vtbl(my_obj, stream1,
222 if(stream2 && !rc) rc = mm_camera_stream_fsm_fn_vtbl(my_obj, stream2,
225 if(!my_obj->ch[ch_type].acquired) my_obj->ch[ch_type].acquired = TRUE;
232 static int32_t mm_camera_ch_util_release(mm_camera_obj_t * my_obj,
238 if(!my_obj->ch[ch_type].acquired) return MM_CAMERA_OK;
240 mm_camera_ch_util_get_stream_objs(my_obj,ch_type, &stream1, &stream2);
242 mm_camera_stream_fsm_fn_vtbl(my_obj, stream1, evt, NULL);
244 mm_camera_stream_fsm_fn_vtbl(my_obj, stream2, evt, NULL);
245 pthread_mutex_destroy(&my_obj->ch[ch_type].mutex);
246 memset(&my_obj->ch[ch_type],0,sizeof(my_obj->ch[ch_type]));
250 static int32_t mm_camera_ch_util_stream_null_val(mm_camera_obj_t * my_obj,
257 rc = mm_camera_stream_fsm_fn_vtbl(my_obj, &my_obj->ch[ch_type].raw.stream,
261 rc = mm_camera_stream_fsm_fn_vtbl(my_obj, &my_obj->ch[ch_type].preview.stream,
265 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
266 &my_obj->ch[ch_type].video.video, evt,
268 if(!rc && my_obj->ch[ch_type].video.main.fd)
269 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
270 &my_obj->ch[ch_type].video.main, evt,
274 my_obj->ch[ch_type].snapshot.expected_matching_id = 0;
275 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
276 &my_obj->ch[ch_type].snapshot.main, evt,
278 if(!rc && !my_obj->full_liveshot)
279 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
280 &my_obj->ch[ch_type].snapshot.thumbnail, evt,
291 static int32_t mm_camera_ch_util_reg_buf(mm_camera_obj_t * my_obj,
298 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
299 &my_obj->ch[ch_type].raw.stream, evt,
303 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
304 &my_obj->ch[ch_type].preview.stream, evt,
310 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
311 &my_obj->ch[ch_type].video.video, evt,
313 if(!rc && my_obj->ch[ch_type].video.has_main) {
314 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
315 &my_obj->ch[ch_type].video.main, evt,
323 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
324 &my_obj->ch[ch_type].snapshot.main, evt,
326 if(!rc && !my_obj->full_liveshot) {
327 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
328 &my_obj->ch[ch_type].snapshot.thumbnail, evt,
340 static int32_t mm_camera_ch_util_attr(mm_camera_obj_t *my_obj,
349 if(my_obj->ch[ch_type].acquired== 0) {
356 my_obj->ch[ch_type].raw.mode = val->raw_streaming_mode;
362 memcpy(&my_obj->ch[ch_type].buffering_frame, &val->buffering_frame, sizeof(val->buffering_frame));
370 static int32_t mm_camera_ch_util_reg_buf_cb(mm_camera_obj_t *my_obj,
380 // pthread_mutex_lock(&my_obj->ch[ch_type].mutex);
382 if(my_obj->ch[ch_type].buf_cb[i].cb==NULL) {
383 memcpy(&my_obj->ch[ch_type].buf_cb[i],val,sizeof(mm_camera_buf_cb_t));
387 // pthread_mutex_unlock(&my_obj->ch[ch_type].mutex);
392 static int32_t mm_camera_ch_util_qbuf(mm_camera_obj_t *my_obj,
408 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
409 &my_obj->ch[ch_type].raw.stream, evt,
414 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
415 &my_obj->ch[ch_type].preview.stream, evt,
423 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
424 &my_obj->ch[ch_type].video.video, evt,
431 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
432 &my_obj->ch[ch_type].video.main, evt,
440 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
441 &my_obj->ch[ch_type].snapshot.main, evt,
446 if(!rc && (!my_obj->full_liveshot)) {
447 if (my_obj->op_mode == MM_CAMERA_OP_MODE_ZSL)
448 stream = &my_obj->ch[MM_CAMERA_CH_PREVIEW].preview.stream;
450 stream = &my_obj->ch[ch_type].snapshot.thumbnail;
451 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
497 static int mm_camera_ch_util_get_crop(mm_camera_obj_t *my_obj,
505 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
506 &my_obj->ch[ch_type].raw.stream, evt,
510 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
511 &my_obj->ch[ch_type].preview.stream, evt,
515 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
516 &my_obj->ch[ch_type].video.video, evt,
521 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
522 &my_obj->ch[ch_type].snapshot.main, evt,
524 if(!rc && !my_obj->full_liveshot) {
526 rc = mm_camera_stream_fsm_fn_vtbl(my_obj,
527 &my_obj->ch[ch_type].snapshot.thumbnail, evt,
539 static int mm_camera_ch_util_dispatch_buffered_frame(mm_camera_obj_t *my_obj,
542 return mm_camera_poll_dispatch_buffered_frames(my_obj, ch_type);
552 static int mm_camera_channel_skip_frames(mm_camera_obj_t *my_obj,
584 mm_camera_stream_util_buf_done(my_obj, mstream, &notify_frame);
589 mm_camera_stream_util_buf_done(my_obj, sstream, &notify_frame);
599 void mm_camera_dispatch_buffered_frames(mm_camera_obj_t *my_obj,
608 mm_camera_ch_t *ch = &my_obj->ch[ch_type];
614 mm_camera_ch_util_get_stream_objs(my_obj, ch_type, &stream1, &stream2);
615 stream2 = &my_obj->ch[MM_CAMERA_CH_PREVIEW].preview.stream;
623 pthread_mutex_lock(&my_obj->ch[MM_CAMERA_CH_PREVIEW].mutex);
624 pthread_mutex_lock(&my_obj->ch[MM_CAMERA_CH_SNAPSHOT].mutex);
626 rc = mm_camera_channel_skip_frames(my_obj, mq, sq, stream1, stream2, &ch->buffering_frame);
631 num_of_req_frame = my_obj->snap_burst_num_by_user;
679 my_obj->snap_burst_num_by_user, ch->snapshot.pending_cnt);
681 pthread_mutex_unlock(&my_obj->ch[MM_CAMERA_CH_SNAPSHOT].mutex);
682 pthread_mutex_unlock(&my_obj->ch[MM_CAMERA_CH_PREVIEW].mutex);
690 mm_camera_poll_send_ch_event(my_obj, &data);
694 int32_t mm_camera_ch_fn(mm_camera_obj_t * my_obj,
703 rc = mm_camera_ch_util_acquire(my_obj, ch_type);
707 //mm_camera_poll_thread_release(my_obj, ch_type);
708 rc = mm_camera_ch_util_release(my_obj, ch_type, evt);
711 rc = mm_camera_ch_util_attr(my_obj, ch_type,
715 rc = mm_camera_ch_util_reg_buf_cb(my_obj, ch_type,
719 rc = mm_camera_ch_util_set_fmt(my_obj, ch_type,
724 rc = mm_camera_ch_util_reg_buf(my_obj, ch_type, evt, val);
727 rc = mm_camera_ch_util_stream_null_val(my_obj, ch_type, evt, NULL);
731 my_obj->ch[ch_type].raw.mode == MM_CAMERA_RAW_STREAMING_CAPTURE_SINGLE) {
732 if( MM_CAMERA_OK != (rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
738 mm_camera_poll_thread_add_ch(my_obj, ch_type);
739 rc = mm_camera_ch_util_stream_null_val(my_obj, ch_type, evt, NULL);
742 mm_camera_poll_thread_release(my_obj, ch_type);
747 mm_camera_poll_thread_del_ch(my_obj, ch_type);
748 rc = mm_camera_ch_util_stream_null_val(my_obj, ch_type, evt, NULL);
752 rc = mm_camera_ch_util_qbuf(my_obj, ch_type, evt,
756 rc = mm_camera_ch_util_get_crop(my_obj, ch_type, evt,
760 rc = mm_camera_ch_util_dispatch_buffered_frame(my_obj, ch_type);