*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_ERROR_H__
* @GST_CORE_ERROR_SEEK: used for seek-related errors.
* @GST_CORE_ERROR_CAPS: used for caps-related errors.
* @GST_CORE_ERROR_TAG: used for negotiation-related errors.
+ * @GST_CORE_ERROR_MISSING_PLUGIN: used if a plugin is missing.
+ * @GST_CORE_ERROR_CLOCK: used for clock related errors.
+ * @GST_CORE_ERROR_DISABLED: used if functionality has been disabled at
+ * compile time.
* @GST_CORE_ERROR_NUM_ERRORS: the number of core error types.
*
* Core errors are errors inside the core GStreamer library.
- * the core GStreamer library
*/
/* FIXME: should we divide in numerical blocks so we can easily add
for example PAD errors later ? */
GST_CORE_ERROR_SEEK,
GST_CORE_ERROR_CAPS,
GST_CORE_ERROR_TAG,
+ GST_CORE_ERROR_MISSING_PLUGIN,
+ GST_CORE_ERROR_CLOCK,
+ GST_CORE_ERROR_DISABLED,
GST_CORE_ERROR_NUM_ERRORS
} GstCoreError;
* @GST_RESOURCE_ERROR_WRITE: used when the resource can't be written to.
* @GST_RESOURCE_ERROR_SEEK: used when a seek on the resource fails.
* @GST_RESOURCE_ERROR_SYNC: used when a synchronize on the resource fails.
- * @GST_RESOURCE_ERROR_SETTINGS: used when settings can't be manipulated on
- * @GST_RESOURCE_ERROR_NUM_ERRORS: the number of library error types.
+ * @GST_RESOURCE_ERROR_SETTINGS: used when settings can't be manipulated on.
+ * @GST_RESOURCE_ERROR_NO_SPACE_LEFT: used when the resource has no space left.
+ * @GST_RESOURCE_ERROR_NOT_AUTHORIZED: used when the resource can't be opened
+ * due to missing authorization.
+ * (Since 1.2.4)
+ * @GST_RESOURCE_ERROR_NUM_ERRORS: the number of resource error types.
*
* Resource errors are for any resource used by an element:
* memory, files, network connections, process space, ...
GST_RESOURCE_ERROR_SEEK,
GST_RESOURCE_ERROR_SYNC,
GST_RESOURCE_ERROR_SETTINGS,
+ GST_RESOURCE_ERROR_NO_SPACE_LEFT,
+ GST_RESOURCE_ERROR_NOT_AUTHORIZED,
GST_RESOURCE_ERROR_NUM_ERRORS
} GstResourceError;
* @GST_STREAM_ERROR_MUX: used when muxing fails.
* @GST_STREAM_ERROR_FORMAT: used when the stream is of the wrong format
* (for example, wrong caps).
- * @GST_STREAM_ERROR_STOPPED: Streaming stopped.
- * @GST_STREAM_ERROR_NUM_ERRORS: the number of library error types.
+ * @GST_STREAM_ERROR_DECRYPT: used when the stream is encrypted and can't be
+ * decrypted because this is not supported by the element.
+ * @GST_STREAM_ERROR_DECRYPT_NOKEY: used when the stream is encrypted and
+ * can't be decrypted because no suitable key is available.
+ * @GST_STREAM_ERROR_NUM_ERRORS: the number of stream error types.
*
* Stream errors are for anything related to the stream being processed:
* format errors, media type errors, ...
GST_STREAM_ERROR_DEMUX,
GST_STREAM_ERROR_MUX,
GST_STREAM_ERROR_FORMAT,
- GST_STREAM_ERROR_STOPPED,
+ GST_STREAM_ERROR_DECRYPT,
+ GST_STREAM_ERROR_DECRYPT_NOKEY,
GST_STREAM_ERROR_NUM_ERRORS
} GstStreamError;
-#define GST_TYPE_G_ERROR (gst_g_error_get_type ())
-
/**
* GST_LIBRARY_ERROR:
*
#define GST_STREAM_ERROR gst_stream_error_quark ()
/**
- * GST_ERROR_SYSTEM:
+ * GST_ERROR_SYSTEM: (skip):
*
- * Generates an human readable error message out of an errno number.
+ * Builds a string using errno describing the previously failed system
+ * call. To be used as the debug argument in #GST_ELEMENT_ERROR.
*/
#define GST_ERROR_SYSTEM ("system error: %s", g_strerror (errno))
-GType gst_g_error_get_type (void);
+GST_API
gchar *gst_error_get_message (GQuark domain, gint code);
+
+GST_API
GQuark gst_stream_error_quark (void);
+
+GST_API
GQuark gst_core_error_quark (void);
+
+GST_API
GQuark gst_resource_error_quark (void);
+
+GST_API
GQuark gst_library_error_quark (void);
G_END_DECLS