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 762542 - matroskademux: CRITICAL when seeking on matroska files without buffers
matroskademux: CRITICAL when seeking on matroska files without buffers
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.6.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
1.6.4
Depends on:
Blocks:
 
 
Reported: 2016-02-23 15:30 UTC by Linus Svensson
Modified: 2016-04-14 17:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix a memory leak (837 bytes, patch)
2016-02-23 15:30 UTC, Linus Svensson
committed Details | Review
Sanity check for seek event (1.04 KB, patch)
2016-02-23 15:31 UTC, Linus Svensson
committed Details | Review

Description Linus Svensson 2016-02-23 15:30:45 UTC
Created attachment 321988 [details] [review]
Fix a memory leak

matroskademux will raise a CRITICAL when performing a seek and the matroskafile lacks frames. If the seek arrives at the pad, it will silently return FALSE, but if the seek is sent to the demuxer directly a CRITICIAL is seen:

CRITICAL **: gst_matroska_demux_search_pos: assertion 'current_state == GST_MATROSKA_READ_STATE_DATA' failed

This will be the case even if the application waits for async-done (the pipeline will also be eos after that) and then sends a flushing seek.

Attached a patch that makes the _send_event() function do the same sanity check as if the seek entered through a pad.

Also found a memory leak that I fixed.
Comment 1 Linus Svensson 2016-02-23 15:31:53 UTC
Created attachment 321989 [details] [review]
Sanity check for seek event
Comment 2 Sebastian Dröge (slomo) 2016-02-23 15:57:14 UTC
commit a5691af31972df64350bbd52914fce1c3a7b5c0c
Author: Linus Svensson <linussn@axis.com>
Date:   Tue Feb 23 15:57:18 2016 +0100

    matroska-demux: Don't handle seek until ready
    
    https://bugzilla.gnome.org/show_bug.cgi?id=762542

commit 1a3986d0162b8c54107832f8e3e9e5416d78e52c
Author: Linus Svensson <linussn@axis.com>
Date:   Tue Feb 23 15:55:13 2016 +0100

    matroska-demux: Unref seek event
    
    https://bugzilla.gnome.org/show_bug.cgi?id=762542