From: Thomas Vander Stichele Date: Wed, 5 Apr 2006 12:41:14 +0000 (+0000) Subject: ext/raw1394/gstdv1394src.c: distinguish between device not found and could not open... X-Git-Tag: RELEASE-0_10_3~123 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=490f1c0132a02d0db547e7e19d913c517f8a9470;p=platform%2Fupstream%2Fgst-plugins-good.git ext/raw1394/gstdv1394src.c: distinguish between device not found and could not open for reading Original commit message from CVS: * ext/raw1394/gstdv1394src.c: distinguish between device not found and could not open for reading --- diff --git a/ChangeLog b/ChangeLog index d2ab7d4..89ea9e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-04-05 Thomas Vander Stichele + + * ext/raw1394/gstdv1394src.c: + distinguish between device not found and could not open for + reading + 2006-04-03 Thomas Vander Stichele * Makefile.am: diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c index 4e1e2e5..d3942d6 100644 --- a/ext/raw1394/gstdv1394src.c +++ b/ext/raw1394/gstdv1394src.c @@ -667,8 +667,14 @@ gst_dv1394src_start (GstBaseSrc * bsrc) src->handle = raw1394_new_handle (); - if (!src->handle) - goto no_handle; + if (!src->handle) { + if (errno == EACCES) + goto permission_denied; + else if (errno == ENOENT) + goto not_found; + else + goto no_handle; + } raw1394_set_userdata (src->handle, src); @@ -708,10 +714,20 @@ socket_pair: GST_ERROR_SYSTEM); return FALSE; } +permission_denied: + { + GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL), GST_ERROR_SYSTEM); + return FALSE; + } +not_found: + { + GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, (NULL), GST_ERROR_SYSTEM); + return FALSE; + } no_handle: { - GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, (NULL), - ("can't get raw1394 handle")); + GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL), + ("can't get raw1394 handle (%s)", g_strerror (errno))); return FALSE; } no_ports: