mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
fftools/ffmpeg: eliminate InputStream.got_output
It tracks whether the decoder for this stream ever produced any frames and its only use is for checking whether a filter input ever received a frame - those that did not are prioritized by the scheduler. This is awkward and unnecessarily complicated - checking whether the filtergraph input format is valid works just as well and does not require maintaining an extra variable.
This commit is contained in:
parent
5fa00b38e6
commit
4a59dde0c7
@ -1412,9 +1412,6 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (got_output)
|
|
||||||
ist->got_output = 1;
|
|
||||||
|
|
||||||
if (!got_output)
|
if (!got_output)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -413,8 +413,6 @@ typedef struct InputStream {
|
|||||||
// number of frames/samples retrieved from the decoder
|
// number of frames/samples retrieved from the decoder
|
||||||
uint64_t frames_decoded;
|
uint64_t frames_decoded;
|
||||||
uint64_t samples_decoded;
|
uint64_t samples_decoded;
|
||||||
|
|
||||||
int got_output;
|
|
||||||
} InputStream;
|
} InputStream;
|
||||||
|
|
||||||
typedef struct LastFrameDuration {
|
typedef struct LastFrameDuration {
|
||||||
|
@ -1700,7 +1700,7 @@ int fg_transcode_step(FilterGraph *graph, InputStream **best_ist)
|
|||||||
for (int i = 0; i < graph->nb_inputs; i++) {
|
for (int i = 0; i < graph->nb_inputs; i++) {
|
||||||
InputFilter *ifilter = graph->inputs[i];
|
InputFilter *ifilter = graph->inputs[i];
|
||||||
InputFilterPriv *ifp = ifp_from_ifilter(ifilter);
|
InputFilterPriv *ifp = ifp_from_ifilter(ifilter);
|
||||||
if (!ifp->ist->got_output && !ifp->eof) {
|
if (ifp->format < 0 && !ifp->eof) {
|
||||||
*best_ist = ifp->ist;
|
*best_ist = ifp->ist;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user