summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorHans-Christian Ebke <christian.ebke@rwth-aachen.de>2013-01-03 18:04:19 +0000
committerDamien Lespiau <damien.lespiau@intel.com>2013-01-03 18:13:38 +0000
commit3647442ccd22751bcd5fab60e739aab0bd76c73b (patch)
tree776c1731a61e6960aca3e250f4c98afd9bb9df84 /configure.ac
parent9566ebec41b5746570858437d81d484688b08f44 (diff)
downloadclutter-gst-1.6.tar.gz
auto-sink: Ensure the IS_SINK flagclutter-gst-1.6
The ClutterGstAutoVideoSink sets its GST_ELEMENT_IS_SINK flag in its init method. However, in contrast to the ClutterGstVideoSink, this class is not based on GstBaseSink but on GstBin instead. The problem is that GstBin automatically sets its GST_ELEMENT_IS_SINK flag whenever a sink is added. It also automatically unsets it whenever the last sink is removed from the bin. Now, after the first video clip is finished and the pipeline leaves the PLAYING state, the encapsulated ClutterGstVideoSink is removed from the ClutterGstAutoVideoSink leaving it without any sinks and thus making it lose its GST_ELEMENT_IS_SINK flag. Apparently this happens even before the EOS signal is broadcast in the pipeline. Interestingly, the ClutterGstAutoVideoSink does receive the EOS signal and forwards it to its parent, the vbin of the playsink. But the vbin ignores the signal because in bin_do_eos (gstbin.c) the is_eos check fails. This check, in turn, fails because the bin_element_is_sink check fails on its child, the ClutterGstAutoVideoSink (because its GST_ELEMENT_IS_SINK flag isn't set anymore). Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=679611
Diffstat (limited to 'configure.ac')
0 files changed, 0 insertions, 0 deletions