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 780795 - Multiqueue: don't allow dropping SEGMENT_DONE events
Multiqueue: don't allow dropping SEGMENT_DONE events
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal normal
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-04-01 05:18 UTC by Mathieu Duponchelle
Modified: 2017-09-22 12:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Multiqueue: don't allow dropping SEGMENT_DONE events (961 bytes, patch)
2017-04-01 05:19 UTC, Mathieu Duponchelle
none Details | Review
Multiqueue: don't allow dropping SEGMENT_DONE events (918 bytes, patch)
2017-04-02 04:33 UTC, Mathieu Duponchelle
none Details | Review
Multiqueue: don't allow dropping SEGMENT_DONE events (3.56 KB, patch)
2017-07-07 17:32 UTC, Mathieu Duponchelle
committed Details | Review

Description Mathieu Duponchelle 2017-04-01 05:18:56 UTC
This was preventing segment seeks from ever being detected as done
by downstream elements.
Comment 1 Mathieu Duponchelle 2017-04-01 05:19:00 UTC
Created attachment 349101 [details] [review]
Multiqueue: don't allow dropping SEGMENT_DONE events
Comment 2 Thiago Sousa Santos 2017-04-01 17:26:23 UTC
Review of attachment 349101 [details] [review]:

Patch seems to make sense but I'm curious on why this happens? Downstream is returning EOS in the end of a segment?

Also, isn't it more readable and faster just to set the variable to false instead of doing the if before setting?
Comment 3 Mathieu Duponchelle 2017-04-02 04:33:51 UTC
Created attachment 349133 [details] [review]
Multiqueue: don't allow dropping SEGMENT_DONE events
Comment 4 Mathieu Duponchelle 2017-04-02 04:36:19 UTC
(In reply to Thiago Sousa Santos from comment #2)
> Review of attachment 349101 [details] [review] [review]:
> 
> Patch seems to make sense but I'm curious on why this happens? Downstream is
> returning EOS in the end of a segment?

Yes, that is exactly what happens, the decoders returns EOS.

> 
> Also, isn't it more readable and faster just to set the variable to false
> instead of doing the if before setting?

Yep, just copy pasted what the GST_EVENT_EOS case was doing, but there's indeed no point in that if, fixed.

Thanks for the review!
Comment 5 Thiago Sousa Santos 2017-07-07 17:04:32 UTC
Review of attachment 349133 [details] [review]:

Feel free to also remove the if from the EOS case, seems useless as well.
Comment 6 Mathieu Duponchelle 2017-07-07 17:32:29 UTC
Created attachment 355106 [details] [review]
Multiqueue: don't allow dropping SEGMENT_DONE events
Comment 7 Mathieu Duponchelle 2017-07-07 17:33:30 UTC
Erg I'm sorry, I had updated that patch locally but forgot to resubmit it, I've attached the updated version.
Comment 8 Mathieu Duponchelle 2017-09-22 10:42:48 UTC
Attachment 355106 [details] pushed as 053f152 - Multiqueue: don't allow dropping SEGMENT_DONE events