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 740376 - aggregator: Serialized events are deserialized
aggregator: Serialized events are deserialized
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other All
: Normal critical
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-11-19 16:06 UTC by Sebastian Dröge (slomo)
Modified: 2014-11-19 17:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
videoaggregator: Don't output 0-duration buffers at the segment end (1.19 KB, patch)
2014-11-19 16:06 UTC, Sebastian Dröge (slomo)
committed Details | Review
aggregator: Block serialized events/queries until the pad has consumed all buffers (2.42 KB, patch)
2014-11-19 16:06 UTC, Sebastian Dröge (slomo)
committed Details | Review
aggregator: Drop serialized events/queries if the pad is flushing (1.68 KB, patch)
2014-11-19 16:17 UTC, Sebastian Dröge (slomo)
committed Details | Review
aggregator: Unblock events/queries immediately if the pad is flushing (2.13 KB, patch)
2014-11-19 16:17 UTC, Sebastian Dröge (slomo)
committed Details | Review

Description Sebastian Dröge (slomo) 2014-11-19 16:06:51 UTC
See the commit messages of the two patches for further details
Comment 1 Sebastian Dröge (slomo) 2014-11-19 16:06:53 UTC
Created attachment 291010 [details] [review]
videoaggregator: Don't output 0-duration buffers at the segment end
Comment 2 Sebastian Dröge (slomo) 2014-11-19 16:06:59 UTC
Created attachment 291011 [details] [review]
aggregator: Block serialized events/queries until the pad has consumed all buffers

Otherwise the caps of the pad might change while the subclass still works with
a buffer of the old caps, assuming the the current pad caps apply to that
buffer. Which then leads to crashes and other nice effects.
Comment 3 Sebastian Dröge (slomo) 2014-11-19 16:17:51 UTC
Created attachment 291013 [details] [review]
aggregator: Drop serialized events/queries if the pad is flushing
Comment 4 Sebastian Dröge (slomo) 2014-11-19 16:17:57 UTC
Created attachment 291014 [details] [review]
aggregator: Unblock events/queries immediately if the pad is flushing
Comment 5 Thibault Saunier 2014-11-19 16:30:59 UTC
Review of attachment 291010 [details] [review]:

Makes sense
Comment 6 Sebastian Dröge (slomo) 2014-11-19 17:05:39 UTC
commit 4ad698466204ffb0b6ecfdc7cdde78faaf6b16cf
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Wed Nov 19 17:17:06 2014 +0100

    aggregator: Unblock events/queries immediately if the pad is flushing
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740376

commit ce69180862f151776d94776bf1a8f67468eeaad8
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Wed Nov 19 17:15:02 2014 +0100

    aggregator: Drop serialized events/queries if the pad is flushing
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740376

commit a31faecb8b82414bc51ed460f1f85e893d98c0d1
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Wed Nov 19 17:03:41 2014 +0100

    aggregator: Block serialized events/queries until the pad has consumed all buffers
    
    Otherwise the caps of the pad might change while the subclass still works with
    a buffer of the old caps, assuming the the current pad caps apply to that
    buffer. Which then leads to crashes and other nice effects.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740376

commit 6c0d01ce173e4651df3462a3c599b19a179300b5
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Wed Nov 19 17:02:40 2014 +0100

    videoaggregator: Don't output 0-duration buffers at the segment end
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740376