GNOME Bugzilla – Bug 708817
matroskamux: support flushing seeks
Last modified: 2018-05-04 13:42:46 UTC
Created attachment 255803 [details] [review] reset matroskamux after flush-stop to make it generate new header We wish to export part of a matroska file or combine several files (that have belong to each other) and then export/extract part of them. As a result, multiple matroska files are being de-muxed, and then re-muxed (The remux is done because we might export the recording in different format) using the following pipleline: matroskamultidemux -> matroskamux -> sink where matroskamultidemux is our own element demuxing multiple matroska files. Seeking on the pipeline does not really work because matroskamux does not currently support seeks. That's why we seek on our matroskamultidemux element. When the pipeline is paused matroskamux will push the header downstream. Then we do the flushing seek in the paused state, the header will be flushed and no new header will be generated after flush-stop. Please have a look at the attached patch that fixed the problem for us and generated the header.
I'm not sure this is right. In general, flushing seeks with container formats are not really well defined yet in GStreamer, so marking this as enhancement. I'm not convinced that it should output the header again in stream if it's already output one. What it should do is put the header into the caps as streamheader field, then elements such as multifilesink or tcpserversink or whatever can pick it up from there.
This can be closed
Closing as requested.