mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-28 12:32:17 +02:00
wc3movie: return partial packets if not all data can be read.
This is consistent with other demuxer's behaviour and avoids a memleak. It also returns the error from av_get_packet instead of always AVERROR(EIO). Originally committed as revision 18446 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
cdbe3798d2
commit
cfb9b3550b
@ -320,8 +320,6 @@ static int wc3_read_packet(AVFormatContext *s,
|
|||||||
ret= av_get_packet(pb, pkt, size);
|
ret= av_get_packet(pb, pkt, size);
|
||||||
pkt->stream_index = wc3->video_stream_index;
|
pkt->stream_index = wc3->video_stream_index;
|
||||||
pkt->pts = wc3->pts;
|
pkt->pts = wc3->pts;
|
||||||
if (ret != size)
|
|
||||||
ret = AVERROR(EIO);
|
|
||||||
packet_read = 1;
|
packet_read = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -349,8 +347,6 @@ static int wc3_read_packet(AVFormatContext *s,
|
|||||||
ret= av_get_packet(pb, pkt, size);
|
ret= av_get_packet(pb, pkt, size);
|
||||||
pkt->stream_index = wc3->audio_stream_index;
|
pkt->stream_index = wc3->audio_stream_index;
|
||||||
pkt->pts = wc3->pts;
|
pkt->pts = wc3->pts;
|
||||||
if (ret != size)
|
|
||||||
ret = AVERROR(EIO);
|
|
||||||
|
|
||||||
/* time to advance pts */
|
/* time to advance pts */
|
||||||
wc3->pts++;
|
wc3->pts++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user