Home | History | Annotate | Download | only in src

Lines Matching defs:my_obj

47 int32_t mm_stream_qbuf(mm_stream_t *my_obj,
49 int32_t mm_stream_set_ext_mode(mm_stream_t * my_obj);
50 int32_t mm_stream_set_fmt(mm_stream_t * my_obj);
51 int32_t mm_stream_get_offset(mm_stream_t *my_obj);
52 int32_t mm_stream_set_cid(mm_stream_t *my_obj,stream_cid_t *in_value);
53 int32_t mm_stream_init_bufs(mm_stream_t * my_obj);
54 int32_t mm_stream_deinit_bufs(mm_stream_t * my_obj);
55 int32_t mm_stream_request_buf(mm_stream_t * my_obj);
56 int32_t mm_stream_unreg_buf(mm_stream_t * my_obj);
57 int32_t mm_stream_release(mm_stream_t *my_obj);
58 int32_t mm_stream_get_crop(mm_stream_t *my_obj,
60 int32_t mm_stream_get_cid(mm_stream_t *my_obj,
62 int32_t mm_stream_set_parm_acquire(mm_stream_t *my_obj,
64 int32_t mm_stream_get_parm_acquire(mm_stream_t *my_obj,
66 int32_t mm_stream_set_parm_config(mm_stream_t *my_obj,
68 int32_t mm_stream_get_parm_config(mm_stream_t *my_obj,
70 int32_t mm_stream_set_parm_start(mm_stream_t *my_obj,
72 int32_t mm_stream_get_parm_start(mm_stream_t *my_obj,
74 int32_t mm_stream_streamon(mm_stream_t *my_obj);
75 int32_t mm_stream_streamoff(mm_stream_t *my_obj);
76 int32_t mm_stream_read_msm_frame(mm_stream_t * my_obj,
78 int32_t mm_stream_config(mm_stream_t *my_obj,
80 uint8_t mm_stream_need_stream_on(mm_stream_t *my_obj);
81 int32_t mm_stream_reg_buf(mm_stream_t * my_obj);
82 int32_t mm_stream_buf_done(mm_stream_t * my_obj,
87 int32_t mm_stream_fsm_inited(mm_stream_t * my_obj,
91 int32_t mm_stream_fsm_acquired(mm_stream_t * my_obj,
95 int32_t mm_stream_fsm_cfg(mm_stream_t * my_obj,
99 int32_t mm_stream_fsm_buffed(mm_stream_t * my_obj,
103 int32_t mm_stream_fsm_reg(mm_stream_t * my_obj,
107 int32_t mm_stream_fsm_active_stream_on(mm_stream_t * my_obj,
111 int32_t mm_stream_fsm_active_stream_off(mm_stream_t * my_obj,
116 extern int32_t mm_camera_send_native_ctrl_cmd(mm_camera_obj_t * my_obj,
121 static int get_stream_inst_handle(mm_stream_t *my_obj)
130 rc = ioctl(my_obj->fd, MSM_CAM_V4L2_IOCTL_PRIVATE_G_CTRL, &v4l2_ioctl);
136 my_obj->inst_hdl = inst_handle;
138 my_obj->inst_hdl, rc);
142 void mm_stream_handle_rcvd_buf(mm_stream_t *my_obj,
149 if (my_obj->is_bundled) {
160 mm_camera_queue_enq(&(my_obj->ch_obj->cmd_thread.cmd_queue), node);
163 sem_post(&(my_obj->ch_obj->cmd_thread.cmd_sem));
171 if(NULL != my_obj->buf_cb[i].cb) {
186 mm_camera_queue_enq(&(my_obj->cmd_thread.cmd_queue), node);
189 sem_post(&(my_obj->cmd_thread.cmd_sem));
198 mm_stream_t *my_obj = (mm_stream_t*)user_data;
203 if (NULL == my_obj) {
207 if (MM_STREAM_STATE_ACTIVE_STREAM_ON != my_obj->state) {
211 __func__, my_obj->state);
217 pthread_mutex_lock(&my_obj->buf_lock);
218 rc = mm_stream_read_msm_frame(my_obj, &buf_info);
220 pthread_mutex_unlock(&my_obj->buf_lock);
226 my_obj->buf_status[idx].in_kernel = 0;
229 if (my_obj->is_bundled) {
231 my_obj->buf_status[idx].buf_refcnt++;
235 if(NULL != my_obj->buf_cb[i].cb) {
237 my_obj->buf_status[idx].buf_refcnt++;
241 pthread_mutex_unlock(&my_obj->buf_lock);
243 mm_stream_handle_rcvd_buf(my_obj, &buf_info);
250 mm_stream_t * my_obj = (mm_stream_t*)user_data;
256 if (my_obj == NULL) {
260 if (MM_STREAM_STATE_ACTIVE_STREAM_OFF != my_obj->state) {
267 if (my_obj->buf_num <= 0) {
272 my_obj->buf[0].buf_idx = 0;
273 my_obj->buf[0].stream_id = my_obj->my_hdl;
274 my_obj->buf[0].frame_idx = buf->frame_idx;
276 memcpy(&my_obj->buf[0].ts, &buf->ts, sizeof(buf->ts));
278 memcpy(&my_obj->buf[0].planes,&buf->planes,buf->num_planes * sizeof(struct v4l2_plane));
281 my_obj->is_local_buf = 1;
284 mm_channel_qbuf(my_obj->ch_obj, buf);
288 buf_info.frame_idx =my_obj->buf[0].frame_idx;
289 buf_info.buf = &my_obj->buf[0];
290 buf_info.stream_id = my_obj->my_hdl;
291 mm_stream_handle_rcvd_buf(my_obj, &buf_info);
298 mm_stream_t * my_obj = (mm_stream_t *)user_data;
302 if (NULL == my_obj) {
316 super_buf.camera_handle = my_obj->ch_obj->cam_obj->my_hdl;
317 super_buf.ch_id = my_obj->ch_obj->my_hdl;
320 pthread_mutex_lock(&my_obj->cb_lock);
322 if(NULL != my_obj->buf_cb[i].cb) {
323 if (my_obj->buf_cb[i].cb_count != 0) {
327 my_obj->buf_cb[i].cb(&super_buf,
328 my_obj->buf_cb[i].user_data);
333 if (my_obj->buf_cb[i].cb_count > 0) {
334 my_obj->buf_cb[i].cb_count--;
335 if (0 == my_obj->buf_cb[i].cb_count) {
336 my_obj->buf_cb[i].cb = NULL;
337 my_obj->buf_cb[i].user_data = NULL;
342 pthread_mutex_unlock(&my_obj->cb_lock);
346 int32_t mm_stream_fsm_fn(mm_stream_t *my_obj,
353 CDBG("%s : E - evt = %d, my_obj->state = %d",__func__,evt,my_obj->state);
354 switch (my_obj->state) {
359 rc = mm_stream_fsm_inited(my_obj, evt, in_val, out_val);
362 rc = mm_stream_fsm_acquired(my_obj, evt, in_val, out_val);
365 rc = mm_stream_fsm_cfg(my_obj, evt, in_val, out_val);
368 rc = mm_stream_fsm_buffed(my_obj, evt, in_val, out_val);
371 rc = mm_stream_fsm_reg(my_obj, evt, in_val, out_val);
374 rc = mm_stream_fsm_active_stream_on(my_obj, evt, in_val, out_val);
377 rc = mm_stream_fsm_active_stream_off(my_obj, evt, in_val, out_val);
380 CDBG("%s: Not a valid state (%d)", __func__, my_obj->state);
387 int32_t mm_stream_fsm_inited(mm_stream_t *my_obj,
398 if ((NULL == my_obj->ch_obj) || (NULL == my_obj->ch_obj->cam_obj)) {
405 mm_camera_util_get_dev_name(my_obj->ch_obj->cam_obj->my_hdl));
407 my_obj->fd = open(dev_name, O_RDWR | O_NONBLOCK);
408 if (my_obj->fd <= 0) {
409 CDBG_ERROR("%s: open dev returned %d\n", __func__, my_obj->fd);
414 __func__, my_obj->fd, my_obj->ext_image_mode, my_obj->sensor_idx);
415 rc = mm_stream_set_ext_mode(my_obj);
417 my_obj->state = MM_STREAM_STATE_ACQUIRED;
421 if(my_obj->fd > 0) {
422 close(my_obj->fd);
423 my_obj->fd = -1;
427 rc = get_stream_inst_handle(my_obj);
429 if(my_obj->fd > 0) {
430 close(my_obj->fd);
431 my_obj->fd = -1;
437 __func__,evt,my_obj->state);
444 int32_t mm_stream_fsm_acquired(mm_stream_t *my_obj,
458 rc = mm_stream_config(my_obj, config);
461 my_obj->state = MM_STREAM_STATE_CFG;
466 rc = mm_stream_release(my_obj);
468 my_obj->state = MM_STREAM_STATE_NOTUSED;
471 rc = mm_stream_set_parm_acquire(my_obj, in_val);
474 rc = mm_stream_get_parm_acquire(my_obj,out_val);
478 __func__, evt, my_obj->state);
485 int32_t mm_stream_fsm_cfg(mm_stream_t * my_obj,
498 rc = mm_stream_config(my_obj, config);
501 my_obj->state = MM_STREAM_STATE_CFG;
506 rc = mm_stream_release(my_obj);
507 my_obj->state = MM_STREAM_STATE_NOTUSED;
510 rc = mm_stream_set_parm_config(my_obj, in_val);
513 rc = mm_stream_get_parm_config(my_obj, out_val);
516 rc = mm_stream_init_bufs(my_obj);
519 my_obj->state = MM_STREAM_STATE_BUFFED;
524 __func__, evt, my_obj->state);
531 int32_t mm_stream_fsm_buffed(mm_stream_t * my_obj,
540 rc = mm_stream_deinit_bufs(my_obj);
543 my_obj->state = MM_STREAM_STATE_CFG;
547 rc = mm_stream_reg_buf(my_obj);
550 my_obj->state = MM_STREAM_STATE_REG;
554 rc = mm_stream_set_parm_config(my_obj, in_val);
557 rc = mm_stream_get_parm_config(my_obj, out_val);
561 __func__, evt, my_obj->state);
568 int32_t mm_stream_fsm_reg(mm_stream_t * my_obj,
578 rc = mm_stream_unreg_buf(my_obj);
581 my_obj->state = MM_STREAM_STATE_BUFFED;
586 if (NULL != my_obj->buf_cb) {
587 mm_camera_cmd_thread_launch(&my_obj->cmd_thread,
589 (void *)my_obj);
593 if(mm_stream_need_stream_on(my_obj)) {
594 rc = mm_stream_streamon(my_obj);
597 if (NULL != my_obj->buf_cb) {
598 mm_camera_cmd_thread_release(&my_obj->cmd_thread);
603 my_obj->state = MM_STREAM_STATE_ACTIVE_STREAM_ON;
610 cb.user_data = (void*)my_obj;
612 rc = mm_channel_reg_stream_cb(my_obj->ch_obj, &cb,
614 my_obj->sensor_idx);
615 my_obj->state = MM_STREAM_STATE_ACTIVE_STREAM_OFF;
620 rc = mm_stream_set_parm_config(my_obj, in_val);
623 rc = mm_stream_get_parm_config(my_obj, out_val);
627 __func__, evt, my_obj->state);
634 int32_t mm_stream_fsm_active_stream_on(mm_stream_t * my_obj,
643 rc = mm_stream_buf_done(my_obj, (mm_camera_buf_def_t *)in_val);
647 rc = mm_stream_streamoff(my_obj);
648 if (NULL != my_obj->buf_cb) {
649 mm_camera_cmd_thread_release(&my_obj->cmd_thread);
652 my_obj->state = MM_STREAM_STATE_REG;
656 rc = mm_stream_set_parm_start(my_obj, in_val);
659 rc = mm_stream_get_parm_start(my_obj, out_val);
663 __func__, evt, my_obj->state);
670 int32_t mm_stream_fsm_active_stream_off(mm_stream_t * my_obj,
679 rc = mm_stream_buf_done(my_obj, (mm_camera_buf_def_t *)in_val);
683 if (NULL != my_obj->buf_cb) {
684 rc = mm_camera_cmd_thread_release(&my_obj->cmd_thread);
687 my_obj->state = MM_STREAM_STATE_REG;
691 rc = mm_stream_set_parm_config(my_obj, in_val);
694 rc = mm_stream_get_parm_config(my_obj, out_val);
698 __func__, evt, my_obj->state);
705 int32_t mm_stream_config(mm_stream_t *my_obj,
709 memcpy(&my_obj->fmt, &config->fmt, sizeof(mm_camera_image_fmt_t));
710 my_obj->hal_requested_num_bufs = config->num_of_bufs;
711 my_obj->need_stream_on = config->need_stream_on;
713 rc = mm_stream_get_offset(my_obj);
718 if(mm_stream_need_stream_on(my_obj)) {
720 rc = mm_stream_set_fmt(my_obj);
725 int32_t mm_stream_release(mm_stream_t *my_obj)
730 if(my_obj->fd > 0)
732 close(my_obj->fd);
736 pthread_mutex_destroy(&my_obj->buf_lock);
737 pthread_mutex_destroy(&my_obj->cb_lock);
740 memset(my_obj, 0, sizeof(mm_stream_t));
741 my_obj->fd = -1;
746 uint8_t mm_stream_need_stream_on(mm_stream_t *my_obj)
748 return my_obj->need_stream_on;
751 int32_t mm_stream_streamon(mm_stream_t *my_obj)
758 rc = mm_camera_poll_thread_add_poll_fd(&my_obj->ch_obj->poll_thread[0],
759 my_obj->my_hdl,
760 my_obj->fd,
762 (void*)my_obj);
766 rc = ioctl(my_obj->fd, VIDIOC_STREAMON, &buf_type);
771 mm_camera_poll_thread_del_poll_fd(&my_obj->ch_obj->poll_thread[0], my_obj->my_hdl);
777 int32_t mm_stream_streamoff(mm_stream_t *my_obj)
783 mm_camera_poll_thread_del_poll_fd(&my_obj->ch_obj->poll_thread[0], my_obj->my_hdl);
786 rc = ioctl(my_obj->fd, VIDIOC_STREAMOFF, &buf_type);
825 int32_t mm_stream_read_msm_frame(mm_stream_t * my_obj,
834 mm_stream_util_get_v4l2_fmt(my_obj->fmt.fmt,
843 rc = ioctl(my_obj->fd, VIDIOC_DQBUF, &vb);
849 buf_info->buf = &my_obj->buf[idx];
851 buf_info->stream_id = my_obj->my_hdl;
852 buf_info->need_pp = my_obj->is_pp_needed;
854 buf_info->buf->stream_id = my_obj->my_hdl;
876 int32_t mm_stream_get_crop(mm_stream_t *my_obj,
884 rc = ioctl(my_obj->fd, VIDIOC_G_CROP, &crop_info);
895 int32_t mm_stream_set_parm_acquire(mm_stream_t *my_obj,
906 mm_stream_set_cid(my_obj,value);
915 int32_t mm_stream_get_parm_acquire(mm_stream_t *my_obj,
926 rc = mm_stream_get_cid(my_obj,value);
931 rc = mm_stream_get_crop(my_obj, crop);
941 int32_t mm_stream_set_parm_config(mm_stream_t *my_obj,
957 int32_t mm_stream_get_parm_config(mm_stream_t *my_obj,
970 memcpy(payload->value,(void *)&my_obj->frame_offset,sizeof(mm_camera_frame_len_offset));
974 rc = mm_stream_get_crop(my_obj, crop);
984 int32_t mm_stream_set_parm_start(mm_stream_t *my_obj,
1000 int32_t mm_stream_get_parm_start(mm_stream_t *my_obj,
1013 memcpy(payload->value,(void *)&my_obj->frame_offset,sizeof(mm_camera_frame_len_offset));
1017 rc = mm_stream_get_crop(my_obj, crop);
1026 int32_t mm_stream_set_ext_mode(mm_stream_t * my_obj)
1032 s_parm.parm.capture.extendedmode = my_obj->ext_image_mode;
1034 rc = ioctl(my_obj->fd, VIDIOC_S_PARM, &s_parm);
1036 __func__, my_obj->fd, rc,
1041 int32_t mm_stream_qbuf(mm_stream_t *my_obj, mm_camera_buf_def_t *buf)
1057 rc = ioctl(my_obj->fd, VIDIOC_QBUF, &buffer);
1063 int32_t mm_stream_request_buf(mm_stream_t * my_obj)
1068 uint8_t buf_num = my_obj->buf_num;
1075 pthread_mutex_lock(&my_obj->buf_lock);
1077 if (my_obj->buf_status[i].initial_reg_flag){
1082 pthread_mutex_unlock(&my_obj->buf_lock);
1092 rc = ioctl(my_obj->fd, VIDIOC_REQBUFS, &bufreq);
1095 __func__, my_obj->fd, rc);
1171 int32_t mm_stream_init_bufs(mm_stream_t * my_obj)
1180 if (NULL != my_obj->buf) {
1181 mm_stream_deinit_bufs(my_obj);
1184 my_obj->buf_num = my_obj->hal_requested_num_bufs;
1186 if (my_obj->is_pp_needed) {
1187 my_obj->buf_num++;
1190 my_obj->buf =
1191 (mm_camera_buf_def_t*)malloc(sizeof(mm_camera_buf_def_t) * my_obj->buf_num);
1192 my_obj->buf_status =
1193 (mm_stream_buf_status_t*)malloc(sizeof(mm_stream_buf_status_t) * my_obj->buf_num);
1194 reg_flags = (uint8_t *)malloc(sizeof(uint8_t) * my_obj->buf_num);
1196 if (NULL == my_obj->buf ||
1197 NULL == my_obj->buf_status ||
1204 memset(my_obj->buf, 0, sizeof(mm_camera_buf_def_t) * my_obj->buf_num);
1205 memset(my_obj->buf_status, 0, sizeof(mm_stream_buf_status_t) * my_obj->buf_num);
1206 memset(reg_flags, 0, sizeof(uint8_t) * my_obj->buf_num);
1208 mem_vtbl = my_obj->ch_obj->cam_obj->mem_vtbl;
1209 rc = mem_vtbl->get_buf(my_obj->ch_obj->cam_obj->my_hdl,
1210 my_obj->ch_obj->my_hdl,
1211 my_obj->my_hdl,
1213 &my_obj->frame_offset,
1214 my_obj->buf_num,
1216 my_obj->buf);
1223 for (i=0; i < my_obj->buf_num; i++) {
1224 my_obj->buf_status[i].initial_reg_flag = reg_flags[i];
1225 my_obj->buf[i].stream_id = my_obj->my_hdl;
1231 for (i=0; i < my_obj->buf_num; i++) {
1232 if (my_obj->buf[i].fd > 0) {
1233 if(0 >= (rc = mm_camera_map_buf(my_obj->ch_obj->cam_obj,
1234 my_obj->ext_image_mode,
1236 my_obj->buf[i].fd,
1237 my_obj->buf[i].frame_len)))
1252 if (my_obj->buf[j].fd > 0) {
1253 mm_camera_unmap_buf(my_obj->ch_obj->cam_obj,
1254 my_obj->ext_image_mode,
1260 mem_vtbl->put_buf(my_obj->ch_obj->cam_obj->my_hdl,
1261 my_obj->ch_obj->my_hdl,
1262 my_obj->my_hdl,
1264 my_obj->buf_num,
1265 my_obj->buf);
1268 if (NULL != my_obj->buf) {
1269 free(my_obj->buf);
1270 my_obj->buf = NULL;
1272 if (NULL != my_obj->buf_status) {
1273 free(my_obj->buf_status);
1274 my_obj->buf_status = NULL;
1285 int32_t mm_stream_deinit_bufs(mm_stream_t * my_obj)
1290 if (NULL == my_obj->buf) {
1296 for (i=0; i<my_obj->buf_num; i++) {
1297 if (my_obj->buf[i].fd > 0) {
1298 rc = mm_camera_unmap_buf(my_obj->ch_obj->cam_obj,
1299 my_obj->ext_image_mode,
1309 mem_vtbl = my_obj->ch_obj->cam_obj->mem_vtbl;
1311 rc = mem_vtbl->put_buf(my_obj->ch_obj->cam_obj->my_hdl,
1312 my_obj->ch_obj->my_hdl,
1313 my_obj->my_hdl,
1315 my_obj->buf_num,
1316 my_obj->buf);
1322 free(my_obj->buf);
1323 my_obj->buf = NULL;
1324 free(my_obj->buf_status);
1325 my_obj->buf_status = NULL;
1330 int32_t mm_stream_reg_buf(mm_stream_t * my_obj)
1335 rc = mm_stream_request_buf(my_obj);
1340 pthread_mutex_lock(&my_obj->buf_lock);
1341 for(i = 0; i < my_obj->buf_num; i++){
1342 my_obj->buf[i].buf_idx = i;
1345 if (my_obj->buf_status[i].initial_reg_flag) {
1346 rc = mm_stream_qbuf(my_obj, &my_obj->buf[i]);
1353 my_obj->buf_status[i].buf_refcnt = 0;
1354 my_obj->buf_status[i].in_kernel = 1;
1356 pthread_mutex_unlock(&my_obj->buf_lock);
1360 int32_t mm_stream_unreg_buf(mm_stream_t * my_obj)
1365 pthread_mutex_lock(&my_obj->buf_lock);
1366 if (NULL != my_obj->buf_status) {
1367 for(i = 0; i < my_obj->buf_num; i++){
1368 if (my_obj->buf_status[i].initial_reg_flag){
1374 pthread_mutex_unlock(&my_obj->buf_lock);
1382 rc = ioctl(my_obj->fd, VIDIOC_REQBUFS, &bufreq);
1385 __func__, my_obj->fd, rc);
1390 pthread_mutex_lock(&my_obj->buf_lock);
1391 if (NULL != my_obj->buf_status) {
1392 for(i = 0; i < my_obj->buf_num; i++){
1393 my_obj->buf_status[i].buf_refcnt = 0;
1394 my_obj->buf_status[i].in_kernel = 0;
1397 pthread_mutex_unlock(&my_obj->buf_lock);
1402 int32_t mm_stream_set_fmt(mm_stream_t *my_obj)
1407 if(my_obj->fmt.width == 0 || my_obj->fmt.height == 0) {
1409 __func__, my_obj->fmt.width, my_obj->fmt.height, my_obj->fmt.fmt);
1415 fmt.fmt.pix_mp.width = my_obj->fmt.width;
1416 fmt.fmt.pix_mp.height= my_obj->fmt.height;
1419 mm_stream_util_get_v4l2_fmt(my_obj->fmt.fmt,
1421 rc = ioctl(my_obj->fd, VIDIOC_S_FMT, &fmt);
1423 __func__, my_obj->fd, my_obj->ext_image_mode, rc);
1428 int32_t mm_stream_get_offset(mm_stream_t *my_obj)
1433 memset(&my_obj->frame_offset,0,sizeof(mm_camera_frame_len_offset));
1435 frame_offset.format = my_obj->fmt.fmt;
1436 frame_offset.image_mode = my_obj->ext_image_mode;
1437 frame_offset.rotation = my_obj->fmt.rotation;
1438 frame_offset.width = my_obj->fmt.width;
1439 frame_offset.height = my_obj->fmt.height;
1441 switch (my_obj->ext_image_mode) {
1460 rc = mm_camera_send_native_ctrl_cmd(my_obj->ch_obj->cam_obj,
1468 my_obj->fmt.width = frame_offset.width;
1469 my_obj->fmt.height = frame_offset.height;
1470 memcpy(&my_obj->frame_offset,&frame_offset.frame_offset,sizeof(mm_camera_frame_len_offset));
1472 __func__,my_obj->frame_offset.frame_len,my_obj->fmt.width,my_obj->fmt.height,rc);
1477 int32_t mm_stream_set_cid(mm_stream_t *my_obj,stream_cid_t *value)
1485 cam_cid_info.cid_entries[0].inst_handle = my_obj->inst_hdl;
1487 rc = mm_camera_send_native_ctrl_cmd(my_obj->ch_obj->cam_obj,
1498 int32_t mm_stream_get_cid(mm_stream_t *my_obj,stream_cid_t *out_value)
1505 int32_t mm_stream_buf_done(mm_stream_t * my_obj,
1510 if (my_obj->is_local_buf) {
1516 pthread_mutex_lock(&my_obj->buf_lock);
1518 if(my_obj->buf_status[frame->buf_idx].buf_refcnt == 0) {
1521 my_obj->buf_status[frame->buf_idx].buf_refcnt,
1522 my_obj->ext_image_mode);
1525 my_obj->buf_status[frame->buf_idx].buf_refcnt--;
1526 if (0 == my_obj->buf_status[frame->buf_idx].buf_refcnt) {
1527 CDBG("<DEBUG> : Buf done for buffer:%d:%d", my_obj->ext_image_mode, frame->buf_idx);
1528 rc = mm_stream_qbuf(my_obj, frame);
1533 my_obj->buf_status[frame->buf_idx].in_kernel = 1;
1537 my_obj->buf_status[frame->buf_idx].buf_refcnt);
1539 my_obj, frame->buf_idx, my_obj->ext_image_mode);
1542 pthread_mutex_unlock(&my_obj->buf_lock);
1546 int32_t mm_stream_reg_buf_cb(mm_stream_t *my_obj,
1552 pthread_mutex_lock(&my_obj->cb_lock);
1554 if(NULL == my_obj->buf_cb[i].cb) {
1555 memcpy(&my_obj->buf_cb[i], val, sizeof(mm_stream_data_cb_t));
1560 pthread_mutex_unlock(&my_obj->cb_lock);