thanks for you input -- I am freeing all context and still get the errors as if 
FLVContext is not freed
________________________________
From: Libav-user <[email protected]> on behalf of Paul B Mahol 
<[email protected]>
Sent: Wednesday, March 3, 2021 11:21 AM
To: This list is about using libavcodec, libavformat, libavutil, libavdevice 
and libavfilter. <[email protected]>
Subject: Re: [Libav-user] Reuse of format context after free and reallocate?



On Wed, Mar 3, 2021 at 5:50 PM william keeling 
<[email protected]<mailto:[email protected]>> wrote:
I have not used "valgrind" I will need to look into that tool.  any tips on how 
to use it?


If you are on Linux, using it is very easy.


yes, I am free the all contexts before reallocation but I cannot find a way to 
for the FLVContext/Muxer to be freed/reinitialized thru the API.
I am doing the following:

avcodec_free_context() of all streams video and audio

avformat_free_context()

avio_close()

If you really do all this than that error would never happen.


________________________________
From: Libav-user 
<[email protected]<mailto:[email protected]>> on behalf 
of Paul B Mahol <[email protected]<mailto:[email protected]>>
Sent: Wednesday, March 3, 2021 5:54 AM
To: This list is about using libavcodec, libavformat, libavutil, libavdevice 
and libavfilter. <[email protected]<mailto:[email protected]>>
Subject: Re: [Libav-user] Reuse of format context after free and reallocate?



On Wed, Mar 3, 2021 at 5:22 AM william keeling 
<[email protected]<mailto:[email protected]>> wrote:
 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]<mailto:[email protected]>> on behalf 
of william keeling 
<[email protected]<mailto:[email protected]>>
Sent: Monday, March 1, 2021 2:32 PM
To: [email protected]<mailto:[email protected]> 
<[email protected]<mailto:[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?

Looks like to be real bug to me.




Thanks William

_______________________________________________
Libav-user mailing list
[email protected]<mailto:[email protected]>
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
[email protected]<mailto:[email protected]> with 
subject "unsubscribe".
_______________________________________________
Libav-user mailing list
[email protected]<mailto:[email protected]>
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
[email protected]<mailto:[email protected]> with 
subject "unsubscribe".
_______________________________________________
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".

Reply via email to