From 8fa36ae09dddb1b639b4df5d505c0dbcf4e916e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Tue, 13 Feb 2007 18:26:14 +0000 Subject: [PATCH] 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 --- ffmpeg.c | 8 ++++---- libavcodec/avcodec.h | 21 +++++++++++++++++++-- libavcodec/dv.c | 4 ++-- libavcodec/g726.c | 2 +- libavcodec/gifdec.c | 2 +- libavcodec/sonic.c | 2 +- libavformat/audio.c | 2 +- libavformat/avformat.h | 12 ++---------- libavformat/avio.c | 10 +++++----- libavformat/avio.h | 4 ++-- libavformat/aviobuf.c | 10 +++++----- libavformat/beosaudio.cpp | 22 +++++++++++----------- libavformat/ffm.c | 8 ++++---- libavformat/file.c | 2 +- libavformat/framehook.c | 8 ++++---- libavformat/gifdec.c | 6 +++--- libavformat/grab.c | 2 +- libavformat/grab_bktr.c | 6 +++--- libavformat/http.c | 2 +- libavformat/img2.c | 2 +- libavformat/mpeg.c | 2 +- libavformat/mpegts.c | 2 +- libavformat/rtpproto.c | 2 +- libavformat/smacker.c | 2 +- libavformat/sol.c | 2 +- libavformat/tcp.c | 23 +++++++---------------- libavformat/udp.c | 2 +- libavformat/utils.c | 6 +++--- libavformat/v4l2.c | 2 +- libavformat/wv.c | 2 +- libavformat/x11grab.c | 4 ++-- libavutil/common.h | 6 +----- 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; icoded_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;inb_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 # include # include -# ifndef __BEOS__ -# include -# else -# include "berrno.h" -# endif +# include # include #endif /* HAVE_AV_CONFIG_H */