• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • Examples
  • File List
  • Globals

libavutil/error.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of FFmpeg.
00003  *
00004  * FFmpeg is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * FFmpeg is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with FFmpeg; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00017  */
00018 
00024 #ifndef AVUTIL_ERROR_H
00025 #define AVUTIL_ERROR_H
00026 
00027 #include <errno.h>
00028 #include "avutil.h"
00029 
00030 /* error handling */
00031 #if EDOM > 0
00032 #define AVERROR(e) (-(e))   ///< Returns a negative error code from a POSIX error code, to return from library functions.
00033 #define AVUNERROR(e) (-(e)) ///< Returns a POSIX error code from a library function error return value.
00034 #else
00035 /* Some platforms have E* and errno already negated. */
00036 #define AVERROR(e) (e)
00037 #define AVUNERROR(e) (e)
00038 #endif
00039 
00040 #if LIBAVUTIL_VERSION_MAJOR < 51
00041 #define AVERROR_INVALIDDATA AVERROR(EINVAL)  ///< Invalid data found when processing input
00042 #define AVERROR_IO          AVERROR(EIO)     ///< I/O error
00043 #define AVERROR_NOENT       AVERROR(ENOENT)  ///< No such file or directory
00044 #define AVERROR_NOFMT       AVERROR(EILSEQ)  ///< Unknown format
00045 #define AVERROR_NOMEM       AVERROR(ENOMEM)  ///< Not enough memory
00046 #define AVERROR_NOTSUPP     AVERROR(ENOSYS)  ///< Operation not supported
00047 #define AVERROR_NUMEXPECTED AVERROR(EDOM)    ///< Number syntax expected in filename
00048 #define AVERROR_UNKNOWN     AVERROR(EINVAL)  ///< Unknown error
00049 #endif
00050 
00051 #define AVERROR_EOF         AVERROR(EPIPE)   ///< End of file
00052 
00053 #define AVERROR_PATCHWELCOME    (-MKTAG('P','A','W','E')) ///< Not yet implemented in Libav, patches welcome
00054 
00055 #if LIBAVUTIL_VERSION_MAJOR > 50
00056 #define AVERROR_INVALIDDATA     (-MKTAG('I','N','D','A')) ///< Invalid data found when processing input
00057 #define AVERROR_NUMEXPECTED     (-MKTAG('N','U','E','X')) ///< Number syntax expected in filename
00058 #endif
00059 
00060 #define AVERROR_DEMUXER_NOT_FOUND  (-MKTAG(0xF8,'D','E','M')) ///< Demuxer not found
00061 #define AVERROR_MUXER_NOT_FOUND    (-MKTAG(0xF8,'M','U','X')) ///< Muxer not found
00062 
00063 #define AVERROR_BSF_NOT_FOUND      (-MKTAG(0xF8,'B','S','F')) ///< Bitstream filter not found
00064 #define AVERROR_DECODER_NOT_FOUND  (-MKTAG(0xF8,'D','E','C')) ///< Decoder not found
00065 #define AVERROR_DEMUXER_NOT_FOUND  (-MKTAG(0xF8,'D','E','M')) ///< Demuxer not found
00066 #define AVERROR_ENCODER_NOT_FOUND  (-MKTAG(0xF8,'E','N','C')) ///< Encoder not found
00067 #define AVERROR_EXIT               (-MKTAG( 'E','X','I','T')) ///< Immediate exit was requested; the called function should not be restarted
00068 #define AVERROR_FILTER_NOT_FOUND   (-MKTAG(0xF8,'F','I','L')) ///< Filter not found
00069 #define AVERROR_MUXER_NOT_FOUND    (-MKTAG(0xF8,'M','U','X')) ///< Muxer not found
00070 #define AVERROR_OPTION_NOT_FOUND   (-MKTAG(0xF8,'O','P','T')) ///< Option not found
00071 #define AVERROR_PROTOCOL_NOT_FOUND (-MKTAG(0xF8,'P','R','O')) ///< Protocol not found
00072 #define AVERROR_STREAM_NOT_FOUND   (-MKTAG(0xF8,'S','T','R')) ///< Stream not found
00073 
00086 int av_strerror(int errnum, char *errbuf, size_t errbuf_size);
00087 
00088 #endif /* AVUTIL_ERROR_H */

Generated on Wed Apr 11 2012 07:31:32 for FFmpeg by  doxygen 1.7.1