GNOME Bugzilla – Bug 685726
audioencoder: Timestamp and buffer tracking not threadsafe
Last modified: 2018-11-03 11:22:10 UTC
The audio decoder base class passes buffers from gst_adapter_map() to the subclass via handle_frame(), and flushes them from the adapter in finish_frame(). For elements that have a different streaming thread for the srcpad and call finish_frame() from a different thread (gst-omx, gst-amc, probably others) this means that the subclass can be in handle_frame() using the mapped data while the srcpad streaming thread is doing finish_frame() for another frame and flushing data from the adapter. This can cause usage of freed memory in handle_frame() and most likely also breaks timestamp tracking in interesting ways.
Sebastian, still valid ? Still want to keep this open ?
Still valid, but I don't think we can do anything about it other than making a new base class I'd keep this open to have a reference to point people at whenever they run into problems related to it.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/73.