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 794654 - encodebin: Forward upstream force-key-unit events to encoder
encodebin: Forward upstream force-key-unit events to encoder
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Windows
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-03-24 13:26 UTC by Seungha Yang
Modified: 2018-11-03 12:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
[1/2] encodebin: Use gst_object_unref() instead of g_object_unref() (2.55 KB, patch)
2018-03-24 13:27 UTC, Seungha Yang
committed Details | Review
[2/2] encodebin: Forward upstream force-key-unit events to encoder (2.79 KB, patch)
2018-03-24 13:28 UTC, Seungha Yang
none Details | Review
streamcombiner: Forward upstream force-key-unit events to all sinkpads (1.47 KB, patch)
2018-04-15 10:24 UTC, Seungha Yang
none Details | Review
streamsplitter: Drop duplicated force-key-unit events (2.28 KB, patch)
2018-04-15 10:24 UTC, Seungha Yang
none Details | Review

Description Seungha Yang 2018-03-24 13:26:06 UTC
StreamCombiner element forwards a upstream event only to one sinkpad.
Unfortunately, a sinkpad corresponding to pass-through path is configured
before that of encoder, StreamCombiner forwards upstream events only to
the firstly configured one (i.e., pass-through path).
Comment 1 Seungha Yang 2018-03-24 13:27:58 UTC
Created attachment 370084 [details] [review]
[1/2] encodebin: Use gst_object_unref() instead of g_object_unref()

... for better debugging (e.g., tracing refcount)
Comment 2 Seungha Yang 2018-03-24 13:28:29 UTC
Created attachment 370085 [details] [review]
[2/2] encodebin: Forward upstream force-key-unit events to encoder
Comment 3 Thibault Saunier 2018-03-24 13:30:57 UTC
Review of attachment 370085 [details] [review]:

Why don't we make sure the streamcombiner forward KEY_UNIT events to all it sinkpads instead?
Comment 4 Thibault Saunier 2018-03-24 13:33:39 UTC
commit 07eab6de3f3ec3058a5a47a1481ec34faee60d54 (HEAD -> master, origin/master, origin/HEAD)
Author: Seungha Yang <pudding8757@gmail.com>
Date:   Sat Mar 24 21:35:07 2018 +0900

    encodebin: Use gst_object_unref() instead of g_object_unref()

    ... for better debugging (e.g., tracing refcount)

    https://bugzilla.gnome.org/show_bug.cgi?id=794654
Comment 5 Seungha Yang 2018-03-26 12:56:48 UTC
(In reply to Thibault Saunier from comment #3)
> Review of attachment 370085 [details] [review] [review]:
> 
> Why don't we make sure the streamcombiner forward KEY_UNIT events to all it
> sinkpads instead?

Although streamcombiner seems to be internal element of encodebin, I'm not sure whether adding such behavior in streamcombiner is good or not, since we might need more events in the future which requires this kinds of approach.

Can we use funnel instead?
Comment 6 Seungha Yang 2018-04-15 10:24:01 UTC
Created attachment 370949 [details] [review]
streamcombiner: Forward upstream force-key-unit events to all sinkpads
Comment 7 Seungha Yang 2018-04-15 10:24:40 UTC
Created attachment 370950 [details] [review]
streamsplitter: Drop duplicated force-key-unit events
Comment 8 Seungha Yang 2018-04-15 10:26:54 UTC
(In reply to Thibault Saunier from comment #3)
> Review of attachment 370085 [details] [review] [review]:
> 
> Why don't we make sure the streamcombiner forward KEY_UNIT events to all it
> sinkpads instead?

I updated patch to forward upstream key unit event to all sinkpads. And streamsplitter will drop duplicated events based on event sequence number.
Comment 9 GStreamer system administrator 2018-11-03 12:04:37 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/429.