mirror of https://git.ffmpeg.org/ffmpeg.git
tools/decode_simple: always call process_frame(NULL) at the end
Currently this would not be done if max_frames is triggered. Makes no difference in either of the tools currently using decode_simple, but may be important in future tools.
This commit is contained in:
parent
9bf1848acf
commit
992e984fa8
|
@ -73,7 +73,7 @@ int ds_run(DecodeContext *dc)
|
||||||
while (ret >= 0) {
|
while (ret >= 0) {
|
||||||
ret = av_read_frame(dc->demuxer, dc->pkt);
|
ret = av_read_frame(dc->demuxer, dc->pkt);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto flush;
|
break;
|
||||||
if (dc->pkt->stream_index != dc->stream->index) {
|
if (dc->pkt->stream_index != dc->stream->index) {
|
||||||
av_packet_unref(dc->pkt);
|
av_packet_unref(dc->pkt);
|
||||||
continue;
|
continue;
|
||||||
|
@ -91,10 +91,9 @@ int ds_run(DecodeContext *dc)
|
||||||
fprintf(stderr, "Error decoding: %d\n", ret);
|
fprintf(stderr, "Error decoding: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
} else if (ret > 0)
|
} else if (ret > 0)
|
||||||
return 0;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
flush:
|
|
||||||
avcodec_send_packet(dc->decoder, NULL);
|
avcodec_send_packet(dc->decoder, NULL);
|
||||||
ret = decode_read(dc, 1);
|
ret = decode_read(dc, 1);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@ -102,7 +101,8 @@ flush:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
finish:
|
||||||
|
return dc->process_frame(dc, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ds_free(DecodeContext *dc)
|
void ds_free(DecodeContext *dc)
|
||||||
|
|
Loading…
Reference in New Issue