<xi:include href="xml/gstvaapidecoder_vc1.xml"/>
<xi:include href="xml/gstvaapidecoder_ffmpeg.xml"/>
<xi:include href="xml/gstvaapisurfaceproxy.xml"/>
- <xi:include href="xml/gstvaapivideosink.xml"/>
</chapter>
<chapter id="object-tree">
</SECTION>
<SECTION>
-<FILE>gstvaapivideosink</FILE>
-<TITLE>GstVaapiVideoSink</TITLE>
-GST_VAAPI_VIDEO_SINK_GET_INTERFACE
-GstVaapiVideoSinkInterface
-gst_vaapi_video_sink_get_display
-gst_vaapi_video_sink_lookup
-<SUBSECTION Standard>
-GST_VAAPI_VIDEO_SINK
-GST_VAAPI_IS_VIDEO_SINK
-GST_VAAPI_TYPE_VIDEO_SINK
-gst_vaapi_video_sink_get_type
-</SECTION>
-
-<SECTION>
<FILE>gstvaapidisplay_x11</FILE>
<TITLE>GstVaapiDisplayX11</TITLE>
GstVaapiDisplayX11
gstvaapivalue.c \
gstvaapivideobuffer.c \
gstvaapivideopool.c \
- gstvaapivideosink.c \
gstvaapiwindow.c \
$(NULL)
gstvaapivalue.h \
gstvaapivideobuffer.h \
gstvaapivideopool.h \
- gstvaapivideosink.h \
gstvaapiwindow.h \
$(NULL)
+++ /dev/null
-/*
- * gstvaapivideosink.c - VA sink interface
- *
- * Copyright (C) 2010-2011 Splitted-Desktop Systems
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-/**
- * SECTION:gstvaapivideosink
- * @short_description: An interface for implementing VA-API sink elements
- */
-
-#include "sysdeps.h"
-#include "gstvaapivideosink.h"
-
-static void
-gst_vaapi_video_sink_base_init(gpointer g_class)
-{
- static gboolean is_initialized = FALSE;
-
- if (!is_initialized) {
- is_initialized = TRUE;
- }
-}
-
-GType
-gst_vaapi_video_sink_get_type(void)
-{
- static GType iface_type = 0;
-
- if (G_UNLIKELY(!iface_type)) {
- static const GTypeInfo info = {
- sizeof(GstVaapiVideoSinkInterface),
- gst_vaapi_video_sink_base_init, /* base_init */
- NULL, /* base_finalize */
- };
-
- iface_type = g_type_register_static(
- G_TYPE_INTERFACE,
- "GstVaapiVideoSink",
- &info,
- 0
- );
- }
- return iface_type;
-}
-
-/**
- * gst_vaapi_video_sink_get_display:
- * @sink: a #GstElement
- *
- * Returns the #GstVaapiDisplay created by the VA-API @sink element.
- *
- * Return value: the #GstVaapiDisplay created by the @sink element
- */
-GstVaapiDisplay *
-gst_vaapi_video_sink_get_display(GstVaapiVideoSink *sink)
-{
- g_return_val_if_fail(GST_VAAPI_IS_VIDEO_SINK(sink), NULL);
-
- return GST_VAAPI_VIDEO_SINK_GET_INTERFACE(sink)->get_display(sink);
-}
-
-/**
- * gst_vaapi_video_sink_lookup:
- * @element: a #GstElement
- *
- * Traverses the whole downstream elements chain and finds a suitable
- * #GstVaapiDisplay. This is a helper function for intermediate VA-API
- * elements that don't create a #GstVaapiDisplay but require one.
- * e.g. the `vaapiconvert' element.
- *
- * Return value: the #GstVaapiDisplay created by a downstream sink
- * element, or %NULL if none was found
- */
-GstVaapiVideoSink *
-gst_vaapi_video_sink_lookup(GstElement *element)
-{
- GstVaapiVideoSink *sink = NULL;
- GstPad *pad, *peer;
-
- g_return_val_if_fail(GST_IS_ELEMENT(element), NULL);
-
- while (!sink) {
- pad = gst_element_get_static_pad(element, "src");
- if (!pad)
- break;
-
- peer = gst_pad_get_peer(pad);
- g_object_unref(pad);
- if (!peer)
- break;
-
- element = gst_pad_get_parent_element(peer);
- g_object_unref(peer);
- if (!element)
- break;
-
- if (GST_VAAPI_IS_VIDEO_SINK(element))
- sink = GST_VAAPI_VIDEO_SINK(element);
- g_object_unref(element);
- }
- return sink;
-}
+++ /dev/null
-/*
- * gstvaapivideosink.h - VA sink interface
- *
- * Copyright (C) 2010-2011 Splitted-Desktop Systems
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifndef GST_VAAPI_VIDEO_SINK_H
-#define GST_VAAPI_VIDEO_SINK_H
-
-#include <gst/gstelement.h>
-#include <gst/vaapi/gstvaapidisplay.h>
-
-G_BEGIN_DECLS
-
-#define GST_VAAPI_TYPE_VIDEO_SINK \
- (gst_vaapi_video_sink_get_type())
-
-#define GST_VAAPI_VIDEO_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), \
- GST_VAAPI_TYPE_VIDEO_SINK, \
- GstVaapiVideoSink))
-
-#define GST_VAAPI_IS_VIDEO_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_VAAPI_TYPE_VIDEO_SINK))
-
-#define GST_VAAPI_VIDEO_SINK_GET_INTERFACE(obj) \
- (G_TYPE_INSTANCE_GET_INTERFACE((obj), \
- GST_VAAPI_TYPE_VIDEO_SINK, \
- GstVaapiVideoSinkInterface))
-
-typedef struct _GstVaapiVideoSink GstVaapiVideoSink; /* dummy */
-typedef struct _GstVaapiVideoSinkInterface GstVaapiVideoSinkInterface;
-
-/**
- * GstVaapiVideoSinkInterface:
- * @get_display: virtual function for retrieving the #GstVaapiDisplay created
- * by the downstream sink element. The implementation of that virtual
- * function is required for all Gstreamer/VAAPI sink elements.
- */
-struct _GstVaapiVideoSinkInterface {
- /*< private >*/
- GTypeInterface g_iface;
-
- /*< public >*/
- GstVaapiDisplay *(*get_display)(GstVaapiVideoSink *sink);
-};
-
-GType
-gst_vaapi_video_sink_get_type(void) G_GNUC_CONST;
-
-GstVaapiDisplay *
-gst_vaapi_video_sink_get_display(GstVaapiVideoSink *sink);
-
-GstVaapiVideoSink *
-gst_vaapi_video_sink_lookup(GstElement *element);
-
-G_END_DECLS
-
-#endif /* GST_VAAPI_VIDEO_SINK_H */
#include "config.h"
#include <gst/vaapi/gstvaapidisplay.h>
-#include <gst/vaapi/gstvaapivideosink.h>
#include <gst/vaapi/gstvaapivideobuffer.h>
#include <gst/video/videocontext.h>
#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/videocontext.h>
-#include <gst/vaapi/gstvaapivideosink.h>
#include <gst/vaapi/gstvaapivideobuffer.h>
#include "gstvaapidownload.h"
#include "config.h"
#include <gst/video/video.h>
#include <gst/video/videocontext.h>
-#include <gst/vaapi/gstvaapivideosink.h>
#include <gst/vaapi/gstvaapivideobuffer.h>
#include "gstvaapipostproc.h"
#include <gst/video/video.h>
#include <gst/video/videocontext.h>
#include <gst/vaapi/gstvaapivideobuffer.h>
-#include <gst/vaapi/gstvaapivideosink.h>
#if USE_DRM
# include <gst/vaapi/gstvaapidisplay_drm.h>
#endif
iface->supported = gst_vaapisink_implements_interface_supported;
}
-/* GstVaapiVideoSink interface */
+/* GstVideoContext interface */
static void
gst_vaapisink_set_video_context(GstVideoContext *context, const gchar *type,
#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/videocontext.h>
-#include <gst/vaapi/gstvaapivideosink.h>
#include <gst/vaapi/gstvaapivideobuffer.h>
#include "gstvaapiupload.h"