<div dir="auto">Hello!<div dir="auto"><br></div><div dir="auto">Our software (cinelerra-gg) had some code for using bitstream filtering at muxing stage, but it was not functional (crashes)</div><div dir="auto"><br></div><div dir="auto">I tried to use this code as example</div><div dir="auto"><a href="https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/tee.c" rel="noreferrer noreferrer noreferrer" target="_blank">https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/tee.c</a><br></div><div dir="auto"><br></div><div dir="auto">and added initialization (av_bsf_init())</div><div dir="auto"><br></div><div dir="auto">now simple filters like dump_extra seems to work (file size increases) but complex ones like h264_metadata get their string (they complain if option unknown) but not doing their job?</div><div dir="auto"><br></div><div dir="auto">cingg uses av_bsf_list_parse_str</div><div dir="auto">line 3092 here</div><div dir="auto"><br></div><div dir="auto"><a href="https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra-5.1/cinelerra/ffmpeg.C;h=2d441a79f6c2bcb244362d024305140cb61c6723;hb=HEAD" target="_blank" rel="noreferrer">https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra-5.1/cinelerra/ffmpeg.C;h=2d441a79f6c2bcb244362d024305140cb61c6723;hb=HEAD</a><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">should I also manually put bitstream filter options in av_dictionary? Or do something else non-obvious?</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Note, right now this code lacks initialization, I just send patch to our mail list.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div dir="auto">---</div><div dir="auto"> cinelerra-5.1/cinelerra/ffmpeg.C | 7 +++++++</div><div dir="auto"> 1 file changed, 7 insertions(+)</div><div dir="auto"><br></div><div dir="auto">diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/</div><div dir="auto">ffmpeg.C</div><div dir="auto">index 2d441a79..ee3edba5 100644                                       </div><div dir="auto">  --- a/cinelerra-5.1/cinelerra/ffmpeg.C</div><div dir="auto">+++ b/cinelerra-5.1/cinelerra/ffmpeg.C                                </div><div dir="auto">  @@ -585,6 +585,10 @@ int FFStream::write_packet(FFPacket &pkt)</div><div dir="auto">                ret = av_interleaved_write_frame(ffmpeg->fmt_ctx, pkt);         }</div><div dir="auto">        else {                                                         </div><div dir="auto">+       bsfc->time_base_in = st->time_base;</div><div dir="auto">+       avcodec_parameters_copy(bsfc->par_in, st->codecpar);</div><div dir="auto">+       av_bsf_init(bsfc);                                            </div><div dir="auto">+</div><div dir="auto">                ret = av_bsf_send_packet(bsfc, pkt);</div><div dir="auto">                while( ret >= 0 ) {                                                             FFPacket bs;</div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">====</div><div dir="auto"><br></div><div dir="auto"><br></div></div>