forked from FFmpeg/FFmpeg
Ensure Bink demuxer returns AVERROR code when av_get_packet() fails
Originally committed as revision 22389 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
279a0c976e
commit
cc4e8b1267
1 changed files with 3 additions and 3 deletions
|
@ -212,8 +212,8 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||||
bink->current_track++;
|
bink->current_track++;
|
||||||
if (audio_size >= 4) {
|
if (audio_size >= 4) {
|
||||||
/* get one audio packet per track */
|
/* get one audio packet per track */
|
||||||
if ((ret = av_get_packet(pb, pkt, audio_size)) <= 0)
|
if ((ret = av_get_packet(pb, pkt, audio_size)) != audio_size)
|
||||||
return ret;
|
return ret < 0 ? ret : AVERROR(EIO);;
|
||||||
pkt->stream_index = bink->current_track;
|
pkt->stream_index = bink->current_track;
|
||||||
pkt->pts = bink->audio_pts[bink->current_track - 1];
|
pkt->pts = bink->audio_pts[bink->current_track - 1];
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||||
/* get video packet */
|
/* get video packet */
|
||||||
if ((ret = av_get_packet(pb, pkt, bink->remain_packet_size))
|
if ((ret = av_get_packet(pb, pkt, bink->remain_packet_size))
|
||||||
!= bink->remain_packet_size)
|
!= bink->remain_packet_size)
|
||||||
return ret;
|
return ret < 0 ? ret : AVERROR(EIO);
|
||||||
pkt->stream_index = 0;
|
pkt->stream_index = 0;
|
||||||
pkt->pts = bink->video_pts++;
|
pkt->pts = bink->video_pts++;
|
||||||
pkt->flags |= PKT_FLAG_KEY;
|
pkt->flags |= PKT_FLAG_KEY;
|
||||||
|
|
Loading…
Add table
Reference in a new issue