GNOME Bugzilla – Bug 740616
decklinksink: crash on recreation
Last modified: 2014-11-28 13:52:14 UTC
If I create pipeline with decklinksink it run fine on first run. Then I stop that pipeline with EOS. After that when I tear down the pipeline and setup new one it crash on gst_element_set_state(pipeline, GST_STATE_PLAYING). Backtrace show that it crash in gstdecklinksink.cpp - gst_decklink_sink_start() on line decklinksink->output->SetAudioCallback (decklinksink->callback); It doesn't crash anymore if I comment out gstdecklink.cpp:217 inited = TRUE; in init_device() method.
I can confirm this, but not 100% sure why this would happen yet.
commit ee8766b342a9feb68f1e1ed4947db1f3ca5660b3 Author: Sebastian Dröge <sebastian@centricular.com> Date: Fri Nov 28 14:50:18 2014 +0100 decklinksrc: Handle callback/delegate object the same way as in the sink Potentially fixes crashes. commit 2a0123d79a86b4d22a147cebf5cdb9c80158ef87 Author: Sebastian Dröge <sebastian@centricular.com> Date: Fri Nov 28 14:46:06 2014 +0100 decklinksink: Don't crash when going to READY another time We have to handle the callback object a bit different: a) it needs a virtual destructor b) we need to set the callback to NULL when we're done with the output c) create a new one every time https://bugzilla.gnome.org/show_bug.cgi?id=740616