2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 #include <Elementary.h>
25 #include <Elementary.h>
30 #include <mm_camcorder.h>
33 Evas_Object* mEvasWindow;
34 Ecore_X_Window mXwindow;
35 Ecore_X_Window preview_win;
37 bool record_state_cb(recorder_state_e previous , recorder_state_e current , int by_asm, void *user_data){
38 char * state_table[] = {
39 "MEDIARECORDER_STATE_NONE", /**< recorder is not created yet */
40 "MEDIARECORDER_STATE_CREATED", /**< recorder is created, but not initialized yet */
41 "MEDIARECORDER_STATE_READY", /**< prepare to record if video recorder is playing preview */
42 "MEDIARECORDER_STATE_RECORDING", /**< While recording */
43 "MEDIARECORDER_STATE_PAUSED", /**< Pause recording */
44 "MEDIARECORDER_STATE_NUM" /**< Number of recorder states */
46 printf("%s\n", state_table[current]);
50 int recording_size_limit_test(recorder_h recorder){
55 printf("-------------limit size test----------------------\n");
56 printf("-negative test\n");
57 ret = recorder_attr_set_size_limit(recorder, -1);
65 ret = recorder_attr_set_size_limit(recorder, 0);
72 ret = recorder_attr_get_size_limit(recorder,&int_value);
80 printf("-1212 set test\n");
81 ret = recorder_attr_set_size_limit(recorder, 1212);
88 ret = recorder_attr_get_size_limit(recorder,&int_value);
89 if( int_value != 1212){
98 int recording_time_limit_test(recorder_h recorder){
103 printf("-------------limit time test----------------------\n");
105 ret = recorder_attr_set_time_limit(recorder, -1);
113 ret = recorder_attr_set_time_limit(recorder, 0);
120 ret = recorder_attr_get_time_limit(recorder,&int_value);
128 printf("-1212 set test\n");
129 ret = recorder_attr_set_time_limit(recorder, 1212);
136 ret = recorder_attr_get_time_limit(recorder,&int_value);
137 if( int_value != 1212){
147 int fileformat_test_fail = 0;
148 bool _file_format_test_cb(recorder_file_format_e format, void *user_data){
150 recorder_h recorder = (recorder_h)user_data;
151 recorder_file_format_e get_format;
152 ret = recorder_set_file_format(recorder, format);
153 recorder_get_file_format(recorder, &get_format);
155 if( get_format != format){
157 fileformat_test_fail++;
164 int fileformat_test(recorder_h recorder){
165 fileformat_test_fail = 0;
166 printf("----------------file format test ------------------\n");
167 recorder_foreach_supported_file_format(recorder, _file_format_test_cb, recorder);
168 return -fileformat_test_fail;
171 int videoencoder_test_fail = 0;
172 bool _video_encoder_test_cb(recorder_video_codec_e codec, void *user_data){
174 recorder_h recorder = (recorder_h)user_data;
175 recorder_video_codec_e get_codec;
176 ret = recorder_set_video_encoder(recorder, codec);
177 recorder_get_video_encoder(recorder, &get_codec);
180 if( get_codec != codec){
182 videoencoder_test_fail++;
189 int video_encoder_test(recorder_h recorder){
190 videoencoder_test_fail = 0;
191 printf("----------------video encoder test ------------------\n");
192 recorder_foreach_supported_video_encoder(recorder, _video_encoder_test_cb, recorder);
193 return -videoencoder_test_fail;
196 int audioencoder_test_fail = 0;
197 bool _audio_encoder_test_cb(recorder_audio_codec_e codec, void *user_data){
199 recorder_h recorder = (recorder_h)user_data;
200 recorder_audio_codec_e get_codec;
201 ret = recorder_set_audio_encoder(recorder, codec);
202 recorder_get_audio_encoder(recorder, &get_codec);
205 if( get_codec != codec){
207 audioencoder_test_fail++;
214 int audio_encoder_test(recorder_h recorder){
215 audioencoder_test_fail = 0;
216 printf("----------------audio encoder test ------------------\n");
217 recorder_foreach_supported_audio_encoder(recorder, _audio_encoder_test_cb, recorder);
218 return -audioencoder_test_fail;
221 int recording_audio_device_test(recorder_h recorder)
225 recorder_audio_device_e int_value;
227 printf("-------------audio device test----------------------\n");
228 printf("-negative test\n");
229 ret = recorder_attr_set_audio_device (recorder, -1);
236 printf("-RECORDER_AUDIO_DEVICE_MIC test\n");
237 ret = recorder_attr_set_audio_device(recorder, RECORDER_AUDIO_DEVICE_MIC);
244 ret = recorder_attr_get_audio_device(recorder,&int_value);
245 if( int_value != RECORDER_AUDIO_DEVICE_MIC){
252 printf("-RECORDER_AUDIO_DEVICE_MODEM set test\n");
253 ret = recorder_attr_set_audio_device(recorder, RECORDER_AUDIO_DEVICE_MODEM );
260 ret = recorder_attr_get_audio_device(recorder,&int_value);
261 if( int_value != RECORDER_AUDIO_DEVICE_MODEM){
270 int recording_samplerate_test(recorder_h recorder){
275 printf("-------------samplerate test----------------------\n");
277 ret = recorder_attr_set_audio_samplerate(recorder, -1);
284 printf("-44100 test\n");
285 ret = recorder_attr_set_audio_samplerate(recorder, 44100);
292 ret = recorder_attr_get_audio_samplerate(recorder,&int_value);
293 if( int_value != 44100){
300 printf("-1212 set test\n");
301 ret = recorder_attr_set_audio_samplerate(recorder, 1212);
308 ret = recorder_attr_get_audio_samplerate(recorder,&int_value);
309 if( int_value != 1212){
320 int recording_audio_encoder_bitrate_test(recorder_h recorder){
325 printf("-------------audio encoder bitrate test----------------------\n");
326 printf("-negative test\n");
327 ret = recorder_attr_set_audio_encoder_bitrate (recorder, -2);
334 printf("-12200 test\n");
335 ret = recorder_attr_set_audio_encoder_bitrate (recorder, 12200);
342 ret = recorder_attr_get_audio_encoder_bitrate (recorder,&int_value);
343 if( int_value != 12200){
350 printf("-288000 set test\n");
351 ret = recorder_attr_set_audio_encoder_bitrate (recorder, 288000 );
358 ret = recorder_attr_get_audio_encoder_bitrate (recorder,&int_value);
359 if( int_value != 288000 ){
365 printf("-1212 set test\n");
366 ret = recorder_attr_set_audio_encoder_bitrate (recorder, 1212 );
373 ret = recorder_attr_get_audio_encoder_bitrate (recorder,&int_value);
374 if( int_value != 1212 ){
383 int recording_video_encoder_bitrate_test(recorder_h recorder){
388 printf("-------------video encoder bitrate test----------------------\n");
389 printf("-negative test\n");
390 ret = recorder_attr_set_video_encoder_bitrate (recorder, -2);
397 printf("-12200 test\n");
398 ret = recorder_attr_set_video_encoder_bitrate (recorder, 12200);
405 ret = recorder_attr_get_video_encoder_bitrate (recorder,&int_value);
406 if( int_value != 12200){
413 printf("-288000 set test\n");
414 ret = recorder_attr_set_video_encoder_bitrate (recorder, 288000 );
421 ret = recorder_attr_get_video_encoder_bitrate (recorder,&int_value);
422 if( int_value != 288000 ){
428 printf("-1212 set test\n");
429 ret = recorder_attr_set_video_encoder_bitrate (recorder, 1212 );
436 ret = recorder_attr_get_video_encoder_bitrate (recorder,&int_value);
437 if( int_value != 1212 ){
452 recorder_state_e state;
455 void _state_change_test_cb(recorder_state_e previous, recorder_state_e current, bool by_asm, void *user_data){
456 printf(" state change %d => %d\n", previous , current);
457 state_change_data * data = (state_change_data*)user_data;
458 if( current == RECORDER_STATE_READY )
459 data->isprepare = true;
460 if( current == RECORDER_STATE_RECORDING )
461 data->isrecording = true;
462 if( current == RECORDER_STATE_PAUSED )
463 data->ispaused = true;
465 data->state = current;
467 //printf("state %d\n",current);
470 int recorder_state_change_test(){
471 char *state_str[] = { "RECORDER_STATE_NONE", /**< recorder is not created yet */
472 "RECORDER_STATE_CREATED", /**< recorder is created, but not initialized yet */
473 "RECORDER_STATE_READY", /**< prepare to record if video recorder is playing preview */
474 "RECORDER_STATE_RECORDING", /**< While recording */
475 "RECORDER_STATE_PAUSED", /**< Pause recording */
478 state_change_data data;
480 recorder_state_e state;
481 recorder_create_audiorecorder(&recorder);
482 data.iscalled = false;
483 data.isprepare = false;
484 data.isrecording = false;
485 data.ispaused = false;
487 printf("-------------------------recorder state change test -------------------\n");
488 recorder_get_state(recorder, &state);
489 printf("state = %s\n", state_str[state]);
490 recorder_set_state_changed_cb(recorder, _state_change_test_cb, &data);
491 recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_AMR);
492 ret = recorder_prepare(recorder);
493 printf("recorder_prepare ret = %x\n", ret);
494 recorder_get_state(recorder, &state);
495 printf("state = %s\n", state_str[state]);
496 ret = recorder_start(recorder);
497 printf("recorder_start ret = %x\n", ret);
498 recorder_get_state(recorder, &state);
499 printf("state = %s\n", state_str[state]);
501 ret = recorder_pause(recorder);
502 printf("recorder_pause ret = %x\n", ret);
503 recorder_get_state(recorder, &state);
504 printf("state = %s\n", state_str[state]);
506 ret =recorder_commit(recorder);
509 if( data.isprepare && data.isrecording && data.ispaused && data.state == RECORDER_STATE_READY ){
513 printf("FAIL data.isprepare %d, data.isrecording %d, data.ispaused %d, data.state %d \n", data.isprepare , data.isrecording , data.ispaused , data.state );
517 ret = recorder_unprepare(recorder);
518 printf("recorder_unprepare ret = %x\n", ret);
519 recorder_get_state(recorder, &state);
520 printf("state = %s\n", state_str[state]);
522 ret = recorder_destroy(recorder);
523 printf("recorder_destroy ret = %x\n", ret);
534 void _recording_status_test_cb(int elapsed_time, int file_size, void *user_data){
535 recording_result *result = (recording_result*)user_data;
536 result->elapsed_time = elapsed_time;
537 result->file_size = file_size;
541 int recorder_recoding_status_cb_test(){
543 recording_result result;
546 printf("--------------recording status cb test-------------------\n");
547 recorder_create_audiorecorder(&recorder);
548 recorder_set_recording_status_cb(recorder,_recording_status_test_cb, &result);
549 recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_AMR);
550 recorder_prepare(recorder);
551 ret = recorder_start(recorder);
552 result.elapsed_time = 0;
553 result.file_size = 0;
555 ret = recorder_cancel(recorder);
556 ret =recorder_unprepare(recorder);
557 ret =recorder_destroy(recorder);
558 if( result.elapsed_time > 0 && result.file_size > 0){
568 int recorder_attribute_test(){
572 ret = recorder_create_audiorecorder(&recorder);
573 fail = recording_size_limit_test(recorder);
574 fail +=recording_time_limit_test(recorder);
575 fail +=fileformat_test(recorder);
576 fail +=video_encoder_test(recorder);
577 fail +=audio_encoder_test(recorder);
578 fail +=recording_audio_device_test(recorder);
579 fail +=recording_samplerate_test(recorder);
580 fail +=recording_audio_encoder_bitrate_test(recorder);
581 fail +=recording_video_encoder_bitrate_test(recorder);
587 void _recording_status_cb2(int elapsed_time, int file_size, void *user_data){
588 //printf("elapsed time :%d , file_size :%d\n", elapsed_time , file_size);
591 void _recording_limit_reached_cb(recorder_recording_limit_type_e type, void *user_data){
592 printf("limited!! %d\n", type);
593 int *ischeck = (int*)user_data;
598 int recorder_limit_cb_test(){
602 recorder_create_audiorecorder(&recorder);
603 printf("------------------------limit cb test -------------------------\n");
604 //recorder_set_state_changed_cb(recorder, record_state_cb, NULL);
605 recorder_set_recording_status_cb(recorder, _recording_status_cb2, NULL);
606 recorder_set_recording_limit_reached_cb(recorder, _recording_limit_reached_cb, &ischeck);
607 recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_AMR);
608 recorder_prepare(recorder);
611 printf("-time limit test\n");
612 recorder_attr_set_time_limit(recorder, 2);
613 recorder_start(recorder);
615 recorder_cancel(recorder);
624 printf("-time unlimit test\n");
625 //recorder_unprepare(recorder);
626 recorder_attr_set_time_limit(recorder, 0);
627 //recorder_prepare(recorder);
629 recorder_set_recording_limit_reached_cb(recorder, _recording_limit_reached_cb, &ischeck);
630 recorder_start(recorder);
632 recorder_cancel(recorder);
641 printf("-size limit test\n");
643 recorder_attr_set_size_limit(recorder, 2);
644 recorder_start(recorder);
646 recorder_cancel(recorder);
655 printf("-size unlimit test\n");
657 recorder_attr_set_size_limit(recorder, 0);
658 recorder_start(recorder);
660 recorder_cancel(recorder);
670 recorder_unprepare(recorder);
671 recorder_destroy(recorder);
677 int video_recorder_test(){
682 printf("-----------------video recorder test--------------------\n");
683 camera_create(CAMERA_DEVICE_CAMERA0 , &camera);
684 recorder_create_videorecorder(camera, &recorder);
685 camera_set_display(camera,CAMERA_DISPLAY_TYPE_X11,GET_DISPLAY(preview_win));
686 camera_set_x11_display_rotation(camera, CAMERA_DISPLAY_ROTATION_270);
687 //camera_set_preview_resolution(camera, 320, 240);
688 camera_attr_set_preview_fps(camera, CAMERA_ATTR_FPS_AUTO);
689 ret = recorder_set_file_format(recorder,RECORDER_FILE_FORMAT_MP4);
690 printf("ret = %x\n", ret);
691 ret = recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_H263);
692 printf("ret = %x\n", ret);
693 ret = recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
694 printf("ret = %x\n", ret);
695 ret = recorder_set_filename(recorder, "/mnt/nfs/video_recorder_test.mp4");
696 printf("ret = %x\n", ret);
699 ret= recorder_prepare(recorder);
700 printf("ret = %x\n", ret);
701 ret = recorder_start(recorder);
702 printf("ret = %x\n", ret);
704 ret = recorder_pause(recorder);
705 printf("ret = %x\n", ret);
706 ret = recorder_commit(recorder);
707 printf("ret = %x\n", ret);
708 ret =recorder_unprepare(recorder);
709 printf("ret = %x\n", ret);
710 ret= recorder_destroy(recorder);
711 printf("ret = %x\n", ret);
717 info.videodev_type= MM_VIDEO_DEVICE_NONE;
718 MMHandleType camcorder;
720 ret = mm_camcorder_create(&camcorder, &info);
721 printf("mm_camcorder_create %x\n", ret);
722 ret = mm_camcorder_set_attributes(camcorder, NULL,
723 MMCAM_MODE , MM_CAMCORDER_MODE_AUDIO,
725 printf("mm_camcorder_set_attributes %x\n", ret);
727 ret = mm_camcorder_set_attributes(camcorder ,NULL, MMCAM_AUDIO_ENCODER ,MM_AUDIO_CODEC_AAC , NULL);
728 printf("mm_camcorder_set_attributes %x\n", ret);
730 ret = mm_camcorder_set_attributes(camcorder ,NULL, MMCAM_FILE_FORMAT ,MM_FILE_FORMAT_MP4 , NULL);
731 printf("mm_camcorder_set_attributes %x\n", ret);
733 ret = mm_camcorder_realize(camcorder);
734 printf("mm_camcorder_realize %x\n", ret);
736 ret = mm_camcorder_start(camcorder);
737 printf("mm_camcorder_start %x\n", ret);
739 ret = mm_camcorder_record(camcorder);
740 printf("mm_camcorder_record %x\n", ret);
744 ret = mm_camcorder_pause(camcorder);
745 printf("mm_camcorder_pause %x\n", ret);
747 ret = mm_camcorder_cancel(camcorder);
748 printf("mm_camcorder_cancel %x\n", ret);
750 ret = mm_camcorder_stop(camcorder);
751 printf("mm_camcorder_stop %x\n", ret);
753 ret = mm_camcorder_unrealize(camcorder);
754 printf("mm_camcorder_unrealize %x\n", ret);
756 ret = mm_camcorder_destroy(camcorder);
757 printf("mm_camcorder_destroy %x\n", ret);
767 int recorder_encoder_test(){
772 printf("3GP - AMR\n");
773 ret=recorder_create_audiorecorder(&recorder);
774 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
775 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AMR);
776 ret+=recorder_set_filename(recorder , "/mnt/nfs/audiotest_amr.3gp");
777 ret+=recorder_prepare(recorder);
778 ret+=recorder_start(recorder);
780 ret+=recorder_commit(recorder);
781 ret += recorder_unprepare(recorder);
782 ret+=recorder_destroy(recorder);
784 printf("3GP - AAC\n");
785 ret=recorder_create_audiorecorder(&recorder);
786 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
787 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
788 ret+=recorder_set_filename(recorder , "/mnt/nfs/audiotest_aac.3gp");
789 ret+=recorder_prepare(recorder);
790 ret+=recorder_start(recorder);
792 ret+=recorder_commit(recorder);
793 ret += recorder_unprepare(recorder);
794 ret+=recorder_destroy(recorder);
796 printf("AMR - AMR\n");
797 ret=recorder_create_audiorecorder(&recorder);
798 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_AMR);
799 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AMR);
800 ret+=recorder_set_filename(recorder , "/mnt/nfs/audiotest.amr");
801 ret+=recorder_prepare(recorder);
802 ret+=recorder_start(recorder);
804 ret+=recorder_commit(recorder);
805 ret += recorder_unprepare(recorder);
806 ret+=recorder_destroy(recorder);
808 printf("MP4 - AAC\n");
809 ret=recorder_create_audiorecorder(&recorder);
810 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_MP4);
811 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
812 ret+=recorder_set_filename(recorder , "/mnt/nfs/audiotest_aac.mp4");
813 ret+=recorder_prepare(recorder);
814 ret+=recorder_start(recorder);
816 ret+=recorder_commit(recorder);
817 ret += recorder_unprepare(recorder);
818 ret+=recorder_destroy(recorder);
821 ret+=camera_create(CAMERA_DEVICE_CAMERA0,&camera);
822 ret+=camera_set_x11_display_rotation(camera, CAMERA_DISPLAY_ROTATION_270);
823 ret+=camera_set_display(camera, CAMERA_DISPLAY_TYPE_X11, GET_DISPLAY(preview_win));
826 printf("3GP - AMR- H263\n");
827 ret+=recorder_create_videorecorder(camera, &recorder);
828 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
829 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AMR);
830 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_H263);
831 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_amr_h263.3gp");
832 ret+=recorder_prepare(recorder);
833 ret+=recorder_start(recorder);
835 ret+=recorder_commit(recorder);
836 ret += recorder_unprepare(recorder);
837 ret+=recorder_destroy(recorder);
840 printf("3GP - AMR- H264\n");
841 ret+=recorder_create_videorecorder(camera, &recorder);
842 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
843 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AMR);
844 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_H264);
845 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_amr_h264.3gp");
846 ret+=recorder_prepare(recorder);
847 ret+=recorder_start(recorder);
849 ret+=recorder_commit(recorder);
850 ret += recorder_unprepare(recorder);
851 ret+=recorder_destroy(recorder);
853 printf("3GP - AMR- MPEG4\n");
854 ret+=recorder_create_videorecorder(camera, &recorder);
855 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
856 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AMR);
857 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_MPEG4);
858 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_amr_mpeg4.3gp");
859 ret+=recorder_prepare(recorder);
860 ret+=recorder_start(recorder);
862 ret+=recorder_commit(recorder);
863 ret += recorder_unprepare(recorder);
864 ret+=recorder_destroy(recorder);
867 printf("3GP - AAC- H263\n");
868 ret+=recorder_create_videorecorder(camera, &recorder);
869 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
870 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
871 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_H263);
872 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_AAC_h263.3gp");
873 ret+=recorder_prepare(recorder);
874 ret+=recorder_start(recorder);
876 ret+=recorder_commit(recorder);
877 ret += recorder_unprepare(recorder);
878 ret+=recorder_destroy(recorder);
881 printf("3GP - AAC- H264\n");
882 ret+=recorder_create_videorecorder(camera, &recorder);
883 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
884 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
885 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_H264);
886 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_AAC_h264.3gp");
887 ret+=recorder_prepare(recorder);
888 ret+=recorder_start(recorder);
890 ret+=recorder_commit(recorder);
891 ret += recorder_unprepare(recorder);
892 ret+=recorder_destroy(recorder);
894 printf("3GP - AAC- MPEG4\n");
895 ret+=recorder_create_videorecorder(camera, &recorder);
896 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_3GP);
897 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
898 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_MPEG4);
899 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_AAC_MPEG4.3gp");
900 ret+=recorder_prepare(recorder);
901 ret+=recorder_start(recorder);
903 ret+=recorder_commit(recorder);
904 ret += recorder_unprepare(recorder);
905 ret+=recorder_destroy(recorder);
907 printf("MP4 - AAC- H264\n");
908 ret+=recorder_create_videorecorder(camera, &recorder);
909 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_MP4);
910 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
911 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_H264);
912 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_AAC_h264.mp4");
913 ret+=recorder_prepare(recorder);
914 ret+=recorder_start(recorder);
916 ret+=recorder_commit(recorder);
917 ret += recorder_unprepare(recorder);
918 ret+=recorder_destroy(recorder);
920 printf("MP4 - AAC- MPEG4\n");
921 ret+=recorder_create_videorecorder(camera, &recorder);
922 ret+=recorder_set_file_format(recorder, RECORDER_FILE_FORMAT_MP4);
923 ret+=recorder_set_audio_encoder(recorder, RECORDER_AUDIO_CODEC_AAC);
924 ret+=recorder_set_video_encoder(recorder, RECORDER_VIDEO_CODEC_MPEG4);
925 ret+=recorder_set_filename(recorder , "/mnt/nfs/videotest_AAC_MPEG4.mp4");
926 ret+=recorder_prepare(recorder);
927 ret+=recorder_start(recorder);
929 ret+=recorder_commit(recorder);
930 ret += recorder_unprepare(recorder);
931 ret+=recorder_destroy(recorder);
934 camera_destroy(camera);
941 void* test_main(void *arg){
943 ret = recorder_encoder_test();
945 ret = recorder_attribute_test();
946 ret += recorder_state_change_test();
947 ret += recorder_recoding_status_cb_test();
948 ret += recorder_limit_cb_test();
949 ret += video_recorder_test();
954 printf("--------------RECORDER TEST ALL PASS--------------------------\n");
956 printf("--------------RECORDER TEST FAIL %d--------------------------\n", -ret);
962 int main(int argc, char ** argv)
965 elm_init(argc, argv);
969 mEvasWindow = elm_win_add(NULL, "VIDEO OVERLAY", ELM_WIN_BASIC);
970 elm_win_title_set(mEvasWindow, "video overlay window");
971 elm_win_borderless_set(mEvasWindow, 0);
972 evas_object_resize(mEvasWindow, 800, 480);
973 evas_object_move(mEvasWindow, 0, 0);
974 evas_object_show(mEvasWindow);
976 //To support full-screen
977 elm_win_rotation_set(mEvasWindow, 270);
978 //elm_win_fullscreen_set(mEvasWindow, 1);
980 evas_object_color_set(mEvasWindow, 0,0,0,0);
981 elm_win_transparent_set(mEvasWindow, 1);
982 preview_win = elm_win_xwindow_get(mEvasWindow);
984 fprintf(stderr, "end of elm\n");
986 pthread_t gloop_thread;
988 pthread_create(&gloop_thread, NULL, test_main, NULL);