I did some digging and found the error is coming from this code in flvenv.c
line 921.
if (pkt->dts < -flv->delay) {
av_log(s, AV_LOG_WARNING,
"Packets are not in the proper order with respect to DTS\n");
return AVERROR(EINVAL);
flv is a pointer to FLVContext from AVFormatContext->priv_data.
Looks like the avformat_write_header()/avformat_init_output uses the state of
the muxer at the last run even if the AVFormatContext has been freed and
reallocated.
So how do I get the FLVContext to be initlized as if a fresh run. Or how do I
free the old FLVContext so when avformat_write_header() initlizes the priv_data
it is fresh.
________________________________
From: Libav-user <[email protected]> on behalf of william keeling
<[email protected]>
Sent: Monday, March 1, 2021 2:32 PM
To: [email protected] <[email protected]>
Subject: [Libav-user] Reuse of format context after free and reallocate?
I have a program the creates flash format stream and is work the first time
thru but when I process the second stream, I get DTS/PTS non monotonically
errors.
After each stream I free and reallocate all contexts:
avcodec_free_context() of all streams video and audio
avformat_free_context()
avio_close()
What am I missing so the format context can be reallocate and used?
Thanks William
_______________________________________________
Libav-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".