[FFmpeg-trac] #9160(ffmpeg:new): ffmpeg stuck at initialization
FFmpeg
trac at avcodec.org
Wed May 5 23:33:29 EEST 2021
#9160: ffmpeg stuck at initialization
------------------------------------+----------------------------------
Reporter: Gyan | Owner: (none)
Type: defect | Status: new
Priority: important | Component: ffmpeg
Version: git-master | Resolution:
Keywords: regression | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+----------------------------------
Comment (by jeeb):
Alright, so I seem to have isolated where it goes loop-de-loop.
1. `transcode_step` first of all does `choose_output`.
2. Since the stream is not yet initialized, it gets returned.
3. `transcode_step` only sleeps and resets the "I need to sleep now for a
bit" flag thing if it did not receive any stream from `choose_output`.
4. Thus, the thing doesn't progress.
I will have to see how this logic will look in the end, but for now a diff
that seems to improve the situation:
{{{
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -3957,8 +3957,10 @@ static OutputStream *choose_output(void)
"cur_dts is invalid st:%d (%d) [init:%d i_done:%d
finish:%d] (this is harmless if it occurs once at the start per
stream)\n",
ost->st->index, ost->st->id, ost->initialized,
ost->inputs_done, ost->finished);
- if (!ost->initialized && !ost->inputs_done)
- return ost;
+ if (!ost->initialized && !ost->inputs_done) {
+ av_log(NULL, AV_LOG_VERBOSE, "Noope, not initialized
yet!\n");
+ return ost->unavailable ? NULL : ost;
+ }
if (!ost->finished && opts < opts_min) {
opts_min = opts;
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9160#comment:14>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list