add display-width, display-height support in gst_vaapisink_prepare_xid
authorZhao Halley <halley.zhao@intel.com>
Fri, 22 Mar 2013 09:30:14 +0000 (17:30 +0800)
committerZhao Halley <halley.zhao@intel.com>
Fri, 3 May 2013 05:46:15 +0000 (13:46 +0800)
it give app better choice on how big a Pixmap should be created.

Change-Id: I518c21f09f0bafb3725ca4f5a9ada5f69257486c

gst/vaapi/gstvaapisink.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index d3711d3..8d8cdc3
@@ -141,6 +141,7 @@ gst_vaapisink_prepare_xid (GstXOverlay * overlay)
 {
   GstStructure *s;
   GstMessage *msg;
+  guint display_width, display_height;
 
   g_return_if_fail (overlay != NULL);
   g_return_if_fail (GST_IS_X_OVERLAY (overlay));
@@ -148,15 +149,17 @@ gst_vaapisink_prepare_xid (GstXOverlay * overlay)
   GstVaapiSink *sink;
   sink = GST_VAAPISINK (GST_OBJECT (overlay));
 
+  gst_vaapi_display_get_size(sink->display, &display_width, &display_height);
+
   GST_DEBUG ("post \"prepare-xid\" element message with video-width(%d), video-height(%d), display-width(%d), display-height(%d)",
-       sink->video_width, sink->video_height, sink->window_width, sink->window_height);
+       sink->video_width, sink->video_height, display_width, display_height); 
 
   GST_LOG_OBJECT (GST_OBJECT (overlay), "prepare xid");
   s = gst_structure_new ("prepare-xid",
         "video-width", G_TYPE_INT, sink->video_width,
         "video-height", G_TYPE_INT, sink->video_height,
-        "display-width", G_TYPE_INT, sink->window_width,
-        "display-height", G_TYPE_INT, sink->window_height,
+        "display-width", G_TYPE_INT, display_width, 
+        "display-height", G_TYPE_INT, display_height,
         NULL);
   msg = gst_message_new_element (GST_OBJECT (overlay), s);
   gst_element_post_message (GST_ELEMENT (overlay), msg);