aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrançois Revol <revol@free.fr>2007-02-13 18:26:14 +0000
committerFrançois Revol <revol@free.fr>2007-02-13 18:26:14 +0000
commit8fa36ae09dddb1b639b4df5d505c0dbcf4e916e4 (patch)
tree551ead2b59bdc4b1855fb60d6c2ce6a2c7787f15
parentbcdf0d269748e2059ffa789033cd6e41739891fc (diff)
downloadffmpeg-8fa36ae09dddb1b639b4df5d505c0dbcf4e916e4.tar.gz
This fixes error handling for BeOS, removing the need for some ifdefs.
AVERROR_ defines are moved to avcodec.h as they are needed in there as well. Feel free to move that to avutil/common.h. Bumped up avcodec/format version numbers as though it's binary compatible we will want to rebuild apps as error values changed. Please from now on use return AVERROR(EFOO) instead of the ugly return -EFOO in your code. This also removes the need for berrno.h. Originally committed as revision 7965 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--ffmpeg.c8
-rw-r--r--libavcodec/avcodec.h21
-rw-r--r--libavcodec/dv.c4
-rw-r--r--libavcodec/g726.c2
-rw-r--r--libavcodec/gifdec.c2
-rw-r--r--libavcodec/sonic.c2
-rw-r--r--libavformat/audio.c2
-rw-r--r--libavformat/avformat.h12
-rw-r--r--libavformat/avio.c10
-rw-r--r--libavformat/avio.h4
-rw-r--r--libavformat/aviobuf.c10
-rw-r--r--libavformat/beosaudio.cpp22
-rw-r--r--libavformat/ffm.c8
-rw-r--r--libavformat/file.c2
-rw-r--r--libavformat/framehook.c8
-rw-r--r--libavformat/gifdec.c6
-rw-r--r--libavformat/grab.c2
-rw-r--r--libavformat/grab_bktr.c6
-rw-r--r--libavformat/http.c2
-rw-r--r--libavformat/img2.c2
-rw-r--r--libavformat/mpeg.c2
-rw-r--r--libavformat/mpegts.c2
-rw-r--r--libavformat/rtpproto.c2
-rw-r--r--libavformat/smacker.c2
-rw-r--r--libavformat/sol.c2
-rw-r--r--libavformat/tcp.c23
-rw-r--r--libavformat/udp.c2
-rw-r--r--libavformat/utils.c6
-rw-r--r--libavformat/v4l2.c2
-rw-r--r--libavformat/wv.c2
-rw-r--r--libavformat/x11grab.c4
-rw-r--r--libavutil/common.h6
32 files changed, 93 insertions, 97 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index 238109d94c..a98c7e9b7d 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1797,12 +1797,12 @@ static int av_encode(AVFormatContext **output_files,
int in_file_index = meta_data_maps[i].in_file;
if ( out_file_index < 0 || out_file_index >= nb_output_files ) {
fprintf(stderr, "Invalid output file index %d map_meta_data(%d,%d)\n", out_file_index, out_file_index, in_file_index);
- ret = -EINVAL;
+ ret = AVERROR(EINVAL);
goto fail;
}
if ( in_file_index < 0 || in_file_index >= nb_input_files ) {
fprintf(stderr, "Invalid input file index %d map_meta_data(%d,%d)\n", in_file_index, out_file_index, in_file_index);
- ret = -EINVAL;
+ ret = AVERROR(EINVAL);
goto fail;
}
@@ -1824,7 +1824,7 @@ static int av_encode(AVFormatContext **output_files,
os = output_files[i];
if (av_write_header(os) < 0) {
fprintf(stderr, "Could not write header for output file #%d (incorrect codec parameters ?)\n", i);
- ret = -EINVAL;
+ ret = AVERROR(EINVAL);
goto fail;
}
}
@@ -2027,7 +2027,7 @@ static int av_encode(AVFormatContext **output_files,
}
return ret;
fail:
- ret = -ENOMEM;
+ ret = AVERROR(ENOMEM);
goto fail1;
}
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 2773c50ac9..1a86a1d270 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -37,8 +37,8 @@ extern "C" {
#define AV_STRINGIFY(s) AV_TOSTRING(s)
#define AV_TOSTRING(s) #s
-#define LIBAVCODEC_VERSION_INT ((51<<16)+(32<<8)+0)
-#define LIBAVCODEC_VERSION 51.32.0
+#define LIBAVCODEC_VERSION_INT ((51<<16)+(33<<8)+0)
+#define LIBAVCODEC_VERSION 51.33.0
#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT
#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
@@ -2699,6 +2699,23 @@ int img_pad(AVPicture *dst, const AVPicture *src, int height, int width, int pix
extern unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
+/* 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 */
+
#ifdef __cplusplus
}
#endif
diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index 505c88d494..b5f15df27a 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -125,7 +125,7 @@ static int dvvideo_init(AVCodecContext *avctx)
dv_vlc_map = av_mallocz_static(DV_VLC_MAP_LEV_SIZE*DV_VLC_MAP_RUN_SIZE*sizeof(struct dv_vlc_pair));
if (!dv_vlc_map)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
/* dv_anchor lets each thread know its Id */
for (i=0; i<DV_ANCHOR_SIZE; i++)
@@ -157,7 +157,7 @@ static int dvvideo_init(AVCodecContext *avctx)
dv_rl_vlc = av_mallocz_static(dv_vlc.table_size * sizeof(RL_VLC_ELEM));
if (!dv_rl_vlc)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
for(i = 0; i < dv_vlc.table_size; i++){
int code= dv_vlc.table[i][0];
diff --git a/libavcodec/g726.c b/libavcodec/g726.c
index c509292b6a..11417442a2 100644
--- a/libavcodec/g726.c
+++ b/libavcodec/g726.c
@@ -341,7 +341,7 @@ static int g726_init(AVCodecContext * avctx)
avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
avctx->coded_frame->key_frame = 1;
return 0;
diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c
index 5a5712299e..3debe04acb 100644
--- a/libavcodec/gifdec.c
+++ b/libavcodec/gifdec.c
@@ -87,7 +87,7 @@ static int gif_read_image(GifState *s)
/* verify that all the image is inside the screen dimensions */
if (left + width > s->screen_width ||
top + height > s->screen_height)
- return -EINVAL;
+ return AVERROR(EINVAL);
/* build the palette */
n = (1 << bits_per_pixel);
diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index 2f798cc039..f3388589b6 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -601,7 +601,7 @@ static int sonic_encode_init(AVCodecContext *avctx)
avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
avctx->coded_frame->key_frame = 1;
avctx->frame_size = s->block_align*s->downsampling;
diff --git a/libavformat/audio.c b/libavformat/audio.c
index faa0a8b546..52f74db391 100644
--- a/libavformat/audio.c
+++ b/libavformat/audio.c
@@ -224,7 +224,7 @@ static int audio_read_header(AVFormatContext *s1, AVFormatParameters *ap)
st = av_new_stream(s1, 0);
if (!st) {
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
s->sample_rate = ap->sample_rate;
s->channels = ap->channels;
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 876799de7a..636748c6d1 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -25,8 +25,8 @@
extern "C" {
#endif
-#define LIBAVFORMAT_VERSION_INT ((51<<16)+(9<<8)+0)
-#define LIBAVFORMAT_VERSION 51.9.0
+#define LIBAVFORMAT_VERSION_INT ((51<<16)+(10<<8)+0)
+#define LIBAVFORMAT_VERSION 51.10.0
#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
@@ -433,14 +433,6 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
/* no av_open for output, so applications will need this: */
AVFormatContext *av_alloc_format_context(void);
-#define AVERROR_UNKNOWN (-1) /* unknown error */
-#define AVERROR_IO (-2) /* i/o error */
-#define AVERROR_NUMEXPECTED (-3) /* number syntax expected in filename */
-#define AVERROR_INVALIDDATA (-4) /* invalid data found */
-#define AVERROR_NOMEM (-5) /* not enough memory */
-#define AVERROR_NOFMT (-6) /* unknown format */
-#define AVERROR_NOTSUPP (-7) /* operation not supported */
-
int av_find_stream_info(AVFormatContext *ic);
int av_read_packet(AVFormatContext *s, AVPacket *pkt);
int av_read_frame(AVFormatContext *s, AVPacket *pkt);
diff --git a/libavformat/avio.c b/libavformat/avio.c
index 0dd7e63f2a..4d432a2c08 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -67,12 +67,12 @@ int url_open(URLContext **puc, const char *filename, int flags)
goto found;
up = up->next;
}
- err = -ENOENT;
+ err = AVERROR(ENOENT);
goto fail;
found:
uc = av_malloc(sizeof(URLContext) + strlen(filename) + 1);
if (!uc) {
- err = -ENOMEM;
+ err = AVERROR(ENOMEM);
goto fail;
}
#if LIBAVFORMAT_VERSION_INT >= (52<<16)
@@ -124,7 +124,7 @@ offset_t url_seek(URLContext *h, offset_t pos, int whence)
offset_t ret;
if (!h->prot->url_seek)
- return -EPIPE;
+ return AVERROR(EPIPE);
ret = h->prot->url_seek(h, pos, whence);
return ret;
}
@@ -188,8 +188,8 @@ static int default_interrupt_cb(void)
/**
* The callback is called in blocking functions to test regulary if
- * asynchronous interruption is needed. -EINTR is returned in this
- * case by the interrupted function. 'NULL' means no interrupt
+ * asynchronous interruption is needed. AVERROR(EINTR) is returned
+ * in this case by the interrupted function. 'NULL' means no interrupt
* callback is given.
*/
void url_set_interrupt_cb(URLInterruptCB *interrupt_cb)
diff --git a/libavformat/avio.h b/libavformat/avio.h
index f44d52694f..8770ff5188 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -65,8 +65,8 @@ int url_get_max_packet_size(URLContext *h);
void url_get_filename(URLContext *h, char *buf, int buf_size);
/* the callback is called in blocking functions to test regulary if
- asynchronous interruption is needed. -EINTR is returned in this
- case by the interrupted function. 'NULL' means no interrupt
+ asynchronous interruption is needed. AVERROR(EINTR) is returned
+ in this case by the interrupted function. 'NULL' means no interrupt
callback is given. */
void url_set_interrupt_cb(URLInterruptCB *interrupt_cb);
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index ca93c64c84..e5aff97aee 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -117,7 +117,7 @@ offset_t url_fseek(ByteIOContext *s, offset_t offset, int whence)
offset_t pos= s->pos - (s->write_flag ? 0 : (s->buf_end - s->buffer));
if (whence != SEEK_CUR && whence != SEEK_SET)
- return -EINVAL;
+ return AVERROR(EINVAL);
if (whence == SEEK_CUR) {
offset1 = pos + (s->buf_ptr - s->buffer);
@@ -136,7 +136,7 @@ offset_t url_fseek(ByteIOContext *s, offset_t offset, int whence)
fill_buffer(s);
s->buf_ptr = s->buf_end + offset - s->pos;
} else {
- offset_t res = -EPIPE;
+ offset_t res = AVERROR(EPIPE);
#if defined(CONFIG_MUXERS) || defined(CONFIG_NETWORK)
if (s->write_flag) {
@@ -171,7 +171,7 @@ offset_t url_fsize(ByteIOContext *s)
offset_t size;
if (!s->seek)
- return -EPIPE;
+ return AVERROR(EPIPE);
size = s->seek(s->opaque, 0, AVSEEK_SIZE);
if(size<0){
if ((size = s->seek(s->opaque, -1, SEEK_END)) < 0)
@@ -511,7 +511,7 @@ int url_fdopen(ByteIOContext *s, URLContext *h)
}
buffer = av_malloc(buffer_size);
if (!buffer)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
if (init_put_byte(s, buffer, buffer_size,
(h->flags & URL_WRONLY || h->flags & URL_RDWR), h,
@@ -530,7 +530,7 @@ int url_setbufsize(ByteIOContext *s, int buf_size)
uint8_t *buffer;
buffer = av_malloc(buf_size);
if (!buffer)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
av_free(s->buffer);
s->buffer = buffer;
diff --git a/libavformat/beosaudio.cpp b/libavformat/beosaudio.cpp
index 6ac45ebb29..ae77809747 100644
--- a/libavformat/beosaudio.cpp
+++ b/libavformat/beosaudio.cpp
@@ -194,15 +194,15 @@ static int audio_open(AudioData *s, int is_output, const char *audio_device)
#ifndef HAVE_BSOUNDRECORDER
if (!is_output)
- return -EIO; /* not for now */
+ return AVERROR(EIO); /* not for now */
#endif
s->input_sem = create_sem(AUDIO_BUFFER_SIZE, "ffmpeg_ringbuffer_input");
if (s->input_sem < B_OK)
- return -EIO;
+ return AVERROR(EIO);
s->output_sem = create_sem(0, "ffmpeg_ringbuffer_output");
if (s->output_sem < B_OK) {
delete_sem(s->input_sem);
- return -EIO;
+ return AVERROR(EIO);
}
s->input_index = 0;
s->output_index = 0;
@@ -226,7 +226,7 @@ static int audio_open(AudioData *s, int is_output, const char *audio_device)
delete_sem(s->input_sem);
if (s->output_sem)
delete_sem(s->output_sem);
- return -EIO;
+ return AVERROR(EIO);
}
s->codec_id = (iformat.byte_order == B_MEDIA_LITTLE_ENDIAN)?CODEC_ID_PCM_S16LE:CODEC_ID_PCM_S16BE;
s->channels = iformat.channel_count;
@@ -252,7 +252,7 @@ static int audio_open(AudioData *s, int is_output, const char *audio_device)
delete_sem(s->input_sem);
if (s->output_sem)
delete_sem(s->output_sem);
- return -EIO;
+ return AVERROR(EIO);
}
s->player->SetCookie(s);
s->player->SetVolume(1.0);
@@ -293,7 +293,7 @@ static int audio_write_header(AVFormatContext *s1)
s->channels = st->codec->channels;
ret = audio_open(s, 1, NULL);
if (ret < 0)
- return -EIO;
+ return AVERROR(EIO);
return 0;
}
@@ -315,7 +315,7 @@ lat1 = s->player->Latency();
int amount;
len = MIN(size, AUDIO_BLOCK_SIZE);
if (acquire_sem_etc(s->input_sem, len, B_CAN_INTERRUPT, 0LL) < B_OK)
- return -EIO;
+ return AVERROR(EIO);
amount = MIN(len, (AUDIO_BUFFER_SIZE - s->input_index));
memcpy(&s->buffer[s->input_index], buf, amount);
s->input_index += amount;
@@ -356,7 +356,7 @@ static int audio_read_header(AVFormatContext *s1, AVFormatParameters *ap)
st = av_new_stream(s1, 0);
if (!st) {
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
s->sample_rate = ap->sample_rate;
s->channels = ap->channels;
@@ -364,7 +364,7 @@ static int audio_read_header(AVFormatContext *s1, AVFormatParameters *ap)
ret = audio_open(s, 0, ap->device);
if (ret < 0) {
av_free(st);
- return -EIO;
+ return AVERROR(EIO);
}
/* take real parameters */
st->codec->codec_type = CODEC_TYPE_AUDIO;
@@ -384,7 +384,7 @@ static int audio_read_packet(AVFormatContext *s1, AVPacket *pkt)
status_t err;
if (av_new_packet(pkt, s->frame_size) < 0)
- return -EIO;
+ return AVERROR(EIO);
buf = (unsigned char *)pkt->data;
size = pkt->size;
while (size > 0) {
@@ -393,7 +393,7 @@ static int audio_read_packet(AVFormatContext *s1, AVPacket *pkt)
while ((err=acquire_sem_etc(s->output_sem, len, B_CAN_INTERRUPT, 0LL)) == B_INTERRUPTED);
if (err < B_OK) {
av_free_packet(pkt);
- return -EIO;
+ return AVERROR(EIO);
}
amount = MIN(len, (AUDIO_BUFFER_SIZE - s->output_index));
memcpy(buf, &s->buffer[s->output_index], amount);
diff --git a/libavformat/ffm.c b/libavformat/ffm.c
index 6d45326190..cc7c6aac16 100644
--- a/libavformat/ffm.c
+++ b/libavformat/ffm.c
@@ -579,7 +579,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt)
switch(ffm->read_state) {
case READ_HEADER:
if (!ffm_is_avail_data(s, FRAME_HEADER_SIZE)) {
- return -EAGAIN;
+ return AVERROR(EAGAIN);
}
#if 0
printf("pos=%08"PRIx64" spos=%"PRIx64", write_index=%"PRIx64" size=%"PRIx64"\n",
@@ -587,7 +587,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt)
#endif
if (ffm_read_data(s, ffm->header, FRAME_HEADER_SIZE, 1) !=
FRAME_HEADER_SIZE)
- return -EAGAIN;
+ return AVERROR(EAGAIN);
#if 0
{
int i;
@@ -601,7 +601,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt)
case READ_DATA:
size = (ffm->header[2] << 16) | (ffm->header[3] << 8) | ffm->header[4];
if (!ffm_is_avail_data(s, size)) {
- return -EAGAIN;
+ return AVERROR(EAGAIN);
}
duration = (ffm->header[5] << 16) | (ffm->header[6] << 8) | ffm->header[7];
@@ -616,7 +616,7 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt)
if (ffm_read_data(s, pkt->data, size, 0) != size) {
/* bad case: desynchronized packet. we cancel all the packet loading */
av_free_packet(pkt);
- return -EAGAIN;
+ return AVERROR(EAGAIN);
}
if (ffm->first_frame_in_packet)
{
diff --git a/libavformat/file.c b/libavformat/file.c
index e291006021..3caf80a61b 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -45,7 +45,7 @@ static int file_open(URLContext *h, const char *filename, int flags)
#endif
fd = open(filename, access, 0666);
if (fd < 0)
- return -ENOENT;
+ return AVERROR(ENOENT);
h->priv_data = (void *)(size_t)fd;
return 0;
}
diff --git a/libavformat/framehook.c b/libavformat/framehook.c
index e9a11af9ae..8f5ddd66f8 100644
--- a/libavformat/framehook.c
+++ b/libavformat/framehook.c
@@ -57,7 +57,7 @@ int frame_hook_add(int argc, char *argv[])
fhe = av_mallocz(sizeof(*fhe));
if (!fhe) {
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
fhe->Configure = dlsym(loaded, "Configure");
@@ -66,18 +66,18 @@ int frame_hook_add(int argc, char *argv[])
if (!fhe->Process) {
av_log(NULL, AV_LOG_ERROR, "Failed to find Process entrypoint in %s\n", argv[0]);
- return -1;
+ return AVERROR(ENOENT);
}
if (!fhe->Configure && argc > 1) {
av_log(NULL, AV_LOG_ERROR, "Failed to find Configure entrypoint in %s\n", argv[0]);
- return -1;
+ return AVERROR(ENOENT);
}
if (argc > 1 || fhe->Configure) {
if (fhe->Configure(&fhe->ctx, argc, argv)) {
av_log(NULL, AV_LOG_ERROR, "Failed to Configure %s\n", argv[0]);
- return -1;
+ return AVERROR(EINVAL);
}
}
diff --git a/libavformat/gifdec.c b/libavformat/gifdec.c
index 692ca6466d..1d31211f6c 100644
--- a/libavformat/gifdec.c
+++ b/libavformat/gifdec.c
@@ -305,13 +305,13 @@ static int gif_read_image(GifState *s)
/* verify that all the image is inside the screen dimensions */
if (left + width > s->screen_width ||
top + height > s->screen_height)
- return -EINVAL;
+ return AVERROR(EINVAL);
/* build the palette */
if (s->pix_fmt == PIX_FMT_RGB24) {
line = av_malloc(width);
if (!line)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
} else {
n = (1 << bits_per_pixel);
spal = palette;
@@ -537,7 +537,7 @@ static int gif_read_header(AVFormatContext * s1,
s->image_linesize = s->screen_width * 3;
s->image_buf = av_malloc(s->screen_height * s->image_linesize);
if (!s->image_buf)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
s->pix_fmt = PIX_FMT_RGB24;
/* now we are ready: build format streams */
st = av_new_stream(s1, 0);
diff --git a/libavformat/grab.c b/libavformat/grab.c
index 4395c18846..11acdac3b1 100644
--- a/libavformat/grab.c
+++ b/libavformat/grab.c
@@ -92,7 +92,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
st = av_new_stream(s1, 0);
if (!st)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
av_set_pts_info(st, 64, 1, 1000000); /* 64 bits pts in us */
s->width = width;
diff --git a/libavformat/grab_bktr.c b/libavformat/grab_bktr.c
index eea221cdd6..86348af5b1 100644
--- a/libavformat/grab_bktr.c
+++ b/libavformat/grab_bktr.c
@@ -225,7 +225,7 @@ static int grab_read_packet(AVFormatContext *s1, AVPacket *pkt)
VideoData *s = s1->priv_data;
if (av_new_packet(pkt, video_buf_size) < 0)
- return -EIO;
+ return AVERROR(EIO);
bktr_getframe(s->per_frame);
@@ -259,7 +259,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
st = av_new_stream(s1, 0);
if (!st)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
av_set_pts_info(st, 64, 1, 1000000); /* 64 bits pts in use */
s->width = width;
@@ -287,7 +287,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
if (bktr_init(video_device, width, height, format,
&(s->video_fd), &(s->tuner_fd), -1, 0.0) < 0)
- return -EIO;
+ return AVERROR(EIO);
nsignals = 0;
last_frame_time = 0;
diff --git a/libavformat/http.c b/libavformat/http.c
index 2d8098838f..1284c31de8 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -120,7 +120,7 @@ static int http_open(URLContext *h, const char *uri, int flags)
s = av_malloc(sizeof(HTTPContext));
if (!s) {
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
h->priv_data = s;
s->filesize = -1;
diff --git a/libavformat/img2.c b/libavformat/img2.c
index c2538d1e98..fa67ee7423 100644
--- a/libavformat/img2.c
+++ b/libavformat/img2.c
@@ -177,7 +177,7 @@ static int img_read_header(AVFormatContext *s1, AVFormatParameters *ap)
st = av_new_stream(s1, 0);
if (!st) {
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
pstrcpy(s->path, sizeof(s->path), s1->filename);
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index 06f27a9a30..ae47fa60ac 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -513,7 +513,7 @@ static int mpeg_mux_init(AVFormatContext *ctx)
for(i=0;i<ctx->nb_streams;i++) {
av_free(ctx->streams[i]->priv_data);
}
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
static inline void put_timestamp(ByteIOContext *pb, int id, int64_t timestamp)
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index c4d790d6f8..ae6d3aa26c 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1357,7 +1357,7 @@ static int mpegts_raw_read_packet(AVFormatContext *s,
uint8_t pcr_buf[12];
if (av_new_packet(pkt, TS_PACKET_SIZE) < 0)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
pkt->pos= url_ftell(&s->pb);
ret = read_packet(&s->pb, pkt->data, ts->raw_packet_size);
if (ret < 0) {
diff --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c
index 6804510b1d..c2f92b6e88 100644
--- a/libavformat/rtpproto.c
+++ b/libavformat/rtpproto.c
@@ -113,7 +113,7 @@ static int rtp_open(URLContext *h, const char *uri, int flags)
s = av_mallocz(sizeof(RTPContext));
if (!s)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
h->priv_data = s;
url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
diff --git a/libavformat/smacker.c b/libavformat/smacker.c
index 0658c9ae3f..04fde3d037 100644
--- a/libavformat/smacker.c
+++ b/libavformat/smacker.c
@@ -226,7 +226,7 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt)
int pos;
if (url_feof(&s->pb) || smk->cur_frame >= smk->frames)
- return -EIO;
+ return AVERROR(EIO);
/* if we demuxed all streams, pass another frame */
if(smk->curstream < 0) {
diff --git a/libavformat/sol.c b/libavformat/sol.c
index 20e45f75d2..8c2ea4340e 100644
--- a/libavformat/sol.c
+++ b/libavformat/sol.c
@@ -133,7 +133,7 @@ static int sol_read_packet(AVFormatContext *s,
int ret;
if (url_feof(&s->pb))
- return -EIO;
+ return AVERROR(EIO);
ret= av_get_packet(&s->pb, pkt, MAX_SIZE);
pkt->stream_index = 0;
diff --git a/libavformat/tcp.c b/libavformat/tcp.c
index be8a4bb0bb..fa9e13587f 100644
--- a/libavformat/tcp.c
+++ b/libavformat/tcp.c
@@ -62,7 +62,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
s = av_malloc(sizeof(TCPContext));
if (!s)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
h->priv_data = s;
if (port <= 0 || port >= 65536)
@@ -90,7 +90,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
/* wait until we are connected or until abort */
for(;;) {
if (url_interrupt_cb()) {
- ret = -EINTR;
+ ret = AVERROR(EINTR);
goto fail1;
}
fd_max = fd;
@@ -130,7 +130,7 @@ static int tcp_read(URLContext *h, uint8_t *buf, int size)
for (;;) {
if (url_interrupt_cb())
- return -EINTR;
+ return AVERROR(EINTR);
fd_max = s->fd;
FD_ZERO(&rfds);
FD_SET(s->fd, &rfds);
@@ -141,11 +141,7 @@ static int tcp_read(URLContext *h, uint8_t *buf, int size)
len = recv(s->fd, buf, size, 0);
if (len < 0) {
if (errno != EINTR && errno != EAGAIN)
-#ifdef __BEOS__
- return errno;
-#else
- return -errno;
-#endif
+ return AVERROR(errno);
} else return len;
} else if (ret < 0) {
return -1;
@@ -163,7 +159,7 @@ static int tcp_write(URLContext *h, uint8_t *buf, int size)
size1 = size;
while (size > 0) {
if (url_interrupt_cb())
- return -EINTR;
+ return AVERROR(EINTR);
fd_max = s->fd;
FD_ZERO(&wfds);
FD_SET(s->fd, &wfds);
@@ -173,13 +169,8 @@ static int tcp_write(URLContext *h, uint8_t *buf, int size)
if (ret > 0 && FD_ISSET(s->fd, &wfds)) {
len = send(s->fd, buf, size, 0);
if (len < 0) {
- if (errno != EINTR && errno != EAGAIN) {
-#ifdef __BEOS__
- return errno;
-#else
- return -errno;
-#endif
- }
+ if (errno != EINTR && errno != EAGAIN)
+ return AVERROR(errno);
continue;
}
size -= len;
diff --git a/libavformat/udp.c b/libavformat/udp.c
index 9021197647..46edd0f902 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -295,7 +295,7 @@ static int udp_open(URLContext *h, const char *uri, int flags)
s = av_malloc(sizeof(UDPContext));
if (!s)
- return -ENOMEM;
+ return AVERROR(ENOMEM);
h->priv_data = s;
s->ttl = 16;
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 30a082720e..cabe3a7704 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -478,7 +478,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
/* read probe data */
pd->buf= av_realloc(pd->buf, probe_size);
pd->buf_size = get_buffer(pb, pd->buf, probe_size);
- if (url_fseek(pb, 0, SEEK_SET) == (offset_t)-EPIPE) {
+ if (url_fseek(pb, 0, SEEK_SET) == (offset_t)AVERROR(EPIPE)) {
url_fclose(pb);
if (url_fopen(pb, filename, URL_RDONLY) < 0) {
file_opened = 0;
@@ -805,7 +805,7 @@ static int av_read_frame_internal(AVFormatContext *s, AVPacket *pkt)
/* read next packet */
ret = av_read_packet(s, &s->cur_pkt);
if (ret < 0) {
- if (ret == -EAGAIN)
+ if (ret == AVERROR(EAGAIN))
return ret;
/* return the last frames, if any */
for(i = 0; i < s->nb_streams; i++) {
@@ -916,7 +916,7 @@ int av_read_frame(AVFormatContext *s, AVPacket *pkt)
AVPacketList **plast_pktl= &s->packet_buffer;
int ret= av_read_frame_internal(s, pkt);
if(ret<0){
- if(pktl && ret != -EAGAIN){
+ if(pktl && ret != AVERROR(EAGAIN)){
eof=1;
continue;
}else
diff --git a/libavformat/v4l2.c b/libavformat/v4l2.c
index 9558560895..b169066df4 100644
--- a/libavformat/v4l2.c
+++ b/libavformat/v4l2.c
@@ -415,7 +415,7 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap)
st = av_new_stream(s1, 0);
if (!st) {
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
av_set_pts_info(st, 64, 1, 1000000); /* 64 bits pts in us */
diff --git a/libavformat/wv.c b/libavformat/wv.c
index 7664aa1240..ed1eefeea0 100644
--- a/libavformat/wv.c
+++ b/libavformat/wv.c
@@ -170,7 +170,7 @@ static int wv_read_packet(AVFormatContext *s,
int ret;
if (url_feof(&s->pb))
- return -EIO;
+ return AVERROR(EIO);
if(wc->block_parsed){
if(wv_read_block_header(s, &s->pb) < 0)
return -1;
diff --git a/libavformat/x11grab.c b/libavformat/x11grab.c
index f3e5579fb8..231c43da7e 100644
--- a/libavformat/x11grab.c
+++ b/libavformat/x11grab.c
@@ -130,7 +130,7 @@ x11grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
st = av_new_stream(s1, 0);
if (!st) {
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
av_set_pts_info(st, 64, 1, 1000000); /* 64 bits pts in us */
@@ -151,7 +151,7 @@ x11grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
IPC_CREAT|0777);
if (x11grab->shminfo.shmid == -1) {
av_log(s1, AV_LOG_ERROR, "Fatal: Can't get shared memory!\n");
- return -ENOMEM;
+ return AVERROR(ENOMEM);
}
x11grab->shminfo.shmaddr = image->data = shmat(x11grab->shminfo.shmid, 0, 0);
x11grab->shminfo.readOnly = False;
diff --git a/libavutil/common.h b/libavutil/common.h
index 1c81c32f1a..ff0f7ba886 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -37,11 +37,7 @@
# include <string.h>
# include <ctype.h>
# include <limits.h>
-# ifndef __BEOS__
-# include <errno.h>
-# else
-# include "berrno.h"
-# endif
+# include <errno.h>
# include <math.h>
#endif /* HAVE_AV_CONFIG_H */