summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
m---------common0
-rw-r--r--ext/raw1394/gstdv1394src.c10
3 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index bcd31004..aa4e94ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
+
+ * ext/raw1394/gstdv1394src.c: (gst_dv1394src_start):
+ Free handles that we allocated when exiting via the error paths.
+
2007-03-07 Stefan Kost <ensonic@users.sf.net>
* gst/level/gstlevel.c: (gst_level_class_init),
diff --git a/common b/common
-Subproject c4f56a657d79aee0e3fc25ef2bcf876f9f3c159
+Subproject 7c5a0ab68de1fed4e5a1fd473160debc2c4c7b8
diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c
index 5b0d9099..d10c389c 100644
--- a/ext/raw1394/gstdv1394src.c
+++ b/ext/raw1394/gstdv1394src.c
@@ -842,6 +842,8 @@ no_handle:
}
no_ports:
{
+ raw1394_destroy_handle (src->handle);
+ src->handle = NULL;
GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, (NULL),
("no ports available for raw1394"));
return FALSE;
@@ -854,6 +856,12 @@ cannot_set_port:
}
cannot_start:
{
+ raw1394_destroy_handle (src->handle);
+ src->handle = NULL;
+#ifdef HAVE_LIBIEC61883
+ iec61883_dv_fb_close (src->iec61883dv);
+ src->iec61883dv = NULL;
+#endif
GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL),
("can't start 1394 iso receive"));
return FALSE;
@@ -861,6 +869,8 @@ cannot_start:
#ifdef HAVE_LIBIEC61883
cannot_initialise_dv:
{
+ raw1394_destroy_handle (src->handle);
+ src->handle = NULL;
GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL),
("can't initialise iec61883 dv"));
return FALSE;