16f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* 26f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevCopyright (c) 2012, The Linux Foundation. All rights reserved. 36f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 46f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevRedistribution and use in source and binary forms, with or without 56f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevmodification, are permitted provided that the following conditions are 66f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevmet: 76f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * Redistributions of source code must retain the above copyright 86f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev notice, this list of conditions and the following disclaimer. 96f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * Redistributions in binary form must reproduce the above 106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev copyright notice, this list of conditions and the following 116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev disclaimer in the documentation and/or other materials provided 126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev with the distribution. 136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * Neither the name of The Linux Foundation nor the names of its 146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev contributors may be used to endorse or promote products derived 156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev from this software without specific prior written permission. 166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevTHIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevBE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan MalchevIF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev*/ 296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include <pthread.h> 316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include "mm_camera_dbg.h" 326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include <errno.h> 336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include <sys/ioctl.h> 346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include <sys/types.h> 356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include <sys/stat.h> 366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include <fcntl.h> 376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include <poll.h> 386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#include "mm_qcamera_unit_test.h" 396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#define MM_QCAMERA_APP_UTEST_MAX_MAIN_LOOP 4 416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#define MM_QCAM_APP_TEST_NUM 128 426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev#define MM_QCAMERA_APP_WAIT_TIME 1000000000 446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int system_dimension_set(int cam_id); 466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int stopPreview(int cam_id); 476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int takePicture_yuv(int cam_id); 486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int takePicture_rdi(int cam_id); 496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int startRdi(int cam_id); 506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int stopRdi(int cam_id); 516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int startStats(int cam_id); 526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevextern int stopStats(int cam_id); 536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* 566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 1. open back 576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 2. open front 586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 3. start back 596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 4. start front 606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 5. stop back 616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 6. stop front 626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 7. close back 636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 8. close front 646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* 9. take picture 656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* a. start recording 666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* b. stop recording 676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* c. take picture rdi 686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev*/ 696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevstatic mm_app_tc_t mm_app_tc[MM_QCAM_APP_TEST_NUM]; 706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevstatic int num_test_cases = 0; 716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevstruct test_case_params { 726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev uint16_t launch; 736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev uint16_t preview; 746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev uint16_t recording; 756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev uint16_t snapshot; 766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev}; 776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 12436857 :*/ 796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_0(mm_camera_app_t *cam_apps) 816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 0...\n"); 896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 1026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 1036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 1046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 1056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 1096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 1106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 1116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Rdi for front \n"); 1156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 1166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 1176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 1206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 1216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 1236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 1246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 1256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 1286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 1296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Rdi for front \n"); 1316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 1326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 1336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 1366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera\n"); 1386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 1396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 1406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 1416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 1446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 1456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 1466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 1476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 1506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera \n"); 1516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 1526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 1536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 1546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 1576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 1596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 1606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 1616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 1626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 1636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 1656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 1666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 1676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 12436587 :*/ 1696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_1(mm_camera_app_t *cam_apps) 1716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 1726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 1736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 1746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 1756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 1766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 1776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 1...\n"); 1796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 1806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 1816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 1826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 1836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 1866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 1876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 1886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 1926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 1936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 1946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 1956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 1966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 1976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 1996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 2006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 2016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Rdi for front \n"); 2056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 2066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 2076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 2106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 2116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 2136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 2156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 2166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 2196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 2206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 2216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for front \n"); 2236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 2246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 2256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 2286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 2296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 2306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 2316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 2346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera\n"); 2356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 2366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 2376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 2386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera \n"); 2416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 2426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 2436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 2446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 2486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 2496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 2506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 2516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 2526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 2546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 2556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 2566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 12436578 :*/ 2586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_2(mm_camera_app_t *cam_apps) 2606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 2616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 2626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 2636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 2646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 2656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 2666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 2...\n"); 2686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 2696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 2706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 2716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 2726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 2756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 2766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 2776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 2816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 2826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 2836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 2846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 2886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 2896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 2906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 2936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Rdi for front \n"); 2946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 2956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 2966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 2976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 2986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 2996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 3006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 3026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 3046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 3056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 3086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 3096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 3106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for front \n"); 3126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 3136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 3146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 3176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 3186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 3196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 3206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 3236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera \n"); 3246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 3256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 3266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 3276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera\n"); 3306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 3316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 3326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 3336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 3376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 3386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 3396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 3406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 3416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 3436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 3446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 3456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 241395768 : 1357 * 3, This is performed three times 3476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* And for each iteration 9 is performed thrice */ 3486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_3(mm_camera_app_t *cam_apps) 3506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 3516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 3526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j,k; 3536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 3546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 3556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 3566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview and snapshot on back Camera and RDI on Front camera 3...\n"); 3586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 3596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 3606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 3616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 3626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 3656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 3666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 3676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for front \n"); 3716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 3736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() frontcamera err=%d\n", __func__, rc); 3746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 3776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 3786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (k = 0; k < MM_QCAMERA_APP_INTERATION ; k++) { 3806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera %d \n",k); 3816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 3826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 3836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 3846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 3886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 3896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 3906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 3946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 3956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 3966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 3976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 3986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 3996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (j = 0; j < MM_QCAMERA_APP_INTERATION; j++) { 4006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL take picture for back \n"); 4016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = takePicture_yuv(back_camera))) { 4026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: TakePicture() err=%d\n", __func__, rc); 4036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 4046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 4066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 4096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 4106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 4116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: stopPreview() backcamera err=%d\n", __func__, rc); 4126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 4156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera\n"); 4176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 4186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 4196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 4206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(20*1000); 4236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for Rdi \n"); 4256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 4266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: stopRdi() err=%d\n", __func__, rc); 4276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 4306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera \n"); 4316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 4326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 4336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 4346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 4376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 4396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 4406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 4416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 4426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 4436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 4456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 4466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 4476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 2413ab5768 : 1357 * 3, This is performed three times 4496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev* And for each iteration ab is performed thrice */ 4506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_4(mm_camera_app_t *cam_apps) 4526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 4536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 4546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j,k; 4556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 4566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 4576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 4586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 4...\n"); 4606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 4616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 4626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 4636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 4646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 4676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 4686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 4696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for front \n"); 4736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 4756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() frontcamera err=%d\n", __func__, rc); 4766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 4796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(20*1000); 4806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (k = 0; k < MM_QCAMERA_APP_INTERATION ; k++){ 4826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera %d \n",k); 4836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 4846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 4856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 4866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 4906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 4916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 4926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 4946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 4956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 4966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 4976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 4986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 4996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(30*1000); 5016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (j = 0; j < MM_QCAMERA_APP_INTERATION; j++) { 5036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera record for back \n"); 5046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = startRecording(back_camera))) { 5056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: StartVideorecording() err=%d\n", __func__, rc); 5066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 5076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 5106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(15*1000); 5116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera record for back \n"); 5126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = stopRecording(back_camera))) { 5136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Stopvideorecording() err=%d\n", __func__, rc); 5146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 5156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 5186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 5206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 5216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: stopPreview() backcamera err=%d\n", __func__, rc); 5226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 5256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera\n"); 5276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 5286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 5296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 5306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(20*1000); 5336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for Rdi \n"); 5356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 5366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: stopRdi() err=%d\n", __func__, rc); 5376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 5406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera \n"); 5416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 5426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 5436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 5446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 5476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 5496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 5506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 5516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 5526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 5536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 5556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 5566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 5576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 24135768 : 1357 * 3, This is performed three times*/ 5596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_5(mm_camera_app_t *cam_apps) 5616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 5626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 5636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j,k; 5646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 5656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 5666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 5676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 5...\n"); 5696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 5706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 5716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 5726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 5736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 5766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 5776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 5786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for front \n"); 5826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 5846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() frontcamera err=%d\n", __func__, rc); 5856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 5886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 5896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (k = 0; k < 4 ; k++) { 5916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera %d \n",k); 5926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 5936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 5946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 5956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 5966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 5976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 5986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 5996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 6006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 6016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 6056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 6066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 6076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 6106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 6116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 6136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 6146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: stopPreview() backcamera err=%d\n", __func__, rc); 6156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 6186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera\n"); 6206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 6216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 6226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 6236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 6266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for Rdi \n"); 6286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 6296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: stopRdi() err=%d\n", __func__, rc); 6306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 6336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera \n"); 6346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 6356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 6366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 6376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 6406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 6426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 6436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 6446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 6456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 6466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 6486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 6496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 6506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 13246857 : 2468 * 3, This is performed three times*/ 6526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_6(mm_camera_app_t *cam_apps) 6546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 6556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 6566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j,k; 6576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 6586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 6596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 6606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 6...\n"); 6626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 6636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 6646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 6656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 6666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 6696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 6706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 6716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 6756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 6776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 6786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 6816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 6826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (k = 0; k < 4 ; k++) { 6846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera %d \n",k); 6856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 6866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 6876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 6886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 6926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 6936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 6946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 6956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 6966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 6976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Rdi for front \n"); 6986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 6996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 7006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 7036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 7046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 7056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for front \n"); 7066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 7076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 7086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 7116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 7126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera\n"); 7136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 7146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 7156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 7166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 7196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 7216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 7226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 7236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 7266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera \n"); 7276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 7286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 7296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 7306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 7336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 7346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 7356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 7366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 7376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 7386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 7396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 7416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 7426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 7436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 7446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/*Multi Threaded Test Cases*/ 7456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevstatic void *front_thread(void *data) 7466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 7476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 7486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 7496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j,k,m; 7506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params params 7516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev = *((struct test_case_params *)data); 7526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (i = 0; i < params.launch; i++) { 7536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera %d\n",i); 7546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 7556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 7566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 7576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 7606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 7616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 7626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 7636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 7666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (j = 0; j < params.preview; j++) { 7676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Rdi for front %d ,%d \n",i,j); 7686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 7696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 7706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 7736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(20*1000); 7746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (k = 0; k < params.snapshot; k++) { 7756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL take picture for front %d,%d,%d \n",i,j,k); 7766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = takePicture_rdi(front_camera))) { 7776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: TakePicture() err=%d\n", __func__, rc); 7786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 7816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(30*1000); 7826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Rdi for front %d,%d\n",i,j); 7846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 7856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 7866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 7896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 7916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera %d\n",i); 7926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 7936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 7946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 7956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 7966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 7986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 7996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL front thread close %d",rc); 8006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return NULL; 8016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 8026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 8036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevstatic void *back_thread(void *data) 8046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 8056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 8066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 8076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j,k,m; 8086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params params 8096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev = *((struct test_case_params *)data); 8106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (i = 0; i < params.launch; i++) { 8116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera %d\n",i); 8126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 8136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 8146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 8156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 8166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 8186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 8196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 8206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 8216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 8236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (j = 0; j < params.preview; j++) { 8246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back %d, %d\n",i,j); 8256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 8266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 8276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 8286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 8306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(20*1000); 8316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (k = 0; k < params.snapshot; k++) { 8326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL take picture for back %d, %d, %d\n",i,j,k); 8336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = takePicture_yuv(back_camera))) { 8346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: TakePicture() err=%d\n", __func__, rc); 8356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 8366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 8386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(30*1000); 8396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 8416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (m = 0; m < params.recording; m++) { 8426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start record for back %d, %d, %d\n",i,j,m); 8436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = startRecording(back_camera))) { 8446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: StartVideorecording() err=%d\n", __func__, rc); 8456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 8466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 8486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 8496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 8506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera record for back \n"); 8516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = stopRecording(back_camera))) { 8526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Stopvideorecording() err=%d\n", __func__, rc); 8536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 8546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 8566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back %d, %d\n",i,j); 8586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 8596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 8606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 8616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 8636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 8656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera %d\n",i); 8666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 8676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 8686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 8696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 8706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 8726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 8736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL back thread close %d",rc); 8746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return NULL; 8756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 8766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 8776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case m13572468 : Open & start in 2 concurrent pthread*/ 8786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_7(mm_camera_app_t *cam_apps) 8796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 8806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 8816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 8826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev pthread_t back_thread_id, front_thread_id; 8836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params params; 8846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(¶ms, 0, sizeof(struct test_case_params)); 8856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev params.launch = 5; 8866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev params.preview = 5; 8876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 7...\n"); 8886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 8896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start back DUAL "); 8906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&back_thread_id, NULL, back_thread, ¶ms); 8916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start front DUAL "); 8926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&front_thread_id, NULL, front_thread, ¶ms); 8936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 8946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop back DUAL "); 8956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(back_thread_id, NULL); 8966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop front DUAL "); 8976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(front_thread_id, NULL); 8986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 8996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 9016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 9026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 9036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 9046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 9056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 9066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 9076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 9086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 9096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case m139572468 : Open & start in 2 concurrent pthread*/ 9116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_8(mm_camera_app_t *cam_apps) 9126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 9136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 9146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 9156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev pthread_t back_thread_id, front_thread_id; 9176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params bparams, fparams; 9186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&bparams, 0, sizeof(struct test_case_params)); 9196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&fparams, 0, sizeof(struct test_case_params)); 9206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.launch = 5; 9216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.preview = 5; 9226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.snapshot= 5; 9236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.launch = 5; 9246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.preview = 5; 9256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 8...\n"); 9266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start back DUAL "); 9286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&back_thread_id, NULL, back_thread, &bparams); 9296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start front DUAL "); 9306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&front_thread_id, NULL, front_thread, &fparams); 9316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 9326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop back DUAL "); 9336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(back_thread_id, NULL); 9346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop front DUAL "); 9356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(front_thread_id, NULL); 9366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 9376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 9396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) 9406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 9416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev else 9426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 9436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 9446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 9456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 9466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case m1395724c68 : Open & start in 2 concurrent pthread*/ 9486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_9(mm_camera_app_t *cam_apps) 9496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 9506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 9516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 9526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev pthread_t back_thread_id, front_thread_id; 9546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params bparams, fparams; 9556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&bparams, 0, sizeof(struct test_case_params)); 9566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&fparams, 0, sizeof(struct test_case_params)); 9576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.launch = 5; 9586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.preview = 5; 9596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.snapshot= 5; 9606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.launch = 5; 9616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.preview = 5; 9626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.snapshot = 5; 9636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 9...\n"); 9646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start back DUAL "); 9666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&back_thread_id, NULL, back_thread, &bparams); 9676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start front DUAL "); 9686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&front_thread_id, NULL, front_thread, &fparams); 9696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 9706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop back DUAL "); 9716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(back_thread_id, NULL); 9726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop front DUAL "); 9736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(front_thread_id, NULL); 9746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 9756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 9776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 9786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 9796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 9806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 9816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 9826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 9836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 9846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 9856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case m13ab572468 : Open & start in 2 concurrent pthread*/ 9876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_10(mm_camera_app_t *cam_apps) 9886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 9896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 9906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 9916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 9926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev pthread_t back_thread_id, front_thread_id; 9936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params bparams, fparams; 9946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&bparams, 0, sizeof(struct test_case_params)); 9956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&fparams, 0, sizeof(struct test_case_params)); 9966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.launch = 5; 9976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.preview = 5; 9986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.recording= 5; 9996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.launch = 5; 10006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.preview = 5; 10016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 10...\n"); 10026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start back DUAL "); 10046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&back_thread_id, NULL, back_thread, &bparams); 10056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start front DUAL "); 10066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&front_thread_id, NULL, front_thread, &fparams); 10076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 10086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop back DUAL "); 10096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(back_thread_id, NULL); 10106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop front DUAL "); 10116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(front_thread_id, NULL); 10126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 10136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 10146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 10156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 10166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 10176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 10186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 10196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 10206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 10216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 10226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case m13ab5724c68 : Open & start in 2 concurrent pthread*/ 10246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_11(mm_camera_app_t *cam_apps) 10256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 10266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 10276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 10286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev pthread_t back_thread_id, front_thread_id; 10306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params bparams, fparams; 10316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&bparams, 0, sizeof(struct test_case_params)); 10326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&fparams, 0, sizeof(struct test_case_params)); 10336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.launch = 5; 10346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.preview = 5; 10356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.recording= 5; 10366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.launch = 5; 10376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.preview = 5; 10386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.snapshot = 5; 10396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 11...\n"); 10406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start back DUAL "); 10426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&back_thread_id, NULL, back_thread, &bparams); 10436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start front DUAL "); 10446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&front_thread_id, NULL, front_thread, &fparams); 10456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 10466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop back DUAL "); 10476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(back_thread_id, NULL); 10486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop front DUAL "); 10496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(front_thread_id, NULL); 10506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 10516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 10536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 10546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 10556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 10566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 10576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 10586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 10596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 10606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 10616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case m1728 : Open & start in 2 concurrent pthread*/ 10636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_12(mm_camera_app_t *cam_apps) 10646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 10656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 10666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 10676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev pthread_t back_thread_id, front_thread_id; 10696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev struct test_case_params bparams, fparams; 10706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&bparams, 0, sizeof(struct test_case_params)); 10716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(&fparams, 0, sizeof(struct test_case_params)); 10726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev bparams.launch = 15; 10736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev fparams.launch = 15; 10746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera 12...\n"); 10756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start back DUAL "); 10776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&back_thread_id, NULL, back_thread, &bparams); 10786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("start front DUAL "); 10796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_create(&front_thread_id, NULL, front_thread, &fparams); 10806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 10816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop back DUAL "); 10826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(back_thread_id, NULL); 10836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("stop front DUAL "); 10846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = pthread_join(front_thread_id, NULL); 10856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 10866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 10886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 10896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 10906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 10916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 10926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 10936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 10946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 10956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 10966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 10976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* Test case 2413(ab)5768 10986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * Test the dual camera usecase. We startPreview on front camera, 10996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * but backend will allocate RDI buffers and start front camera in 11006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * RDI streaming mode. It then diverts RDI frames, converts them into YUV 420 11016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * through C2D and generate preview data in the buffers allocated here. 11026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev * Back camera will use the pixel interface as usual. 11036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev */ 11046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_13(mm_camera_app_t *cam_apps) 11066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 11076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 11086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j,k; 11096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 11106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 11116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 11126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n 13. Verifying Preview + Recording on back Camera and Preview(through RDI) on Front camera\n"); 11146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 11156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 11166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 11176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 11186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 11216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 11226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 11236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for front \n"); 11276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(front_camera))) { 11286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: front camera startPreview() err=%d\n", __func__, rc); 11296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 11326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(20*1000); 11336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (k = 0; k < MM_QCAMERA_APP_INTERATION ; k++){ 11356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera %d \n",k); 11366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 11376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 11386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 11396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 11436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 11446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 11456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 11496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 11506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 11516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(30*1000); 11546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for (j = 0; j < MM_QCAMERA_APP_INTERATION; j++) { 11566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera record for back Iteration %d \n", j); 11576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = startRecording(back_camera))) { 11586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: StartVideorecording() err=%d\n", __func__, rc); 11596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 11606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 11636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000*1000); 11646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera record for back Iteration %d\n", j); 11656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if ( MM_CAMERA_OK != (rc = stopRecording(back_camera))) { 11666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Stopvideorecording() err=%d\n", __func__, rc); 11676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 11686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 11716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for back \n"); 11736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(back_camera))) { 11746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: stopPreview() backcamera err=%d\n", __func__, rc); 11756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 11786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 11796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close back camera\n"); 11806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(back_camera) != MM_CAMERA_OK) { 11816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 11826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 11836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(20*1000); 11866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL stop camera Preview for Rdi \n"); 11886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(front_camera))) { 11896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: stopPreview() frontcamera err=%d\n", __func__, rc); 11906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev usleep(10*1000); 11936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL close front camera \n"); 11946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(front_camera) != MM_CAMERA_OK) { 11956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 11966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 11976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 11986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 11996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 12006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 12026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 12036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 12046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 12056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 12066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 12086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 12096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 12106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/*Below 6 are reference test cases just to test the open path for dual camera*/ 12126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_1243(mm_camera_app_t *cam_apps) 12136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 12146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 12156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 12166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 12176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 12186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 12196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 12216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 12226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 12236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 12246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 12256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 12286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 12296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 12306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 12346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 12356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 12366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 12376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 12416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 12426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 12436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Rdi for front \n"); 12476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 12486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 12496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 12526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 12536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for back \n"); 12556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 12576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 12586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 12616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 12626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 12636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 12656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 12666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 12676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 12686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 12696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 12716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 12726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 12736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_2134(mm_camera_app_t *cam_apps) 12756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 12766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 12776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 12786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 12796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 12806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 12816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 12836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 12846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 12856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 12866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 12876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 12906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 12916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 12926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 12936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 12946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 12956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 12966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 12976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 12986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 12996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 13036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 13046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 13056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Preview for front \n"); 13096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 13106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 13116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 13146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 13156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera Rdi for back \n"); 13176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 13196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 13206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 13236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 13246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 13256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 13276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 13286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 13296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 13306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 13316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 13336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 13346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 13356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_2143(mm_camera_app_t *cam_apps) 13366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 13376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 13386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 13396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 13406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 13416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 13426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 13446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 13456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 13466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 13476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 13486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 13516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 13526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 13536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 13576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 13586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 13596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 13606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 13646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 13656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 13666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera rdi for front \n"); 13706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 13716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 13726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 13756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 13766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera preview for back \n"); 13786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 13806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 13816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 13826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 13846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 13856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 13866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 13886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 13896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 13906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 13916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 13926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 13936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 13946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 13956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 13966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 13976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_2413(mm_camera_app_t *cam_apps) 13986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 13996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 14006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 14016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 14026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 14036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 14046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 14066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 14076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 14086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 14096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 14136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 14146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera rdi for front \n"); 14196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 14206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 14216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 14246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 14256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 14276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 14286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 14296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 14346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 14356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera preview for back \n"); 14406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 14426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 14436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 14466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 14476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 14486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 14506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 14516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 14526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 14536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 14546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 14566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 14576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 14586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_1234(mm_camera_app_t *cam_apps) 14606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 14616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 14626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 14636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 14646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 14656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 14666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 14686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open back camera \n"); 14696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 14706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 14716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 14756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 14766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL open front camera \n"); 14806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 14816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 14826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 14876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 14886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 14896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 14926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera preview for back \n"); 14936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 14946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 14956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 14966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 14976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 14986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 14996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera rdi for front \n"); 15016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 15036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 15046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 15076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 15086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 15096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 15116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 15126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 15136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 15146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 15156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 15176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 15186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 15196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_1324(mm_camera_app_t *cam_apps) 15216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 15226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 15236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 15246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 15256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 15266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 15276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 15296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start back camera \n"); 15306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 15316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 15326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 15336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 15366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 15376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 15386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start camera preview for back \n"); 15416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 15426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 15436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev //mm_camera_app_wait(); 15466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 15476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start front camera \n"); 15486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 15496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 15506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 15516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 15556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 15566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 15576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL start rdi preview \n"); 15606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 15626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 15636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 15666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev sleep(1); 15676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("DUAL end \n"); 15686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 15706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 15716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 15726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 15736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 15746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 15766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 15776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 15786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/* single camera test cases*/ 15806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_s_0(mm_camera_app_t *cam_apps) 15816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 15826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 15836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 15846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 15856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 15866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 15876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 15896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 15906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 15916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 15926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 15936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 15956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 15966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 15976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 15986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 15996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(back_camera))) { 16026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 16036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 16076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(front_camera) != MM_CAMERA_OK) { 16086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() front camera err=%d\n",__func__, rc); 16096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 16106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(front_camera) != MM_CAMERA_OK){ 16136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 16146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 16156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(front_camera))) { 16196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 16206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 16236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(front_camera))) { 16256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() backcamera err=%d\n", __func__, rc); 16266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(my_cam_app.cam_open))) { 16306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 16316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(my_cam_app.cam_open) != MM_CAMERA_OK) { 16356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 16366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 16376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 16406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 16416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 16426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 16436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 16446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 16466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 16476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 16486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_s_1(mm_camera_app_t *cam_apps) 16506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 16516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 16526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 16536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 16546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Snapshot on front and back camera...\n"); 16566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for(i = 0; i < cam_apps->num_cameras; i++) { 16576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_open(i) != MM_CAMERA_OK) { 16586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() err=%d\n",__func__, rc); 16596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 16606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(my_cam_app.cam_open) != MM_CAMERA_OK){ 16636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 16646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 16656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(my_cam_app.cam_open))) { 16696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() err=%d\n", __func__, rc); 16706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 16716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for(j = 0; j < MM_QCAMERA_APP_INTERATION; j++) { 16736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = takePicture_yuv(my_cam_app.cam_open))) { 16746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: TakePicture() err=%d\n", __func__, rc); 16756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 16766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev /*if(mm_camera_app_timedwait() == ETIMEDOUT) { 16786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Snapshot/Preview Callback not received in time or qbuf Faile\n", __func__); 16796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 16806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }*/ 16816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 16826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev result++; 16836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(my_cam_app.cam_open))) { 16856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 16866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 16876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(my_cam_app.cam_open) != MM_CAMERA_OK) { 16896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 16906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 16916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 16926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(result != MM_QCAMERA_APP_INTERATION) { 16946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("%s: Snapshot Start/Stop Fails for Camera %d in %d iteration", __func__, i,j); 16956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 16966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 16976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 16986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 16996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev result = 0; 17006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 17026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 17036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\t***Passed***\n"); 17046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 17056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\t***Failed***\n"); 17066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 17086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 17096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 17106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 17116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_s_2(mm_camera_app_t *cam_apps) 17126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 17136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 17146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 17156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 17166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 17176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Video on front and back camera...\n"); 17186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for(i = 0; i < cam_apps->num_cameras; i++) { 17196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_open(i) != MM_CAMERA_OK) { 17206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() err=%d\n",__func__, rc); 17216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 17226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 17236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(my_cam_app.cam_open) != MM_CAMERA_OK){ 17256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 17266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 17276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 17286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 17306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startPreview(my_cam_app.cam_open))) { 17316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: startPreview() err=%d\n", __func__, rc); 17326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 17336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for(j = 0; j < MM_QCAMERA_APP_INTERATION; j++) { 17356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRecording(my_cam_app.cam_open))) { 17366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: StartVideorecording() err=%d\n", __func__, rc); 17376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 17386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 17406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev /*if(mm_camera_app_timedwait() == ETIMEDOUT) { 17416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Video Callback not received in time\n", __func__); 17426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 17436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }*/ 17446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 17456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRecording(my_cam_app.cam_open))) { 17466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Stopvideorecording() err=%d\n", __func__, rc); 17476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 17486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev result++; 17506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopPreview(my_cam_app.cam_open))) { 17526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 17536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 17546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(my_cam_app.cam_open) != MM_CAMERA_OK) { 17566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 17576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 17586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 17596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(result != MM_QCAMERA_APP_INTERATION) { 17616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("%s: Video Start/Stop Fails for Camera %d in %d iteration", __func__, i,j); 17626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 17636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 17646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 17666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev result = 0; 17676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 17696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 17706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 17716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 17726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 17736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 17756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 17766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 17776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 17786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_s_3(mm_camera_app_t *cam_apps) 17796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 17806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 17816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 17826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 17836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 17846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying RDI Stream on front and back camera...\n"); 17856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(cam_apps->num_cameras == 0) { 17866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:Query Failed: Num of cameras = %d\n",__func__, cam_apps->num_cameras); 17876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 17886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 17896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for(i = 0; i < cam_apps->num_cameras; i++) { 17916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_open(i) != MM_CAMERA_OK) { 17926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() err=%d\n",__func__, rc); 17936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 17946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 17956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 17966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(my_cam_app.cam_open) != MM_CAMERA_OK){ 17976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 17986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 17996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 18006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for(j = 0; j < MM_QCAMERA_APP_INTERATION; j++) { 18026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startRdi(my_cam_app.cam_open))) { 18036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: StartVideorecording() err=%d\n", __func__, rc); 18046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 18056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev /*if(mm_camera_app_timedwait() == ETIMEDOUT) { 18086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Video Callback not received in time\n", __func__); 18096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 18106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }*/ 18116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 18126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopRdi(my_cam_app.cam_open))) { 18136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: Stopvideorecording() err=%d\n", __func__, rc); 18146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 18156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev result++; 18176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(my_cam_app.cam_open) != MM_CAMERA_OK) { 18196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 18206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 18216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 18226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(result != MM_QCAMERA_APP_INTERATION) { 18246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("%s: Video Start/Stop Fails for Camera %d in %d iteration", __func__, i,j); 18256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 18266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev break; 18276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev result = 0; 18306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 18326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 18336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 18346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 18356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 18366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18376f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 18386f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 18396f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 18406f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18416f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev/*Stats Test Case*/ 18426f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dtc_s_5(mm_camera_app_t *cam_apps) 18436f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 18446f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 18456f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i,j; 18466f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int result = 0; 18476f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int front_camera = 1; 18486f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int back_camera = 0; 18496f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18506f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\n Verifying Preview on back Camera and RDI on Front camera...\n"); 18516f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18526f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_open(back_camera) != MM_CAMERA_OK) { 18536f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_open() back camera err=%d\n",__func__, rc); 18546f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 18556f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 18566f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18576f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(system_dimension_set(back_camera) != MM_CAMERA_OK){ 18586f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:system_dimension_set() err=%d\n",__func__, rc); 18596f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 18606f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 18616f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18626f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18636f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = startStats(back_camera))) { 18646f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s: back camera startPreview() err=%d\n", __func__, rc); 18656f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 18666f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18676f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18686f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_camera_app_wait(); 18696f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18706f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( MM_CAMERA_OK != (rc = stopStats(my_cam_app.cam_open))) { 18716f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s: startPreview() err=%d\n", __func__, rc); 18726f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 18736f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18746f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18756f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if( mm_app_close(my_cam_app.cam_open) != MM_CAMERA_OK) { 18766f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG_ERROR("%s:mm_app_close() err=%d\n",__func__, rc); 18776f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = -1; 18786f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 18796f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18806f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 18816f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(rc == 0) { 18826f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nPassed\n"); 18836f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev }else{ 18846f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("\nFailed\n"); 18856f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 18866f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("%s:END, rc = %d\n", __func__, rc); 18876f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 18886f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 18896f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 18906f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_gen_dual_test_cases() 18916f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 18926f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int tc = 0; 18936f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev memset(mm_app_tc, 0, sizeof(mm_app_tc)); 18946f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_0; 18956f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_1; 18966f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_2; 18976f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_3; 18986f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_4; 18996f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_5; 19006f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_6; 19016f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_7; 19026f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_8; 19036f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_9; 19046f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_10; 19056f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_11; 19066f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_12; 19076f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(tc < MM_QCAM_APP_TEST_NUM) mm_app_tc[tc++].f = mm_app_dtc_13; 19086f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 19096f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return tc; 19106f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 19116f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 19126f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevint mm_app_dual_test_entry(mm_camera_app_t *cam_app) 19136f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev{ 19146f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int rc = MM_CAMERA_OK; 19156f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int i, tc = 0; 19166f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev int cam_id = 0; 19176f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 19186f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev tc = mm_app_gen_dual_test_cases(); 19196f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev CDBG("Running %d test cases\n",tc); 19206f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev for(i = 0; i < tc; i++) { 19216f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev mm_app_tc[i].r = mm_app_tc[i].f(cam_app); 19226f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev if(mm_app_tc[i].r != MM_CAMERA_OK) { 19236f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("%s: test case %d error = %d, abort unit testing engine!!!!\n", 19246f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev __func__, i, mm_app_tc[i].r); 19256f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev rc = mm_app_tc[i].r; 19266f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev goto end; 19276f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 19286f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev } 19296f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchevend: 19306f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev printf("nTOTAL_TSET_CASE = %d, NUM_TEST_RAN = %d, rc=%d\n", tc, i, rc); 19316f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev return rc; 19326f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev} 19336f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 19346f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 19356f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 19366f83d735d8e3b918da42e6b559fcd0efb78133e5Iliyan Malchev 1937