Skip to content
  • Tim-Philipp Müller's avatar
    fakesink: hack around crasher bug in g_object_notify() for out-of-band events · 7e4b164c
    Tim-Philipp Müller authored
    GObject may crash if two threads do concurrent g_object_notify() on the same
    object. This may happen if fakesink receives an out-of-band event such as
    FLUSH_START while processing a buffer or serialised event in the streaming
    thread. Since this may happen with the default settings during a common
    operation like a seek, and there seems to be little chance of a timely fix
    in GObject (see #166020), we should hack around this issue by protecting all
    of fakesink's direct g_object_notify() calls with a lock.
    
    Also add unit test for the above.
    
    Fixes #554460.
    7e4b164c