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 745927 - baseparse: does not preserve discont flag
baseparse: does not preserve discont flag
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other All
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-03-09 23:17 UTC by Thiago Sousa Santos
Modified: 2015-05-04 23:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
tests: h264parse: test discont flag passing in h264parse (3.67 KB, patch)
2015-03-09 23:17 UTC, Thiago Sousa Santos
none Details | Review
baseparse: respect DISCONT flag on buffers (1.69 KB, patch)
2015-03-09 23:51 UTC, Thiago Sousa Santos
committed Details | Review

Description Thiago Sousa Santos 2015-03-09 23:17:16 UTC
Baseparse ignores DISCONT flags from upstream in forward playback.

No buffers leave baseparse with the discont flag except for the first one pushed or when parsing needs to skip data to resync.
Comment 1 Thiago Sousa Santos 2015-03-09 23:17:38 UTC
Created attachment 298931 [details] [review]
tests: h264parse: test discont flag passing in h264parse

Add test to check if the discont flag is preserved by h264parse
Comment 2 Thiago Sousa Santos 2015-03-09 23:51:02 UTC
Created attachment 298934 [details] [review]
baseparse: respect DISCONT flag on buffers

Drain the parser when a DISCONT buffer is received and then mark
the next buffer to be pushed as a DISCONT one
Comment 3 Thiago Sousa Santos 2015-04-28 00:28:56 UTC
Would someone have some time to look at this, please?
Comment 4 Nicolas Huet 2015-04-28 08:20:47 UTC
To fully fix your issue, you might also need this patch:
https://bugzilla.gnome.org/show_bug.cgi?id=738237
Comment 5 Thiago Sousa Santos 2015-04-28 14:12:34 UTC
Thanks for the review.

commit 4f4c040c02b755d9e7a3b4ab67ebb8e7c75f35d8
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Mon Mar 9 19:31:36 2015 -0300

    baseparse: respect DISCONT flag on buffers
    
    Drain the parser when a DISCONT buffer is received and then mark
    the next buffer to be pushed as a DISCONT one
    
    https://bugzilla.gnome.org/show_bug.cgi?id=745927
Comment 6 Thiago Sousa Santos 2015-04-28 15:58:18 UTC
push failed and I didn't notice. This is the commit that went in.

commit 8641997630a9a63cc23f3e3f883496073ea61f34
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Mon Mar 9 19:31:36 2015 -0300

    baseparse: respect DISCONT flag on buffers
    
    Drain the parser when a DISCONT buffer is received and then mark
    the next buffer to be pushed as a DISCONT one
    
    https://bugzilla.gnome.org/show_bug.cgi?id=745927
Comment 7 Olivier Crête 2015-05-04 23:13:17 UTC
I wonder if any of the guys working on more advanced H.264 decoders will be annoyed by this as you may be able to decode frames with slices missing in that case. This is also true of VP8, but it has no parser, so in this case, it doesn't matter.
Comment 8 Olivier Crête 2015-05-04 23:13:59 UTC
Forget what I said, I guess if alignment=nal, this is the right behavior.