[xvimagesink] Fix seg.fault when user set visible property in case of pixmap usage submit/tizen_2.2/20130714.145625
authorSangchul Lee <sc11.lee@samsung.com>
Thu, 11 Jul 2013 06:21:44 +0000 (15:21 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Thu, 11 Jul 2013 06:21:44 +0000 (15:21 +0900)
Change-Id: Iafb9091ac35f8d809f9a50cccc224923e10470cd

packaging/gst-plugins-base.spec
sys/xvimage/xvimagesink.c

index e94f082..605b970 100644 (file)
@@ -1,7 +1,7 @@
 Name:       gst-plugins-base
 Summary:    GStreamer streaming media framework base plug-ins
 Version:    0.10.36
-Release:    28
+Release:    29
 Group:      Applications/Multimedia
 License:    LGPLv2+
 Source0:    %{name}-%{version}.tar.gz
index 38313f9..6269ff5 100644 (file)
@@ -5564,7 +5564,13 @@ gst_xvimagesink_set_property (GObject * object, guint prop_id,
           }
 #endif
           xvimagesink->visible = g_value_get_boolean (value);
-          XvStopVideo(xvimagesink->xcontext->disp, xvimagesink->xcontext->xv_port_id, xvimagesink->xwindow->win);
+          if ( xvimagesink->get_pixmap_cb ) {
+            if (xvimagesink->xpixmap[0] && xvimagesink->xpixmap[0]->pixmap) {
+              XvStopVideo (xvimagesink->xcontext->disp, xvimagesink->xcontext->xv_port_id, xvimagesink->xpixmap[0]->pixmap);
+              }
+          } else {
+            XvStopVideo(xvimagesink->xcontext->disp, xvimagesink->xcontext->xv_port_id, xvimagesink->xwindow->win);
+          }
           XSync( xvimagesink->xcontext->disp, FALSE );
         } else {
           GST_WARNING_OBJECT( xvimagesink, "xcontext is null, failed to set visible");