diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-09-22 04:17:01 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-22 04:34:43 +0200 |
commit | 040ad30bc8bf2c97ec315fc84a2778d98029909e (patch) | |
tree | 2933e66a26da5edd782156d416544b6ef90c9736 /libavformat/avidec.c | |
parent | cc0ac0244189cfcda258cad996f468c48eca01ff (diff) | |
parent | 1450d6e6377df00a538ae7542981a0ebff9415da (diff) | |
download | ffmpeg-040ad30bc8bf2c97ec315fc84a2778d98029909e.tar.gz |
Merge branch 'release/0.7' into oldabi
* release/0.7: (296 commits)
Update version numbers for 0.7.5
vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
Check for huffman tree building error in vp6 decoder.
Release old pictures after a resolution change in vp5/6 decoder
Check for missing reference in vp5/6 decoder.
Check for invalid slices offsets in RV30/40 decoder.
Check output buffer size in nellymoser decoder.
Hack around gcc 4.6 breaking asm using call.
Hack around gcc 4.6 breaking asm using call.
Fix dxva2 decoding for some H264 samples. (cherry picked from commit bf7dc6b29d785f149f18c39db021413e08735546)
Fix dxva2 decoding for some H264 samples.
mp3demux: pass on error code on packet read.
Check for invalid slice offsets in real decoder.
rmdec: Reject invalid deinterleaving parameters
Use deinterleavers for demangling audio packets in RealMedia.
rv10: Reject slices that does not have the same type as the first one
rmdec: use the deinterleaving mode and not the codec when creating audio packets.
MAINTAINERS: add my GPG fingerprint. (cherry picked from commit 7882dc10f871bf25a848fe62a152f63814f9c7d1)
Support 3IVD in isom, produced by 3ivx DivX Doctor.
mpegpsdec: fix reading first mpegps packet (cherry picked from commit b2f230e23dd61112ac090b0c059d87b5f6bcb307)
...
Conflicts:
Changelog
Doxyfile
Makefile
RELEASE
configure
doc/general.texi
ffmpeg.c
ffplay.c
libavcodec/dxva2_h264.c
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264idct_template.c
libavcodec/kgv1dec.c
libavcodec/mpegvideo.c
libavcodec/tableprint.h
libavcodec/vp3.c
libavdevice/alsa-audio.h
libavformat/gxf.c
libavformat/mpegts.c
libavformat/segafilm.c
libavformat/utils.c
libavutil/dict.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r-- | libavformat/avidec.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 0588518a87..17ddfe5a6f 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -222,13 +222,18 @@ static int read_braindead_odml_indx(AVFormatContext *s, int frame_num){ return -1; } - avio_seek(pb, offset+8, SEEK_SET); + if(avio_seek(pb, offset+8, SEEK_SET) < 0) + return -1; avi->odml_depth++; read_braindead_odml_indx(s, frame_num); avi->odml_depth--; frame_num += duration; - avio_seek(pb, pos, SEEK_SET); + if(avio_seek(pb, pos, SEEK_SET) < 0) { + av_log(s, AV_LOG_ERROR, "Failed to restore position after reading index"); + return -1; + } + } } avi->index_loaded=1; @@ -1358,11 +1363,13 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp /* the av_index_search_timestamp call above. */ assert(stream_index == 0); + if(avio_seek(s->pb, pos, SEEK_SET) < 0) + return -1; + /* Feed the DV video stream version of the timestamp to the */ /* DV demux so it can synthesize correct timestamps. */ dv_offset_reset(avi->dv_demux, timestamp); - avio_seek(s->pb, pos, SEEK_SET); avi->stream_index= -1; return 0; } @@ -1413,7 +1420,8 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp } /* do the seek */ - avio_seek(s->pb, pos_min, SEEK_SET); + if (avio_seek(s->pb, pos_min, SEEK_SET) < 0) + return -1; avi->stream_index= -1; avi->dts_max= INT_MIN; return 0; |