summaryrefslogtreecommitdiffstats
path: root/ext/raw1394
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2007-03-07 19:48:03 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2007-03-07 19:48:03 +0000
commitd5dbe58af2714c775f2be9fb69734193f1f8e871 (patch)
tree8ffcf6aca0e9d4a11f06783195c86df8b510abbf /ext/raw1394
parente38f3766a11a11089d9dced188787e8b08cec30a (diff)
ext/raw1394/gstdv1394src.c: Free handles that we allocated when exiting via the error paths.
Original commit message from CVS: * ext/raw1394/gstdv1394src.c: (gst_dv1394src_start): Free handles that we allocated when exiting via the error paths.
Diffstat (limited to 'ext/raw1394')
-rw-r--r--ext/raw1394/gstdv1394src.c10
1 files changed, 10 insertions, 0 deletions
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;