summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/resindvd/rsninputselector.c2
-rw-r--r--sys/uvch264/gstuvch264_src.c2
-rw-r--r--sys/winscreencap/gstdx9screencapsrc.c5
3 files changed, 9 insertions, 0 deletions
diff --git a/ext/resindvd/rsninputselector.c b/ext/resindvd/rsninputselector.c
index 678311603..4542edec3 100644
--- a/ext/resindvd/rsninputselector.c
+++ b/ext/resindvd/rsninputselector.c
@@ -695,6 +695,7 @@ gst_input_selector_wait_running_time (RsnInputSelector * sel,
cur_running_time -= base_time;
else
cur_running_time = 0;
+ gst_object_unref (clock);
}
} else {
GstSegment *active_seg;
@@ -814,6 +815,7 @@ gst_input_selector_cleanup_old_cached_buffers (RsnInputSelector * sel,
cur_running_time -= base_time;
else
cur_running_time = 0;
+ gst_object_unref (clock);
}
} else {
GstPad *active_sinkpad;
diff --git a/sys/uvch264/gstuvch264_src.c b/sys/uvch264/gstuvch264_src.c
index ed9dbe946..11b4a6208 100644
--- a/sys/uvch264/gstuvch264_src.c
+++ b/sys/uvch264/gstuvch264_src.c
@@ -2544,6 +2544,8 @@ error_remove:
gst_bin_remove (GST_BIN (self), self->v4l2_src);
error:
+ if (v4l2_clock)
+ gst_object_unref (v4l2_clock);
if (self->v4l2_src)
gst_object_unref (self->v4l2_src);
self->v4l2_src = NULL;
diff --git a/sys/winscreencap/gstdx9screencapsrc.c b/sys/winscreencap/gstdx9screencapsrc.c
index e7ee42984..4768c9523 100644
--- a/sys/winscreencap/gstdx9screencapsrc.c
+++ b/sys/winscreencap/gstdx9screencapsrc.c
@@ -516,6 +516,7 @@ gst_dx9screencapsrc_create (GstPushSrc * push_src, GstBuffer ** buf)
if (ret == GST_CLOCK_UNSCHEDULED) {
/* Got woken up by the unlock function */
GST_OBJECT_UNLOCK (src);
+ gst_object_unref (clock);
return GST_FLOW_FLUSHING;
}
GST_OBJECT_UNLOCK (src);
@@ -554,6 +555,8 @@ gst_dx9screencapsrc_create (GstPushSrc * push_src, GstBuffer ** buf)
IDirect3DDevice9_GetFrontBufferData (src->d3d9_device, 0, src->surface);
if (FAILED (hres)) {
GST_DEBUG_OBJECT (src, "DirectX::GetBackBuffer failed.");
+ if (clock != NULL)
+ gst_object_unref (clock);
return GST_FLOW_ERROR;
}
@@ -591,6 +594,8 @@ gst_dx9screencapsrc_create (GstPushSrc * push_src, GstBuffer ** buf)
D3DLOCK_NO_DIRTY_UPDATE | D3DLOCK_NOSYSLOCK | D3DLOCK_READONLY);
if (FAILED (hres)) {
GST_DEBUG_OBJECT (src, "DirectX::LockRect failed.");
+ if (clock != NULL)
+ gst_object_unref (clock);
return GST_FLOW_ERROR;
}