bool g_bRecorderSupportedVideoEncoderCallback;
bool g_bRecorderSupportedVideoResolutionCallback;
bool g_bStateChange;
+bool g_bVideoEncodeDecisionCallback;
/**
* @function ITs_recorder_startup
return false;
}
+/**
+* @function VideoEncodeDecisionCallback
+* @description Called when each video frame is delivered before encoding
+* @parameter recorder_video_data_s *frame, void *user_data
+* @return NA
+*/
+static bool VideoEncodeDecisionCallback(recorder_video_data_s *frame, void *user_data)
+{
+#if DEBUG
+ FPRINTF("[Line : %d][%s] VideoEncodeDecisionCallback callback is called\\n", __LINE__, API_NAMESPACE);
+#endif
+
+ g_bVideoEncodeDecisionCallback = true;
+
+ return true;
+}
+
/** @addtogroup itc-recorder-testcases
* @brief Integration testcases for module recorder
* @ingroup itc-recorder
return 0;
}
+//& purpose: Registers and unregisters a callback function to be called when each video frame is delivered before encoding.
+//& type: auto
+/**
+* @testcase ITc_recorder_set_unset_video_encode_decision_cb_p
+* @since_tizen 6.0
+* @author SRID(priya.kohli)
+* @reviewer SRID(shobhit.v)
+* @type auto
+* @scenario This test is for checking parameters valid or not. \n
+* 1. Check microphone supported or not. \n
+* 2. Set video encode decision callback.
+* 3. Unset video encode decision callback.
+* @description To check set and unset video encode decision callback with valid pointer and parameters.
+* @apicovered recorder_set_video_encode_decision_cb, recorder_unset_video_encode_decision_cb
+* @passcase If recorder_set_video_encode_decision_cb and recorder_unset_video_encode_decision_cb passes
+* @failcase If recorder_set_video_encode_decision_cb, recorder_unset_video_encode_decision_cb fails
+* @precondition The recorder state should be RECORDER_STATE_READY or RECORDER_STATE_CREATED
+* @postcondition NA
+*/
+int ITc_recorder_set_unset_video_encode_decision_cb_p(void)
+{
+ START_TEST;
+ recorder_state_e state;
+
+ if ( CreateVideoRecorder() == false )
+ {
+ return 1;
+ }
+ if ( g_bMismatch )
+ {
+ FPRINTF("[Line : %d][%s] system_info_get_platform_bool and recorder_create_videorecorder returned different feature for Recorder so leaving test\\n", __LINE__, API_NAMESPACE);
+ return 1;
+ }
+ if ( g_bCamFeatureNotSupported || g_bVideoRecFeatureNotSupported )
+ {
+ FPRINTF("[Line : %d][%s][Not supported] system_info_get_platform_bool and recorder_create_videorecorder returned Unsupported feature capability for Recorder\\n", __LINE__, API_NAMESPACE);
+ return 0;
+ }
+
+ if ( g_bAudioRecFeatureNotSupported )
+ {
+ FPRINTF("[Line : %d][%s][Not supported] system_info_get_platform_bool and recorder_create_audiorecorder returned Unsupported feature capability for Recorder\\n", __LINE__, API_NAMESPACE);
+ return 0;
+ }
+
+ if ( ReadyRecorderHandler() != true )
+ {
+ FPRINTF( "[Line : %d][%s] Initialize condition failed\\n", __LINE__, API_NAMESPACE);
+ DestroyRecorderHandler();
+ return 1;
+ }
+
+ g_bVideoEncodeDecisionCallback = false;
+
+ int nRet = recorder_set_video_encode_decision_cb(g_pstRecorder, VideoEncodeDecisionCallback, NULL);
+ PRINT_RESULT_CLEANUP(RECORDER_ERROR_NONE, nRet, "recorder_set_video_encode_decision_cb", RecorderGetError(nRet), recorder_cancel(g_pstRecorder); recorder_unprepare(g_pstRecorder); DestroyRecorderHandler());
+
+ nRet = recorder_start(g_pstRecorder);
+ PRINT_RESULT_CLEANUP(RECORDER_ERROR_NONE, nRet, "recorder_start", RecorderGetError(nRet), recorder_cancel(g_pstRecorder); recorder_unprepare(g_pstRecorder); DestroyRecorderHandler());
+
+ RecorderWaitForAsync();
+
+ if ( !g_bVideoEncodeDecisionCallback )
+ {
+ FPRINTF("[Line : %d][%s] recorder_set_video_encode_decision_cb failed, error returned = callback not invoked\\n", __LINE__, API_NAMESPACE);
+ recorder_cancel(g_pstRecorder);
+ recorder_unprepare(g_pstRecorder);
+ DestroyRecorderHandler();
+ return 1;
+ }
+
+ nRet = recorder_cancel(g_pstRecorder);
+ PRINT_RESULT_CLEANUP(RECORDER_ERROR_NONE, nRet, "recorder_cancel", RecorderGetError(nRet), recorder_unprepare(g_pstRecorder); DestroyRecorderHandler());
+
+ nRet = recorder_unprepare(g_pstRecorder);
+ PRINT_RESULT_CLEANUP(RECORDER_ERROR_NONE, nRet, "recorder_unprepare", RecorderGetError(nRet), DestroyRecorderHandler());
+
+ nRet = recorder_unset_video_encode_decision_cb(g_pstRecorder);
+ PRINT_RESULT_CLEANUP(RECORDER_ERROR_NONE, nRet, "recorder_unset_video_encode_decision_cb", RecorderGetError(nRet), DestroyRecorderHandler());
+
+ if ( DestroyRecorderHandler() == false )
+ {
+ FPRINTF("[Line : %d][%s]DestroyRecorderHandler returns false\\n", __LINE__, API_NAMESPACE);
+ }
+
+ return 0;
+}
+
/** @} */
/** @} */
extern int ITc_recorder_get_device_state_p(void);
extern int ITc_recorder_add_remove_device_state_changed_cb_p(void);
extern int ITc_recorder_set_unset_muxed_stream_cb_p(void);
+extern int ITc_recorder_set_unset_video_encode_decision_cb_p(void);
extern int ITc_recorder_attr_set_get_audio_channel_p(void);
extern int ITc_recorder_attr_set_get_audio_device_p(void);
extern int ITc_recorder_attr_set_get_audio_encoder_bitrate_p(void);
{"ITc_recorder_get_device_state_p",ITc_recorder_get_device_state_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_add_remove_device_state_changed_cb_p",ITc_recorder_add_remove_device_state_changed_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_set_unset_muxed_stream_cb_p",ITc_recorder_set_unset_muxed_stream_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
+ {"ITc_recorder_set_unset_video_encode_decision_cb_p",ITc_recorder_set_unset_video_encode_decision_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_attr_set_get_audio_channel_p",ITc_recorder_attr_set_get_audio_channel_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
{"ITc_recorder_attr_set_get_audio_device_p",ITc_recorder_attr_set_get_audio_device_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
{"ITc_recorder_attr_set_get_audio_encoder_bitrate_p",ITc_recorder_attr_set_get_audio_encoder_bitrate_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
extern int ITc_recorder_get_device_state_p(void);
extern int ITc_recorder_add_remove_device_state_changed_cb_p(void);
extern int ITc_recorder_set_unset_muxed_stream_cb_p(void);
+extern int ITc_recorder_set_unset_video_encode_decision_cb_p(void);
extern int ITc_recorder_attr_set_get_audio_channel_p(void);
extern int ITc_recorder_attr_set_get_audio_device_p(void);
extern int ITc_recorder_attr_set_get_audio_encoder_bitrate_p(void);
{"ITc_recorder_get_device_state_p",ITc_recorder_get_device_state_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_add_remove_device_state_changed_cb_p",ITc_recorder_add_remove_device_state_changed_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_set_unset_muxed_stream_cb_p",ITc_recorder_set_unset_muxed_stream_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
+ {"ITc_recorder_set_unset_video_encode_decision_cb_p",ITc_recorder_set_unset_video_encode_decision_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_attr_set_get_audio_channel_p",ITc_recorder_attr_set_get_audio_channel_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
{"ITc_recorder_attr_set_get_audio_device_p",ITc_recorder_attr_set_get_audio_device_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
{"ITc_recorder_attr_set_get_audio_encoder_bitrate_p",ITc_recorder_attr_set_get_audio_encoder_bitrate_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
extern int ITc_recorder_get_device_state_p(void);
extern int ITc_recorder_add_remove_device_state_changed_cb_p(void);
extern int ITc_recorder_set_unset_muxed_stream_cb_p(void);
+extern int ITc_recorder_set_unset_video_encode_decision_cb_p(void);
extern int ITc_recorder_attr_set_get_audio_channel_p(void);
extern int ITc_recorder_attr_set_get_audio_device_p(void);
extern int ITc_recorder_attr_set_get_audio_encoder_bitrate_p(void);
{"ITc_recorder_get_device_state_p",ITc_recorder_get_device_state_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_add_remove_device_state_changed_cb_p",ITc_recorder_add_remove_device_state_changed_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_set_unset_muxed_stream_cb_p",ITc_recorder_set_unset_muxed_stream_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
+ {"ITc_recorder_set_unset_video_encode_decision_cb_p",ITc_recorder_set_unset_video_encode_decision_cb_p,ITs_recorder_startup,ITs_recorder_cleanup},
{"ITc_recorder_attr_set_get_audio_channel_p",ITc_recorder_attr_set_get_audio_channel_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
{"ITc_recorder_attr_set_get_audio_device_p",ITc_recorder_attr_set_get_audio_device_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},
{"ITc_recorder_attr_set_get_audio_encoder_bitrate_p",ITc_recorder_attr_set_get_audio_encoder_bitrate_p,ITs_recorder_attr_startup,ITs_recorder_attr_cleanup},