From: Gwenole Beauchesne Date: Wed, 1 Aug 2012 13:46:35 +0000 (+0200) Subject: vaapisink: handle VA/DRM API. X-Git-Tag: accepted/trunk/20120822.173359~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dfff02689c895bda679ad035e62b8bb04abf2a69;p=profile%2Fivi%2Fgstreamer-vaapi.git vaapisink: handle VA/DRM API. This is not useful in practice but for raw performance evaluation when the sink is invoked with display=drm sync=false. fakesink could also be used though. --- diff --git a/gst/vaapi/gstvaapisink.c b/gst/vaapi/gstvaapisink.c index 7f18506..4611974 100644 --- a/gst/vaapi/gstvaapisink.c +++ b/gst/vaapi/gstvaapisink.c @@ -35,6 +35,9 @@ #include #include #include +#if USE_DRM +# include +#endif #if USE_X11 # include # include @@ -479,6 +482,11 @@ gst_vaapisink_set_caps(GstBaseSink *base_sink, GstCaps *caps) guint win_width, win_height, display_width, display_height; gint video_width, video_height, video_par_n = 1, video_par_d = 1; +#if USE_DRM + if (sink->display_type == GST_VAAPI_DISPLAY_TYPE_DRM) + return TRUE; +#endif + if (!structure) return FALSE; if (!gst_structure_get_int(structure, "width", &video_width)) @@ -744,6 +752,11 @@ gst_vaapisink_show_frame(GstBaseSink *base_sink, GstBuffer *buffer) success = gst_vaapisink_show_frame_glx(sink, surface, flags); break; #endif +#if USE_DRM + case GST_VAAPI_DISPLAY_TYPE_DRM: + success = TRUE; + break; +#endif #if USE_X11 case GST_VAAPI_DISPLAY_TYPE_X11: success = gst_vaapisink_put_surface(sink, surface, flags);