Name: libmm-camcorder
Summary: Camera and recorder library
-Version: 0.10.274
+Version: 0.10.275
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
/* Pipeline element of Video input */
_MMCAMCORDER_VIDEOSRC_SRC,
- _MMCAMCORDER_VIDEOSRC_FILT,
+ _MMCAMCORDER_VIDEOSRC_CAPS,
_MMCAMCORDER_VIDEOSRC_QUE,
_MMCAMCORDER_VIDEOSRC_PARSE,
_MMCAMCORDER_VIDEOSRC_DECODE,
/* Pipeline element of image capture */
- _MMCAMCORDER_VIDEOSRC_CAP_FILT,
+ _MMCAMCORDER_VIDEOSRC_CAP_CAPS,
_MMCAMCORDER_VIDEOSRC_CAP_SINK,
/* Pipeline element of extra preview */
_MMCAMCORDER_VIDEOSRC_EXT_SRC,
- _MMCAMCORDER_VIDEOSRC_EXT_FILT,
+ _MMCAMCORDER_VIDEOSRC_EXT_CAPS,
_MMCAMCORDER_VIDEOSRC_EXT_SINK,
/* Pipeline element of Video output */
/* Pipeline element of Audio input */
_MMCAMCORDER_AUDIOSRC_BIN,
_MMCAMCORDER_AUDIOSRC_SRC,
- _MMCAMCORDER_AUDIOSRC_FILT,
+ _MMCAMCORDER_AUDIOSRC_CAPS,
_MMCAMCORDER_AUDIOSRC_QUE,
_MMCAMCORDER_AUDIOSRC_CONV,
_MMCAMCORDER_AUDIOSRC_VOL,
/* Pipeline element of Encodebin */
_MMCAMCORDER_ENCSINK_BIN,
_MMCAMCORDER_ENCSINK_SRC,
- _MMCAMCORDER_ENCSINK_FILT,
+ _MMCAMCORDER_ENCSINK_CAPS,
_MMCAMCORDER_ENCSINK_ENCBIN,
_MMCAMCORDER_ENCSINK_AQUE,
_MMCAMCORDER_ENCSINK_CONV,
_MMCAMCORDER_ENCSINK_AENC_QUE,
_MMCAMCORDER_ENCSINK_VQUE,
_MMCAMCORDER_ENCSINK_VSCALE,
- _MMCAMCORDER_ENCSINK_VSCALE_FILT,
+ _MMCAMCORDER_ENCSINK_VSCALE_CAPS,
_MMCAMCORDER_ENCSINK_VCONV,
_MMCAMCORDER_ENCSINK_VENC,
_MMCAMCORDER_ENCSINK_VENC_QUE,
_MMCAMCORDER_ENCSINK_ITOG,
_MMCAMCORDER_ENCSINK_ICROP,
_MMCAMCORDER_ENCSINK_ISCALE,
- _MMCAMCORDER_ENCSINK_IFILT,
+ _MMCAMCORDER_ENCSINK_ICAPS,
_MMCAMCORDER_ENCSINK_IQUE,
_MMCAMCORDER_ENCSINK_IENC,
_MMCAMCORDER_ENCSINK_MUX,
*/
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_SRC, videosrc_name, "videosrc_src", element_list, err);
- _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_FILT, "capsfilter", "videosrc_filter", element_list, err);
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_CAPS, "capsfilter", "videosrc_filter", element_list, err);
/**
* This is for "tizencamerasrc" element only.
pipeline_creation_error:
_MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_SRC);
- _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_FILT);
+ _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_CAPS);
_MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_QUE);
- _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_CAP_FILT);
+ _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_CAP_CAPS);
_MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_CAP_SINK);
_MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_DECODE);
_MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSINK_QUE);
MMCAMCORDER_G_OBJECT_SET(sc->encode_element[_MMCAMCORDER_AUDIOSRC_SRC].gst, "blocksize", blocksize);
}
- _MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_AUDIOSRC_FILT, "capsfilter", "audiosrc_capsfilter", element_list, err);
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_AUDIOSRC_CAPS, "capsfilter", "audiosrc_capsfilter", element_list, err);
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_AUDIOSRC_QUE, "queue", "audiosrc_queue", element_list, err);
MMCAMCORDER_G_OBJECT_SET(sc->encode_element[_MMCAMCORDER_AUDIOSRC_QUE].gst, "max-size-buffers", 0);
}
if (caps) {
- MMCAMCORDER_G_OBJECT_SET_POINTER((sc->encode_element[_MMCAMCORDER_AUDIOSRC_FILT].gst), "caps", caps);
+ MMCAMCORDER_G_OBJECT_SET_POINTER((sc->encode_element[_MMCAMCORDER_AUDIOSRC_CAPS].gst), "caps", caps);
gst_caps_unref(caps);
caps = NULL;
} else {
pipeline_creation_error:
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_AUDIOSRC_SRC);
- _MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_AUDIOSRC_FILT);
+ _MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_AUDIOSRC_CAPS);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_AUDIOSRC_QUE);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_AUDIOSRC_VOL);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_AUDIOSRC_BIN);
/* create appsrc and capsfilter */
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_ENCSINK_SRC, "appsrc", "encodesink_src", element_list, err);
- _MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_ENCSINK_FILT, "capsfilter", "encodesink_filter", element_list, err);
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_ENCSINK_CAPS, "capsfilter", "encodesink_filter", element_list, err);
/* set appsrc as live source */
MMCAMCORDER_G_OBJECT_SET(sc->encode_element[_MMCAMCORDER_ENCSINK_SRC].gst, "is-live", TRUE);
if (profile == MM_CAMCORDER_ENCBIN_PROFILE_VIDEO) {
if (_mmcamcorder_is_encoded_preview_pixel_format(sc->info_image->preview_format)) {
MMCAM_LOG_INFO("get pad from videosrc_filter");
- pad = gst_element_get_static_pad(sc->element[_MMCAMCORDER_VIDEOSRC_FILT].gst, "src");
+ pad = gst_element_get_static_pad(sc->element[_MMCAMCORDER_VIDEOSRC_CAPS].gst, "src");
} else {
MMCAM_LOG_INFO("get pad from videosrc_que");
pad = gst_element_get_static_pad(sc->element[_MMCAMCORDER_VIDEOSRC_QUE].gst, "src");
video_caps = gst_caps_fixate(video_caps);
} else {
/* Image */
- MMCAMCORDER_G_OBJECT_GET(sc->element[_MMCAMCORDER_VIDEOSRC_FILT].gst, "caps", &video_caps);
+ MMCAMCORDER_G_OBJECT_GET(sc->element[_MMCAMCORDER_VIDEOSRC_CAPS].gst, "caps", &video_caps);
}
if (!video_caps) {
g_free(caps_str);
caps_str = NULL;
- MMCAMCORDER_G_OBJECT_SET_POINTER(sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst, "caps", video_caps);
+ MMCAMCORDER_G_OBJECT_SET_POINTER(sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst, "caps", video_caps);
gst_caps_unref(video_caps);
video_caps = NULL;
caps_str = NULL;
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_ENCSINK_VSCALE, gst_element_vscale_name, "encodesink_vscale", element_list, err);
- _MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_ENCSINK_VSCALE_FILT, "capsfilter", "encodesink_vscale_filter", element_list, err);
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->encode_element, _MMCAMCORDER_ENCSINK_VSCALE_CAPS, "capsfilter", "encodesink_vscale_filter", element_list, err);
- MMCAMCORDER_G_OBJECT_SET_POINTER((sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_FILT].gst), "caps", videoscale_caps);
+ MMCAMCORDER_G_OBJECT_SET_POINTER((sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_CAPS].gst), "caps", videoscale_caps);
gst_caps_unref(videoscale_caps);
videoscale_caps = NULL;
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_ENCBIN);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_SRC);
- _MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_FILT);
+ _MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_CAPS);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_VSCALE);
- _MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_VSCALE_FILT);
+ _MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_VSCALE_CAPS);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_VENC);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_AENC);
_MMCAMCORDER_ELEMENT_REMOVE(sc->encode_element, _MMCAMCORDER_ENCSINK_IENC);
return FALSE;
}
- if (!sc->element[_MMCAMCORDER_VIDEOSRC_FILT].gst) {
+ if (!sc->element[_MMCAMCORDER_VIDEOSRC_CAPS].gst) {
MMCAM_LOG_ERROR("Video filter is NULL!");
return FALSE;
}
MMCAM_LOG_WARNING("ITLV format doe snot support INPUT ROTATE. Ignore ROTATE[%d]", rotate);
}
- MMCAMCORDER_G_OBJECT_GET(sc->element[_MMCAMCORDER_VIDEOSRC_FILT].gst, "caps", &caps);
+ MMCAMCORDER_G_OBJECT_GET(sc->element[_MMCAMCORDER_VIDEOSRC_CAPS].gst, "caps", &caps);
if (caps && !gst_caps_is_any(caps)) {
GstStructure *structure = NULL;
return FALSE;
}
- MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSRC_FILT].gst, "caps", caps);
+ MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSRC_CAPS].gst, "caps", caps);
gst_caps_unref(caps);
return TRUE;
/* add element and encodesink bin to encode main pipeline */
gst_bin_add_many(GST_BIN(sc->encode_element[_MMCAMCORDER_ENCODE_MAIN_PIPE].gst),
sc->encode_element[_MMCAMCORDER_ENCSINK_SRC].gst,
- sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst,
+ sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst,
sc->encode_element[_MMCAMCORDER_ENCSINK_BIN].gst,
NULL);
/* Link each element : appsrc - capsfilter - encodesink bin */
srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_SRC].gst, "src");
- sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst, "sink");
+ sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst, "sink");
_MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, pipeline_creation_error);
- srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst, "src");
+ srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst, "src");
sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_BIN].gst, "image_sink0");
_MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, pipeline_creation_error);
return err;
}
- _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_CAP_FILT, "capsfilter", "videosrc_cap_filt", element_list, err);
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_CAP_CAPS, "capsfilter", "videosrc_cap_filt", element_list, err);
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_CAP_SINK, "fakesink", "videosrc_cap_sink", element_list, err);
MMCAMCORDER_G_OBJECT_SET(sc->element[_MMCAMCORDER_VIDEOSRC_CAP_SINK].gst, "sync", TRUE);
caps_string = NULL;
}
- MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSRC_CAP_FILT].gst, "caps", caps);
+ MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSRC_CAP_CAPS].gst, "caps", caps);
gst_caps_unref(caps);
/* add elements to main pipeline */
/* link elements */
if (!gst_element_link_pads(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst, "image_%u",
- sc->element[_MMCAMCORDER_VIDEOSRC_CAP_FILT].gst, "sink")) {
+ sc->element[_MMCAMCORDER_VIDEOSRC_CAP_CAPS].gst, "sink")) {
MMCAM_LOG_ERROR("capture pad link failed");
err = MM_ERROR_CAMCORDER_GST_LINK;
goto pipeline_creation_error;
return MM_ERROR_NONE;
pipeline_creation_error:
- _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_CAP_FILT);
+ _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_CAP_CAPS);
_MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_CAP_SINK);
if (element_list) {
_mmcamcorder_conf_set_value_element_property(sc->element[_MMCAMCORDER_VIDEOSRC_EXT_SRC].gst, videosrc_element);
}
- _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_EXT_FILT, "capsfilter", "videosrc_ext_filt", element_list, err);
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_EXT_CAPS, "capsfilter", "videosrc_ext_filt", element_list, err);
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_EXT_SINK, "fakesink", "videosrc_ext_sink", element_list, err);
MMCAMCORDER_G_OBJECT_SET(sc->element[_MMCAMCORDER_VIDEOSRC_EXT_SINK].gst, "sync", TRUE);
goto pipeline_creation_error;
}
- MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSRC_EXT_FILT].gst, "caps", caps);
+ MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSRC_EXT_CAPS].gst, "caps", caps);
gst_caps_unref(caps);
/* add elements to main pipeline */
/* link elements */
if (mode == MM_CAMCORDER_EXTRA_PREVIEW_MODE_PIPELINE_SRCPAD) {
if (!gst_element_link_pads(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst, "video_%u",
- sc->element[_MMCAMCORDER_VIDEOSRC_EXT_FILT].gst, "sink")) {
+ sc->element[_MMCAMCORDER_VIDEOSRC_EXT_CAPS].gst, "sink")) {
MMCAM_LOG_ERROR("pad for extra preview link failed");
err = MM_ERROR_CAMCORDER_GST_LINK;
goto pipeline_creation_error;
return MM_ERROR_NONE;
pipeline_creation_error:
- _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_EXT_FILT);
+ _MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_EXT_CAPS);
_MMCAMCORDER_ELEMENT_REMOVE(sc->element, _MMCAMCORDER_VIDEOSRC_EXT_SINK);
if (element_list) {
if (sc->info_video->use_videoscale) {
gst_bin_add_many(GST_BIN(sc->encode_element[_MMCAMCORDER_ENCODE_MAIN_PIPE].gst),
sc->encode_element[_MMCAMCORDER_ENCSINK_SRC].gst,
- sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst,
+ sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst,
sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE].gst,
- sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_FILT].gst,
+ sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_CAPS].gst,
sc->encode_element[_MMCAMCORDER_ENCSINK_BIN].gst,
NULL);
} else {
gst_bin_add_many(GST_BIN(sc->encode_element[_MMCAMCORDER_ENCODE_MAIN_PIPE].gst),
sc->encode_element[_MMCAMCORDER_ENCSINK_SRC].gst,
- sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst,
+ sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst,
sc->encode_element[_MMCAMCORDER_ENCSINK_BIN].gst,
NULL);
}
/* Link each element : appsrc - capsfilter - encodesink bin */
srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_SRC].gst, "src");
- sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst, "sink");
+ sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst, "sink");
_MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, pipeline_creation_error);
- srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_FILT].gst, "src");
+ srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_CAPS].gst, "src");
if (sc->info_video->use_videoscale) {
sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE].gst, "sink");
_MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, pipeline_creation_error);
srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE].gst, "src");
- sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_FILT].gst, "sink");
+ sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_CAPS].gst, "sink");
_MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, pipeline_creation_error);
- srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_FILT].gst, "src");
+ srcpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_VSCALE_CAPS].gst, "src");
}
sinkpad = gst_element_get_static_pad(sc->encode_element[_MMCAMCORDER_ENCSINK_BIN].gst, "video_sink0");
_MM_GST_PAD_LINK_UNREF(srcpad, sinkpad, err, pipeline_creation_error);