Skip to content
  • Benjamin Otte's avatar
    plugins: Do not ever unload a plugin after calling into it · 8fe63000
    Benjamin Otte authored
    This is what can happen in a plugin_init function:
    - An element based on GstBaseSink is registered
    - Other elements fail to register
    - The plugin_init function returns FALSE
    
    Now if this the plugin is the first plugin to link against
    libgstbase.so, it will have caused libgstbase.so to be loaded and static
    strings from that library will have been added to gobject while
    registering GstBaseSink.
    
    So unloading the plugin will cause those strings to go stale and the
    next plugin using GstBaseSink will crash. So we must not unload modules
    after calling into them ever.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=572800
    8fe63000