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 772741 - bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag
bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal normal
: 1.10.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 772742
 
 
Reported: 2016-10-11 10:36 UTC by Edward Hervey
Modified: 2016-10-31 14:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag (1.41 KB, patch)
2016-10-11 10:36 UTC, Edward Hervey
committed Details | Review
playback: decodebin3 and parsebin are streams-aware (1.31 KB, patch)
2016-10-11 10:37 UTC, Edward Hervey
committed Details | Review

Description Edward Hervey 2016-10-11 10:36:54 UTC
See commit
Comment 1 Edward Hervey 2016-10-11 10:36:59 UTC
Created attachment 337395 [details] [review]
bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag

This flag is to indicate to child elements that they can add and
remove pads at any point in time without re-adding existing ones.

Elements should post before-hand a GST_MESSAGE_STREAM_COLLECTION
Comment 2 Edward Hervey 2016-10-11 10:37:46 UTC
Created attachment 337396 [details] [review]
playback: decodebin3 and parsebin are streams-aware

Elements within can add/remove pads at anytime without complying
with the fallback system.
Comment 3 Wonchul Lee 2016-10-12 07:06:30 UTC
Review of attachment 337396 [details] [review]:

I assumed that the stream_aware flag is for the element what can add/remove pad after the whole pipeline built.
If my guess is right, ts demuxer and adaptive demuxer are to be set also?

::: gst/playback/gstdecodebin3.c
@@ +604,3 @@
   dbin->caps = gst_static_caps_get (&default_raw_caps);
+
+  GST_OBJECT_FLAG_SET (parse_bin, GST_BIN_FLAG_STREAMS_AWARE);

It seems to be a typo, "parse_bin" -> "dbin"
Comment 4 Edward Hervey 2016-10-12 09:30:05 UTC
(In reply to Wonchul Lee from comment #3)
> I assumed that the stream_aware flag is for the element what can add/remove
> pad after the whole pipeline built.
> If my guess is right, ts demuxer and adaptive demuxer are to be set also?

  No, it's for the parent bin to indicate to its child elements that they can add/remove pads at anytime (after the collection was posted).

  tsdemux doesn't contain any elements, nor does adaptivedemux
Comment 5 Sebastian Dröge (slomo) 2016-10-12 11:48:10 UTC
And now also use it in tsdemux, without all this is a bit useless :)
Comment 6 Edward Hervey 2016-10-12 13:06:32 UTC
commit 0ab950f501ef1cb6ee1a786aaf473261ae3fed58
Author: Edward Hervey <edward@centricular.com>
Date:   Tue Oct 11 12:12:57 2016 +0200

    bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag
    
    This flag is to indicate to child elements that they can add and
    remove pads at any point in time without re-adding existing ones.
    
    Elements should post before-hand a GST_MESSAGE_STREAM_COLLECTION
    
    https://bugzilla.gnome.org/show_bug.cgi?id=772741

commit acc3a9d242b61dc992a8b8e2acb81f9b7654a414
Author: Edward Hervey <edward@centricular.com>
Date:   Tue Oct 11 12:36:00 2016 +0200

    playback: decodebin3 and parsebin are streams-aware
    
    Elements within can add/remove pads at anytime without complying
    with the fallback system.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=772741