diff options
Diffstat (limited to 'ext/raw1394')
-rw-r--r-- | ext/raw1394/gstdv1394src.c | 10 |
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; |