* Encodebin profile
*/
typedef enum _MMCamcorderEncodebinProfile {
- MM_CAMCORDER_ENCBIN_PROFILE_VIDEO = 0, /**< Video recording profile */
- MM_CAMCORDER_ENCBIN_PROFILE_AUDIO, /**< Audio recording profile */
- MM_CAMCORDER_ENCBIN_PROFILE_IMAGE, /**< Image capture profile */
- MM_CAMCORDER_ENCBIN_PROFILE_NUM
+ MM_CAMCORDER_ENCBIN_PROFILE_VIDEO = 0, /**< Video recording profile */
+ MM_CAMCORDER_ENCBIN_PROFILE_AUDIO, /**< Audio recording profile */
+ MM_CAMCORDER_ENCBIN_PROFILE_IMAGE, /**< Image capture profile */
+ MM_CAMCORDER_ENCBIN_PROFILE_NUM
} MMCamcorderEncodebinProfile;
+/**
+* Encoder Type
+*/
+typedef enum _MMCamcorderEncoderType {
+ MM_CAMCORDER_ENCODER_TYPE_AUDIO,
+ MM_CAMCORDER_ENCODER_TYPE_VIDEO
+} MMCamcorderEncoderType;
+
/*=======================================================================================
| STRUCTURE DEFINITIONS |
========================================================================================*/
/* plug-in related */
void _mmcamcorder_ready_to_encode_callback(GstElement *element, guint size, gpointer handle);
+bool _mmcamcorder_recreate_decoder_for_encoded_preview(MMHandleType handle);
/* etc */
int _mmcamcorder_videosink_window_set(MMHandleType handle, type_element *VideosinkElement);
-int _mmcamcorder_vframe_stablize(MMHandleType handle);
+int _mmcamcorder_video_frame_stabilize(MMHandleType handle, int cmd);
gboolean _mmcamcorder_get_device_info(MMHandleType handle);
int _mmcamcorder_get_eos_message(MMHandleType handle);
void _mmcamcorder_remove_element_handle(MMHandleType handle, void *element, int first_elem, int last_elem);
+int _mmcamcorder_check_codec_fileformat_compatibility(const char *codec_type, int codec, int file_format);
int _mmcamcorder_check_audiocodec_fileformat_compatibility(MMHandleType handle);
int _mmcamcorder_check_videocodec_fileformat_compatibility(MMHandleType handle);
-bool _mmcamcorder_set_display_rotation(MMHandleType handle, int display_rotate);
-bool _mmcamcorder_set_display_flip(MMHandleType handle, int display_flip);
+bool _mmcamcorder_set_display_rotation(MMHandleType handle, int display_rotate, int videosink_index);
+bool _mmcamcorder_set_display_flip(MMHandleType handle, int display_flip, int videosink_index);
bool _mmcamcorder_set_videosrc_rotation(MMHandleType handle, int videosrc_rotate);
bool _mmcamcorder_set_videosrc_caps(MMHandleType handle, unsigned int fourcc, int width, int height, int fps, int rotate);
bool _mmcamcorder_set_videosrc_flip(MMHandleType handle, int viderosrc_flip);
bool _mmcamcorder_set_videosrc_anti_shake(MMHandleType handle, int anti_shake);
bool _mmcamcorder_set_videosrc_stabilization(MMHandleType handle, int stabilization);
bool _mmcamcorder_set_camera_resolution(MMHandleType handle, int width, int height);
-
+bool _mmcamcorder_set_encoded_preview_bitrate(MMHandleType handle, int bitrate);
+bool _mmcamcorder_set_encoded_preview_gop_interval(MMHandleType handle, int gop_interval);
+bool _mmcamcorder_set_sound_stream_info(GstElement *element, char *stream_type, int stream_index);
+void _mmcamcorder_set_encoder_bitrate(MMCamcorderEncoderType type, int codec, int bitrate, GstElement *element);
+GstPadProbeReturn __mmcamcorder_muxed_dataprobe(GstPad *pad, GstPadProbeInfo *info, gpointer u_data);
+GstPadProbeReturn __mmcamcorder_eventprobe_monitor(GstPad *pad, GstPadProbeInfo *info, gpointer u_data);
#ifdef __cplusplus
}
#endif