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 721941 - baseparse: do not accumulate buffers on passthrough mode
baseparse: do not accumulate buffers on passthrough mode
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal normal
: 1.2.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-10 14:45 UTC by Thiago Sousa Santos
Modified: 2014-01-13 12:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
baseparse: do not accumulate buffers on passthrough mode (2.72 KB, patch)
2014-01-10 14:45 UTC, Thiago Sousa Santos
committed Details | Review

Description Thiago Sousa Santos 2014-01-10 14:45:40 UTC
If on passthrough and reverse playback, baseparse leaves the chain function
too early and never checks for DISCONT. In this case, it shouldn't accumulate
buffers to push on the next DISCONT. In passthrough mode it should always
push the buffers directly downstream
Comment 1 Thiago Sousa Santos 2014-01-10 14:45:42 UTC
Created attachment 265930 [details] [review]
baseparse: do not accumulate buffers on passthrough mode

If on passthrough during reverse playback, do not accumulate buffers as
baseparse will never check for DISCONT flag to push those buffers.
So just push buffers downstream as if it was forward playback.
Comment 2 Sebastian Dröge (slomo) 2014-01-10 15:24:34 UTC
Review of attachment 265930 [details] [review]:

Seems good, ideally we will also have a test for that ;)
Comment 3 Thiago Sousa Santos 2014-01-13 12:26:09 UTC
Fixes and test pushed to master

commit 4f9d382a0aa71d8ef8413d89b98018ee89e66d1e
Author: Thiago Santos <ts.santos@sisa.samsung.com>
Date:   Mon Jan 13 08:37:37 2014 -0300

    tests: baseparse: add test for reverse playback on passthrough
    
    Baseparse stores buffers for reverse playback to push on the next
    DISCONT, the issue was that it wouldn't ever check for a discont
    on passthrough mode as it skips all real parsing. This test
    was create to verify this issue and prevent it from happening again
    
    https://bugzilla.gnome.org/show_bug.cgi?id=721941

commit aad8123ff95cd6edc845dc0527512c042f54bc9a
Author: Thiago Santos <ts.santos@sisa.samsung.com>
Date:   Sat Jan 11 10:49:17 2014 -0300

    tests: baseparse: add basic test for baseparse
    
    Just a small test to check that basic playback works

commit a3ff2976cc4a29e785563d3a683054748be23e6f
Author: Thiago Santos <ts.santos@sisa.samsung.com>
Date:   Fri Jan 10 09:10:06 2014 -0300

    baseparse: do not accumulate buffers on passthrough mode
    
    If on passthrough during reverse playback, do not accumulate buffers as
    baseparse will never check for DISCONT flag to push those buffers.
    So just push buffers downstream as if it was forward playback.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=721941
Comment 4 Thiago Sousa Santos 2014-01-13 12:42:23 UTC
Also pushed to 1.2

commit 3f2bea0d4734d2a7db7df092e9a1e1a5a07ae374
Author: Thiago Santos <ts.santos@sisa.samsung.com>
Date:   Mon Jan 13 08:37:37 2014 -0300

    tests: baseparse: add test for reverse playback on passthrough
    
    Baseparse stores buffers for reverse playback to push on the next
    DISCONT, the issue was that it wouldn't ever check for a discont
    on passthrough mode as it skips all real parsing. This test
    was create to verify this issue and prevent it from happening again
    
    https://bugzilla.gnome.org/show_bug.cgi?id=721941

commit cd51c9c6d3bb35bd5e5572ab98c063b8cee675c9
Author: Thiago Santos <ts.santos@sisa.samsung.com>
Date:   Sat Jan 11 10:49:17 2014 -0300

    tests: baseparse: add basic test for baseparse
    
    Just a small test to check that basic playback works

commit 8f2a972071b98649a46826a479ac19c8254074d9
Author: Thiago Santos <ts.santos@sisa.samsung.com>
Date:   Fri Jan 10 09:10:06 2014 -0300

    baseparse: do not accumulate buffers on passthrough mode
    
    If on passthrough during reverse playback, do not accumulate buffers as
    baseparse will never check for DISCONT flag to push those buffers.
    So just push buffers downstream as if it was forward playback.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=721941