int camera_set_extra_preview_device(camera_h camera, int stream_id, camera_device_e device);
/**
+ * @internal
+ * @brief Requests codec config data for encoded format.
+ * @since_tizen 7.0
+ * @param[in] camera The handle to the camera
+ * @return @c 0 on success, otherwise a negative error value
+ * @retval #CAMERA_ERROR_NONE Successful
+ * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
+ * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
+ * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
+ * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
+ * @see camera_start_preview()
+ */
+int camera_request_codec_config(camera_h camera);
+
+/**
* @}
*/
#ifdef __cplusplus
Name: capi-media-camera
Summary: A Camera API
-Version: 0.4.92
+Version: 0.4.93
Release: 0
Group: Multimedia/API
License: Apache-2.0
media_format_get_video_info(cb_info->pkt_fmt,
&pkt_fmt_mimetype, &pkt_fmt_width, &pkt_fmt_height, NULL, NULL);
- CAM_LOG_INFO("pkt_fmt %dx%d - stream %dx%d",
+ CAM_LOG_DEBUG("pkt_fmt %dx%d - stream %dx%d",
pkt_fmt_width, pkt_fmt_height, stream->width, stream->height);
if (pkt_fmt_mimetype != mimetype ||
stream->data.encoded.data, stream->data.encoded.length_data,
(media_packet_dispose_cb)_camera_media_packet_dispose, (void *)cb_info,
&pkt);
+
+ if (pkt) {
+ if (!stream->data.encoded.is_delta_frame)
+ media_packet_set_flags(pkt, MEDIA_PACKET_SYNC_FRAME);
+
+ if (stream->data.encoded.is_header_included) {
+ media_packet_set_flags(pkt, MEDIA_PACKET_CODEC_CONFIG);
+ CAM_LOG_INFO("Codec config in buffer");
+ }
+ }
} else {
tsurf = __camera_get_tbm_surface(stream, mp_data);
if (!tsurf) {
return ret;
}
+
+
+int camera_request_codec_config(camera_h camera)
+{
+ int ret = CAMERA_ERROR_NONE;
+ camera_cli_s *pc = (camera_cli_s *)camera;
+ muse_camera_api_e api = MUSE_CAMERA_API_REQUEST_CODEC_CONFIG;
+
+ if (!pc || !pc->cb_info) {
+ CAM_LOG_ERROR("NULL pointer %p", pc);
+ return CAMERA_ERROR_INVALID_PARAMETER;
+ }
+
+ CAM_LOG_INFO("Enter");
+
+ _camera_msg_send(api, NULL, pc->cb_info, &ret, CAMERA_CB_TIMEOUT);
+
+ CAM_LOG_INFO("ret : 0x%x", ret);
+
+ return ret;
+}
//LCOV_EXCL_STOP
g_print("\t 's' Extra preview stream format\n");
g_print("\t 'B' Extra preview bitrate\n");
g_print("\t 'V' Extra preview GOP interval\n");
+ g_print("\t 'D' Request codec config\n");
g_print("\t >>>>>>>>>>>>>>>>>>>> [Display/Filter]\n");
g_print("\t 'v' Visible \n");
g_print("\t 'o' Output mode \n");
g_print("\tResult GOP interval[%d]bps for stream_id[%d]\n", interval, stream_id);
break;
+ case 'D': /* Setting > Request codec config */
+ g_print("* Request codec config\n");
+
+ err = camera_request_codec_config(hcamcorder->camera);
+ if (err != CAMERA_ERROR_NONE) {
+ g_print("\tFailed to request codec config\n");
+ break;
+ }
+ break;
/* Display / Filter setting */
case 'v': /* Display visible */
g_print("* Display visible setting !\n");