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 639778 - discoverer: Drop new stream tags once preroll is done
discoverer: Drop new stream tags once preroll is done
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other All
: Normal normal
: 0.10.32
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-01-17 19:47 UTC by Arun Raghavan
Modified: 2011-01-17 23:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
discoverer: Drop new stream tags once preroll is done (2.12 KB, patch)
2011-01-17 19:47 UTC, Arun Raghavan
committed Details | Review

Description Arun Raghavan 2011-01-17 19:47:36 UTC
There can be a race between the pad event probe function and discoverer processing since the former works on taglists that the latter might also be using at the same time. I'm attaching a patch to fix this. The problem occured randomly while running on a large number of files. The actual crash always happened on a (random) FLAC file for me.
Comment 1 Arun Raghavan 2011-01-17 19:47:40 UTC
Created attachment 178553 [details] [review]
discoverer: Drop new stream tags once preroll is done

This makes sure we do not touch the stream taglist once the pipeline has
been prerolled. Adding of stream tags happens in the pad event probe
which runs in a different thread from discoverer stream processing, so
modifying the tag list while discoverer might be processing it can
sometimes cause a crash.
Comment 2 Tim-Philipp Müller 2011-01-17 23:51:33 UTC
commit 6ac2e5d3846b2038113ed2dda7c298e296faa938
Author: Arun Raghavan <arun.raghavan@collabora.co.uk>
Date:   Tue Jan 18 01:09:53 2011 +0530

    discoverer: Drop new stream tags once preroll is done
    
    This makes sure we do not touch the stream taglist once the pipeline has
    been prerolled. Adding of stream tags happens in the pad event probe
    which runs in a different thread from discoverer stream processing, so
    modifying the tag list while discoverer might be processing it can
    sometimes cause a crash.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=639778