openni2src: Add proper clean up of OpenNI2 objects

https://bugzilla.gnome.org/show_bug.cgi?id=732535
This commit is contained in:
Arun Raghavan 2014-07-01 12:34:44 +05:30
parent 46a7f258a1
commit 652f0b4fd2

View File

@ -219,13 +219,11 @@ gst_openni2_src_finalize (GObject * gobject)
} }
if (ni2src->depth) { if (ni2src->depth) {
ni2src->depth->destroy ();
delete ni2src->depth; delete ni2src->depth;
ni2src->depth = NULL; ni2src->depth = NULL;
} }
if (ni2src->color) { if (ni2src->color) {
ni2src->color->destroy ();
delete ni2src->color; delete ni2src->color;
ni2src->color = NULL; ni2src->color = NULL;
} }
@ -333,10 +331,21 @@ gst_openni2_src_stop (GstBaseSrc * bsrc)
{ {
GstOpenni2Src *src = GST_OPENNI2_SRC (bsrc); GstOpenni2Src *src = GST_OPENNI2_SRC (bsrc);
if (src->depth->isValid ()) if (src->depthFrame)
src->depthFrame->release ();
if (src->colorFrame)
src->colorFrame->release ();
if (src->depth->isValid ()) {
src->depth->stop (); src->depth->stop ();
if (src->color->isValid ()) src->depth->destroy ();
}
if (src->color->isValid ()) {
src->color->stop (); src->color->stop ();
src->color->destroy ();
}
src->device->close (); src->device->close ();