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 782920 - flvmux port to Aggregator
flvmux port to Aggregator
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal enhancement
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-05-21 14:01 UTC by Olivier Crête
Modified: 2018-02-26 11:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
audioaggregator: Don't hold object locks across calls to aggregate_one (3.76 KB, patch)
2017-05-21 14:02 UTC, Olivier Crête
accepted-commit_now Details | Review
aggregator: Don't restrict sink pad names (951 bytes, patch)
2017-05-21 14:02 UTC, Olivier Crête
committed Details | Review
aggregator: Request pad templates which are not request pad (1.18 KB, patch)
2017-05-21 14:02 UTC, Olivier Crête
committed Details | Review
flv2: flvmux ported to the GstAggregator (79.51 KB, patch)
2017-05-21 14:02 UTC, Olivier Crête
rejected Details | Review

Description Olivier Crête 2017-05-21 14:01:48 UTC
Here is a port of flvmux to GstAggregator. The big feature is that it doesn't block if there is a gap in the input stream.
Comment 1 Olivier Crête 2017-05-21 14:02:10 UTC
Created attachment 352286 [details] [review]
audioaggregator: Don't hold object locks across calls to aggregate_one

https://bugzilla.gnome.org/show_bug.cgi?id=782878
Comment 2 Olivier Crête 2017-05-21 14:02:16 UTC
Created attachment 352287 [details] [review]
aggregator: Don't restrict sink pad names

Sink pads could have other names than sink_%u
Comment 3 Olivier Crête 2017-05-21 14:02:21 UTC
Created attachment 352288 [details] [review]
aggregator: Request pad templates which are not request pad
Comment 4 Olivier Crête 2017-05-21 14:02:27 UTC
Created attachment 352289 [details] [review]
flv2: flvmux ported to the GstAggregator

This makes it possible to create a flv file from a live source and not stop
when there are packet drops.
Comment 5 Olivier Crête 2017-05-21 14:05:58 UTC
I should mention that this is largely the work of Vincent Penquerc'h 

And here is a less squashed version:
https://git.collabora.com/cgit/user/tester/gst-plugins-bad.git/log/?h=flvmux-agg-not-squashed
Comment 6 Tim-Philipp Müller 2017-05-21 14:09:25 UTC
We should port the existing one in -good over once aggregator moves to core (this cycle hopefully?).
Comment 7 Tim-Philipp Müller 2017-05-21 14:10:39 UTC
Alternatively, do what I did in the oggmux port (link in the move-aggregator bug) and add a private copy of aggregator to flxmux with a different GType namespace, until it gets moved.
Comment 8 Matthew Waters (ystreet00) 2017-05-21 14:12:32 UTC
Review of attachment 352288 [details] [review]:

Feel free to push after the log change.

::: gst-libs/gst/base/gstaggregator.c
@@ +1622,3 @@
+not_request:
+  {
+    GST_WARNING_OBJECT (self, "request new pad that is not a REQUEST pad\n");

s/request/requested/
Comment 9 Tim-Philipp Müller 2017-05-21 14:16:59 UTC
Comment on attachment 352289 [details] [review]
flv2: flvmux ported to the GstAggregator

Let's port the existing one instead of adding a temporary flv2
Comment 10 Olivier Crête 2017-05-21 16:17:04 UTC
This is a port of the code from -good, we just gave it a new name because GstAggregator is in -bad and we wanted to make it easier to test them side by side.
Comment 11 Olivier Crête 2017-05-21 16:41:01 UTC
Pushing the auxiliary patches

Attachment 352287 [details] pushed as 8f0fba5 - aggregator: Don't restrict sink pad names
Attachment 352288 [details] pushed as fbfc427 - aggregator: Request pad templates which are not request pad
Comment 12 Tim-Philipp Müller 2017-12-20 19:28:39 UTC
This can probably go in now, in place of the original flvmux in -good.
Comment 13 Olivier Crête 2017-12-20 20:35:44 UTC
Merged into -good:

commit 8b814f6351913689de3cce336e862436ea3df6ca (HEAD -> master, upstream/master)
Author: Vincent Penquerc'h <vincent.penquerch@collabora.com>
Date:   Wed Dec 20 15:23:26 2017 -0500

    flv: flvmux ported to the GstAggregator
    
    This makes it possible to create a flv file from a live source and not stop
    when there are packet drops.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=782920
Comment 14 Tim-Philipp Müller 2018-02-22 10:44:41 UTC
This is likely related to blocker bug #793457.

We may have to revert if no one has time to come up with a fix fwiw.