PROP_0,
PROP_DISPLAY_TYPE,
+ PROP_DISPLAY_NAME,
PROP_FULLSCREEN,
PROP_SYNCHRONOUS,
PROP_USE_GLX,
gst_vaapisink_video_overlay_expose(GstVideoOverlay *overlay)
{
GstVaapiSink * const sink = GST_VAAPISINK(overlay);
- GstBaseSink * const base_sink = GST_BASE_SINK(overlay);
- GstBuffer *buffer;
- if (sink->use_overlay)
- buffer = sink->video_buffer ? gst_buffer_ref(sink->video_buffer) : NULL;
- else {
-#if GST_CHECK_VERSION(1,0,0)
- GstSample * const sample = gst_base_sink_get_last_sample(base_sink);
- if (!sample)
- return;
- buffer = gst_buffer_ref(gst_sample_get_buffer(sample));
- gst_sample_unref(sample);
-#else
- buffer = gst_base_sink_get_last_buffer(base_sink);
-#endif
- }
- if (buffer) {
- gst_vaapisink_show_frame(base_sink, buffer);
- gst_buffer_unref(buffer);
- }
+ if (sink->video_buffer)
+ gst_vaapisink_show_frame(GST_BASE_SINK_CAST(sink),
+ gst_buffer_ref(sink->video_buffer));
}
static void
goto error;
/* Retain VA surface until the next one is displayed */
- if (sink->use_overlay)
- gst_buffer_replace(&sink->video_buffer, buffer);
+ gst_buffer_replace(&sink->video_buffer, buffer);
gst_buffer_unref(buffer);
return GST_FLOW_OK;
gst_vaapi_plugin_base_set_display_type(GST_VAAPI_PLUGIN_BASE(sink),
g_value_get_enum(value));
break;
+ case PROP_DISPLAY_NAME:
+ gst_vaapi_plugin_base_set_display_name(GST_VAAPI_PLUGIN_BASE(sink),
+ g_value_get_string(value));
+ break;
case PROP_FULLSCREEN:
sink->fullscreen = g_value_get_boolean(value);
break;
case PROP_DISPLAY_TYPE:
g_value_set_enum(value, GST_VAAPI_PLUGIN_BASE_DISPLAY_TYPE(sink));
break;
+ case PROP_DISPLAY_NAME:
+ g_value_set_string(value, GST_VAAPI_PLUGIN_BASE_DISPLAY_NAME(sink));
+ break;
case PROP_FULLSCREEN:
g_value_set_boolean(value, sink->fullscreen);
break;
GST_VAAPI_DISPLAY_TYPE_ANY,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property
+ (object_class,
+ PROP_DISPLAY_NAME,
+ g_param_spec_string("display-name",
+ "display name",
+ "display name to use",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
#if USE_GLX
g_object_class_install_property
(object_class,