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 746302 - gstpad: relinking outside streaming thread sometimes results in events getting lost
gstpad: relinking outside streaming thread sometimes results in events gettin...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other All
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-03-16 16:40 UTC by Matej Knopp
Modified: 2018-11-03 12:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch (1.33 KB, patch)
2015-03-16 16:40 UTC, Matej Knopp
none Details | Review
Patch with corrected log message (1.33 KB, patch)
2015-03-16 16:42 UTC, Matej Knopp
none Details | Review

Description Matej Knopp 2015-03-16 16:40:40 UTC
Created attachment 299530 [details] [review]
Patch

The problem that's quite racy and difficult to reproduce. Basically we are relinking element outside streaming thread, which occasionally results in some sticky events getting lost.

The problem is in push_sticky. While the gst_pad_push_event_unchecked call is in progress, the pad peer changes. But regardless of that, ev->received is set to TRUE.

Patch corrects this by checking if the peerpad really has received the event. If not, it will be resend in next check_sticky.
Comment 1 Matej Knopp 2015-03-16 16:42:58 UTC
Created attachment 299531 [details] [review]
Patch with corrected log message
Comment 2 GStreamer system administrator 2018-11-03 12:26:02 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/gstreamer/issues/99.