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 734470 - concat: New element for concatenating streams
concat: New element for concatenating streams
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-08-08 09:52 UTC by Sebastian Dröge (slomo)
Modified: 2014-08-12 12:39 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2014-08-08 09:52:57 UTC
Code here, with docs and tests: http://cgit.freedesktop.org/~slomo/gstreamer/log/?h=concat

The element is concatenating streams that are received on request sinkpads. It switches to the next stream on EOS and makes sure that for TIME segments the running time is continuous and increasing (and stream time is the same as for the source stream), and for BYTE segments it makes sure that all the bytes are concatenated (like "cat file1 file2 > both_files" would do).


I think this should be in core as it's a generic pipeline operation, like funnel or tee and completely media agnostic too.
Comment 1 Thiago Sousa Santos 2014-08-11 19:03:53 UTC
I like the idea and took a look at the element's code and it looks good. Also did some gst-launch line tests here and it works :)

One thing that caught my attention was that the tests weren't checking that buffers are received in the correct order (if the pad request order was respected) or any tests that check that the segments are contiguous regarding running time.
Comment 2 Sebastian Dröge (slomo) 2014-08-12 07:12:51 UTC
What do you mean with the segments being contiguous? The test is checking if the running times are contiguous already.

For the other test, checking the order is probably a good idea :)
Comment 3 Sebastian Dröge (slomo) 2014-08-12 12:39:37 UTC
commit 96f0544cbd79989cd11f7d335a3e2b080eb643aa
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Fri Aug 8 09:54:02 2014 +0200

    concat: Add unit tests for concat element

commit 9861003939a92ab13b35d2b1276ffff0160b8ad0
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Fri Aug 8 09:13:50 2014 +0200

    concat: Add documentation and integrate into documentation build

commit c938561a2b0ac38b0cd4882eef15d6fb6e1cf537
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Thu Aug 7 14:42:44 2014 +0200

    concat: Add new element that concatenates multiple streams
    
    https://bugzilla.gnome.org/show_bug.cgi?id=734470