if (G_UNLIKELY (g_atomic_int_get (&src->priv->has_pending_eos))) {
if (ret == GST_FLOW_OK) {
if (*buf == NULL)
+ {
+#ifdef TIZEN_FEATURE_TRUSTZONE
+ /*tzappsrc patch : release handle when unref res_buf*/
+ if(bclass->tz_src_release_handle)
+ {
+ GST_INFO_OBJECT (src, "tzappsrc release the handle");
+ bclass->tz_src_release_handle(src,res_buf);
+ }
+#endif
gst_buffer_unref (res_buf);
+ }
}
src->priv->forced_eos = TRUE;
goto eos;
* it got unlocked because we did a state change. In any case, get rid of
* the buffer. */
if (*buf == NULL)
+ {
+#ifdef TIZEN_FEATURE_TRUSTZONE
+ /*tzappsrc patch : release handle when unref res_buf*/
+ GstBaseSrcClass *klass = GST_BASE_SRC_GET_CLASS(src);
+ if(klass->tz_src_release_handle)
+ {
+ GST_INFO_OBJECT (src, "tzappsrc release the handle");
+ klass->tz_src_release_handle(src,res_buf);
+ }
+#endif
gst_buffer_unref (res_buf);
+ }
if (!src->live_running) {
/* We return FLUSHING when we are not running to stop the dataflow also
(_("Internal clock error.")),
("clock returned unexpected return value %d", status));
if (*buf == NULL)
+ {
+#ifdef TIZEN_FEATURE_TRUSTZONE
+ /*tzappsrc patch : release handle when unref res_buf*/
+ GstBaseSrcClass *klass = GST_BASE_SRC_GET_CLASS(src);
+ if(klass->tz_src_release_handle)
+ {
+ GST_INFO_OBJECT (src, "tzappsrc release the handle");
+ klass->tz_src_release_handle(src,res_buf);
+ }
+#endif
gst_buffer_unref (res_buf);
+ }
ret = GST_FLOW_ERROR;
break;
}
(_("Failed to map buffer.")),
("failed to map result buffer in WRITE mode"));
if (*buf == NULL)
+ {
+#ifdef TIZEN_FEATURE_TRUSTZONE
+ /*tzappsrc patch : release handle when unref res_buf*/
+ GstBaseSrcClass *klass = GST_BASE_SRC_GET_CLASS(src);
+ if(klass->tz_src_release_handle)
+ {
+ GST_INFO_OBJECT (src, "tzappsrc release the handle");
+ klass->tz_src_release_handle(src,res_buf);
+ }
+#endif
gst_buffer_unref (res_buf);
+ }
return GST_FLOW_ERROR;
}
not_started:
{
GST_DEBUG_OBJECT (src, "we are flushing");
if (*buf == NULL)
+ {
+#ifdef TIZEN_FEATURE_TRUSTZONE
+ /*tzappsrc patch : release handle when unref res_buf*/
+ GstBaseSrcClass *klass = GST_BASE_SRC_GET_CLASS(src);
+ if(klass->tz_src_release_handle)
+ {
+ GST_INFO_OBJECT (src, "tzappsrc release the handle");
+ klass->tz_src_release_handle(src,res_buf);
+ }
+#endif
gst_buffer_unref (res_buf);
+ }
return GST_FLOW_FLUSHING;
}
eos:
ret = gst_pad_push (pad, buf);
if (G_UNLIKELY (ret != GST_FLOW_OK)) {
+#ifdef TIZEN_FEATURE_TRUSTZONE
+ /*tzappsrc patch : release handle when unref res_buf*/
+ GstBaseSrcClass *klass = GST_BASE_SRC_GET_CLASS(src);
+ if(klass->tz_src_release_handle)
+ {
+ GST_INFO_OBJECT (src, "tzappsrc release the handle");
+ klass->tz_src_release_handle(src,buf);
+ }
+#endif
if (ret == GST_FLOW_NOT_NEGOTIATED) {
goto not_negotiated;
}