summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEunhye Choi <eunhae1.choi@samsung.com>2022-11-17 18:46:50 +0900
committerEunhye Choi <eunhae1.choi@samsung.com>2022-11-17 19:43:10 +0900
commitbfa31a87446b591b423584c1fde4a95417b34e41 (patch)
tree086b9a3bf97475a70a47e0699a54567b0c1f6c9d
parent51967171a3fce78918a8ff3a1c599daf600c2f6a (diff)
downloadmediatransporter-bfa31a87446b591b423584c1fde4a95417b34e41.tar.gz
mediatransporter-bfa31a87446b591b423584c1fde4a95417b34e41.tar.bz2
mediatransporter-bfa31a87446b591b423584c1fde4a95417b34e41.zip
[1.0.8] fix encoder caps erroraccepted/tizen/unified/20221121.163712
- pipeline state is not changed normally if the caps is invalid Change-Id: I6efd9658373a301411adddf262f356b1937d621d
-rw-r--r--packaging/capi-media-transporter.spec2
-rw-r--r--src/MediaSourceBinBaseVideo.cpp4
-rw-r--r--src/MediaTransporterGst.cpp7
3 files changed, 7 insertions, 6 deletions
diff --git a/packaging/capi-media-transporter.spec b/packaging/capi-media-transporter.spec
index 29ce78f..262d77a 100644
--- a/packaging/capi-media-transporter.spec
+++ b/packaging/capi-media-transporter.spec
@@ -1,6 +1,6 @@
Name: capi-media-transporter
Summary: A Media Transporter library in Tizen Native API
-Version: 1.0.7
+Version: 1.0.8
Release: 0
Group: Multimedia/API
License: Apache-2.0
diff --git a/src/MediaSourceBinBaseVideo.cpp b/src/MediaSourceBinBaseVideo.cpp
index eb0e7e6..a3a8f22 100644
--- a/src/MediaSourceBinBaseVideo.cpp
+++ b/src/MediaSourceBinBaseVideo.cpp
@@ -112,6 +112,10 @@ std::vector<GstElement*> MediaSourceBinBaseVideo::createVideoRestOfElements(cons
sinkCaps = __makeVideoDefaultEncodedCaps(ini);
if (sinkCaps) {
+ std::string encoderName = GST_ELEMENT_NAME(encoder);
+ if (encoderName.find("v4l2h264enc") != std::string::npos)
+ gst_caps_set_simple(sinkCaps, "level", G_TYPE_STRING, "3", NULL);
+
gst::_printCaps(sinkCaps, ELEMENT_NAME_ENCODE_CAPSFILTER);
g_object_set(G_OBJECT(capsfilter2), "caps", sinkCaps, NULL);
gst_caps_unref(sinkCaps);
diff --git a/src/MediaTransporterGst.cpp b/src/MediaTransporterGst.cpp
index b68b9d0..0eed11e 100644
--- a/src/MediaTransporterGst.cpp
+++ b/src/MediaTransporterGst.cpp
@@ -778,7 +778,7 @@ void gst::_updateCaps(GstElement* element, const param::videoInfo& vInfo)
vInfo.frameRate, 1, NULL);
if (!gst_caps_is_equal(oldCaps, newCaps)) {
- gst::_printCaps(newCaps, "newCaps");
+ gst::_printCaps(newCaps, "newCaps");
g_object_set(G_OBJECT(element), "caps", newCaps, NULL);
}
@@ -792,9 +792,6 @@ void gst::_updateEncCaps(GstElement* element, const param::videoInfo& vInfo)
RET_IF(!oldCaps, "capsfilter has no caps");
GstCaps* newCaps = gst_caps_copy(oldCaps);
- std::string elementName = GST_ELEMENT_NAME(element);
- if (elementName.find("v4l2h264enc"))
- gst_caps_set_simple(newCaps, "level", G_TYPE_STRING, "3", NULL);
if (vInfo.width > 0)
gst_caps_set_simple(newCaps, "width", G_TYPE_INT, vInfo.width, NULL);
@@ -803,7 +800,7 @@ void gst::_updateEncCaps(GstElement* element, const param::videoInfo& vInfo)
gst_caps_set_simple(newCaps, "height", G_TYPE_INT, vInfo.height, NULL);
if (!gst_caps_is_equal(oldCaps, newCaps)) {
- gst::_printCaps(newCaps, "Change newCaps");
+ gst::_printCaps(newCaps, "Change newCaps");
g_object_set(G_OBJECT(element), "caps", newCaps, NULL);
}