changeset 877:51fd7ea406a1 libavutil

Move error code definitions from libavcodec/avcodec.h to libavutil/error.h. Error code definitions and handling code belong to libavutil, where they can be shared by all the libav* libraries. See the thread: Subject: [FFmpeg-devel] [PATCH] Move error codes definitions from lavc to lavu Date: Sun, 19 Jul 2009 12:09:16 +0200
author stefano
date Sat, 13 Mar 2010 09:43:24 +0000
parents 0cf8e33624d0
children 1380f7caffd6
files Makefile avutil.h error.h
diffstat 3 files changed, 50 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Thu Mar 11 02:32:14 2010 +0000
+++ b/Makefile	Sat Mar 13 09:43:24 2010 +0000
@@ -9,6 +9,7 @@
           base64.h                                                      \
           common.h                                                      \
           crc.h                                                         \
+          error.h                                                       \
           fifo.h                                                        \
           intfloat_readwrite.h                                          \
           log.h                                                         \
--- a/avutil.h	Thu Mar 11 02:32:14 2010 +0000
+++ b/avutil.h	Sat Mar 13 09:43:24 2010 +0000
@@ -40,7 +40,7 @@
 #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
 
 #define LIBAVUTIL_VERSION_MAJOR 50
-#define LIBAVUTIL_VERSION_MINOR 11
+#define LIBAVUTIL_VERSION_MINOR 12
 #define LIBAVUTIL_VERSION_MICRO  0
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -69,6 +69,7 @@
 const char *avutil_license(void);
 
 #include "common.h"
+#include "error.h"
 #include "mathematics.h"
 #include "rational.h"
 #include "intfloat_readwrite.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/error.h	Sat Mar 13 09:43:24 2010 +0000
@@ -0,0 +1,47 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file libavutil/error.h
+ * error code definitions
+ */
+
+#ifndef AVUTIL_ERROR_H
+#define AVUTIL_ERROR_H
+
+/* error handling */
+#if EINVAL > 0
+#define AVERROR(e) (-(e)) /**< Returns a negative error code from a POSIX error code, to return from library functions. */
+#define AVUNERROR(e) (-(e)) /**< Returns a POSIX error code from a library function error return value. */
+#else
+/* Some platforms have E* and errno already negated. */
+#define AVERROR(e) (e)
+#define AVUNERROR(e) (e)
+#endif
+#define AVERROR_UNKNOWN     AVERROR(EINVAL)  /**< unknown error */
+#define AVERROR_IO          AVERROR(EIO)     /**< I/O error */
+#define AVERROR_NUMEXPECTED AVERROR(EDOM)    /**< Number syntax expected in filename. */
+#define AVERROR_INVALIDDATA AVERROR(EINVAL)  /**< invalid data found */
+#define AVERROR_NOMEM       AVERROR(ENOMEM)  /**< not enough memory */
+#define AVERROR_NOFMT       AVERROR(EILSEQ)  /**< unknown format */
+#define AVERROR_NOTSUPP     AVERROR(ENOSYS)  /**< Operation not supported. */
+#define AVERROR_NOENT       AVERROR(ENOENT)  /**< No such file or directory. */
+#define AVERROR_EOF         AVERROR(EPIPE)   /**< End of file. */
+#define AVERROR_PATCHWELCOME    -MKTAG('P','A','W','E') /**< Not yet implemented in FFmpeg. Patches welcome. */
+
+#endif /* AVUTIL_ERROR_H */