summaryrefslogtreecommitdiff
path: root/libavformat/ffm.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/ffm.c')
-rw-r--r--libavformat/ffm.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/libavformat/ffm.c b/libavformat/ffm.c
index 22a2a812ff..89764c3497 100644
--- a/libavformat/ffm.c
+++ b/libavformat/ffm.c
@@ -190,7 +190,7 @@ static int ffm_write_header(AVFormatContext *s)
put_le16(pb, codec->frame_size);
break;
default:
- av_abort();
+ return -1;
}
/* hack to have real time */
if (ffm_nopts)
@@ -208,8 +208,7 @@ static int ffm_write_header(AVFormatContext *s)
/* init packet mux */
ffm->packet_ptr = ffm->packet;
ffm->packet_end = ffm->packet + ffm->packet_size - FFM_HEADER_SIZE;
- if (ffm->packet_end < ffm->packet)
- av_abort();
+ assert(ffm->packet_end >= ffm->packet);
ffm->frame_offset = 0;
ffm->pts = 0;
ffm->first_packet = 1;
@@ -340,7 +339,7 @@ static int ffm_read_data(AVFormatContext *s,
get_buffer(pb, ffm->packet, ffm->packet_size - FFM_HEADER_SIZE);
ffm->packet_end = ffm->packet + (ffm->packet_size - FFM_HEADER_SIZE - fill_size);
if (ffm->packet_end < ffm->packet)
- av_abort();
+ return -1;
/* if first packet or resynchronization packet, we must
handle it specifically */
if (ffm->first_packet || (frame_offset & 0x8000)) {
@@ -355,7 +354,7 @@ static int ffm_read_data(AVFormatContext *s,
}
ffm->first_packet = 0;
if ((frame_offset & 0x7ffff) < FFM_HEADER_SIZE)
- av_abort();
+ return -1;
ffm->packet_ptr = ffm->packet + (frame_offset & 0x7fff) - FFM_HEADER_SIZE;
if (!first)
break;