After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 708817 - matroskamux: support flushing seeks
matroskamux: support flushing seeks
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-09-26 09:46 UTC by showayb.zahda
Modified: 2018-05-04 13:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
reset matroskamux after flush-stop to make it generate new header (858 bytes, patch)
2013-09-26 09:46 UTC, showayb.zahda
none Details | Review

Description showayb.zahda 2013-09-26 09:46:22 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.
Comment 1 Tim-Philipp Müller 2013-09-26 10:02:56 UTC
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.
Comment 2 Linus Svensson 2018-05-04 13:39:55 UTC
This can be closed
Comment 3 Vivia Nikolaidou 2018-05-04 13:42:46 UTC
Closing as requested.