<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 26 Feb 2020 at 11:28, Simon Brown <<a href="mailto:simon.k.brown@gmail.com">simon.k.brown@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>See the "remuxing.c" example.</div><div>Use avcodec_parameters_copy to copy the codecpar from the demuxer's AVStream to the muxer's one.<br></div></div></div><br></blockquote><div>Thanks James - that's exactly what I needed.  Now I just need to pass all the parameters I need into the dash muxer and I'll be sorted.</div><div><br></div><div>Cheers,</div><div>Simon </div></div></div></blockquote><div><br></div><div>Ok, next problem - I have parsed all the command line parameters and assigned them to the output context using:</div><div><br></div>    ret = avformat_write_header(ofmt_ctx, &opt);<br><div><br></div><div>where opt contains the options dictionary.  I know it is accepting this because the returned dictionary is empty.  Also, I know because it is clearing out older .m4s segment files so that my disk doesn't fill up, so it's accepting the window_size parameter.  What it's not doing though, when it runs, is outputting continuously updated manifest.mpd data - which if I run ffmpeg with the same command line options I do get.  So ultimately my manifest.mpd file has a single segment in it, and my dash player never plays anything.</div><div><br></div><div>Looking through dashenc.c it would appear that the manifest should be updated whenever write_packet is called, and I'm assuming this is called because otherwise I wouldn't get the .m4s files being output.  But something must be failing here.  Is there anyway I can see what options the dash mux is using and why it wouldn't be outputting manifest updates?</div><div><br></div><div>To write the frames out I am using the same line as in remuxing.c, namely:</div><div><br></div>        ret = av_interleaved_write_frame(ofmt_ctx, &pkt);<br><div><br></div><div>should I just use av_write_frame?</div><div><br></div><div>Regards,</div><div>Simon </div></div></div>