[PATCH] Move error code definitions from libavcodec/avcodec.h to libavutil/error.h, and mark the old definitions to be dropped at the next major bump.
Stefano Sabatini
stefano.sabatini-lala
Sun Mar 7 15:15:00 CET 2010
Error code definitions and handling code belong to libavutil, where
they can be shared by all the libav* libraries.
---
libavcodec/avcodec.h | 5 ++---
libavutil/Makefile | 1 +
libavutil/avutil.h | 3 ++-
libavutil/error.h | 42 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 47 insertions(+), 4 deletions(-)
create mode 100644 libavutil/error.h
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 3d162d7..465669b 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -3810,13 +3810,12 @@ int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str);
*/
int av_parse_video_frame_rate(AVRational *frame_rate, const char *str);
+#if LIBAVCODEC_VERSION_MAJOR < 53
/* 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 */
@@ -3828,7 +3827,7 @@ int av_parse_video_frame_rate(AVRational *frame_rate, const char *str);
#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
/**
* Logs a generic warning message about a missing feature. This function is
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 790c66e..25c2bfd 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -8,6 +8,7 @@ HEADERS = adler32.h \
base64.h \
common.h \
crc.h \
+ error.h \
fifo.h \
intfloat_readwrite.h \
log.h \
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index d44a906..47630a7 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -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_configuration(void);
const char *avutil_license(void);
#include "common.h"
+#include "error.h"
#include "mathematics.h"
#include "rational.h"
#include "intfloat_readwrite.h"
diff --git a/libavutil/error.h b/libavutil/error.h
new file mode 100644
index 0000000..d9047fb
--- /dev/null
+++ b/libavutil/error.h
@@ -0,0 +1,42 @@
+/*
+ * 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 codes definition
+ */
+
+#ifndef AVUTIL_ERROR_H
+#define AVUTIL_ERROR_H
+
+/** Returns a negative error code corresponding to a POSIX error code, to return from library functions. */
+#if EINVAL > 0
+#define AVERROR(e) (-(e))
+#else
+/* Some platforms have E* and errno already negated. */
+#define AVERROR(e) (e)
+#endif
+
+/* FFmpeg specific error codes */
+#define AVERROR_PATCHWELCOME (-MKTAG('P','A','W','E')) ///< Not yet implemented in FFmpeg. Patches welcome.
+#define AVERROR_BIKESHED (-MKTAG('B','I','S','H')) ///< Invalid argument or color or flavor. Mine is better.
+#if 0 // enable by hand when LIBAVCODEC_VERSION_MAJOR == 53
+#define AVERROR_EOF (-MKTAG('E','O','F','_')) ///< End of file.
+#endif
+
+#endif /* AVUTIL_ERROR_H */
--
1.6.6.1
--ZoaI/ZTpAVc4A5k6--
More information about the ffmpeg-devel
mailing list