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 777531 - decodebin3: Update active selection with stream-start
decodebin3: Update active selection with stream-start
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-01-20 11:13 UTC by Seungha Yang
Modified: 2018-11-03 11:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
decodebin3: Update active selection with stream-start (2.01 KB, patch)
2017-01-20 11:15 UTC, Seungha Yang
none Details | Review
decodebin3: Make/Post stream-collection by using stream-start (10.08 KB, patch)
2017-01-20 12:19 UTC, Seungha Yang
none Details | Review
decodebin3: Make/Post stream-collection by using stream-start (10.62 KB, patch)
2017-01-21 07:50 UTC, Seungha Yang
none Details | Review
Add new stream-id to active selection if it is in requested selection (2.33 KB, patch)
2017-01-21 09:53 UTC, HoonHee Lee
none Details | Review

Description Seungha Yang 2017-01-20 11:13:51 UTC
When new stream is detected, new stream-collection message should be
paired with streams-selected message, in order for application to recognize.
However, if active_selection list was not updated with new stream,
the streams-selected message never be posted.
Comment 1 Seungha Yang 2017-01-20 11:15:25 UTC
Created attachment 343896 [details] [review]
decodebin3: Update active selection with stream-start
Comment 2 Seungha Yang 2017-01-20 12:19:19 UTC
Created attachment 343897 [details] [review]
decodebin3: Make/Post stream-collection by using stream-start

Depending on queued buffer size, newly updated stream-collection
may be unusable information from application until queued buffers are drained.
Comment 3 Seungha Yang 2017-01-20 12:38:08 UTC
Application should use stream-collection for track-change, but multiple streams
can exist on a single queue (i.e., multiple stream-start events are there),
and mapping future streams with currently available streams is almost impossible from application.

Let's assume that queued buffer time in multiqueue is 10 sec. If new stream-collection is posted, the stream-collection message may be unusable information from application until 10 sec amount remaining buffers are drained.

Also, although application may want to change track among streams which are not yet drained, newly posted stream-collection message will make application confused. 

Not only that, application never know exact time that how much time application should wait on for the new streams.
(may guess using queued buffer size, but it also cannot guarantee, since there can be multiple streams in a single queue)

IMHO, posting a immediately usable stream-collection message from application side seems to make everything simple, not only for application, but decodebin3 also.
Comment 4 Seungha Yang 2017-01-21 07:50:22 UTC
Created attachment 343939 [details] [review]
decodebin3: Make/Post stream-collection by using stream-start

- Change SELECTION_LOCK/UNLOCK position
Comment 5 HoonHee Lee 2017-01-21 09:53:14 UTC
Created attachment 343945 [details] [review]
Add new stream-id to active selection if it is in requested selection
Comment 6 HoonHee Lee 2017-01-21 09:55:32 UTC
Hello Seungha Yang.
I updated to add new stream-id to active selection if it is in requested selection.
If not, non-requested stream can be added to active selection.
 
Thanks.
Comment 7 GStreamer system administrator 2018-11-03 11:54:01 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/331.