vaapisink: drop obsolete GstVaapiVideoSink interface.

This interface was deprecated since 0.3.x series when the GstVideoContext
interface was added to the main GStreamer APIs.
This commit is contained in:
Gwenole Beauchesne 2012-08-29 13:18:05 +02:00
parent 0ef393c6af
commit 4a1127dd7c
10 changed files with 1 additions and 215 deletions

View file

@ -36,7 +36,6 @@
<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">

View file

@ -39,20 +39,6 @@ GST_VAAPI_IS_VIDEO_POOL_CLASS
GST_VAAPI_VIDEO_POOL_GET_CLASS
</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>

View file

@ -65,7 +65,6 @@ libgstvaapi_source_c = \
gstvaapivalue.c \
gstvaapivideobuffer.c \
gstvaapivideopool.c \
gstvaapivideosink.c \
gstvaapiwindow.c \
$(NULL)
@ -92,7 +91,6 @@ libgstvaapi_source_h = \
gstvaapivalue.h \
gstvaapivideobuffer.h \
gstvaapivideopool.h \
gstvaapivideosink.h \
gstvaapiwindow.h \
$(NULL)

View file

@ -1,118 +0,0 @@
/*
* 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;
}

View file

@ -1,74 +0,0 @@
/*
* 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 */

View file

@ -31,7 +31,6 @@
#include "config.h"
#include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapivideosink.h>
#include <gst/vaapi/gstvaapivideobuffer.h>
#include <gst/video/videocontext.h>

View file

@ -32,7 +32,6 @@
#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"

View file

@ -31,7 +31,6 @@
#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"

View file

@ -34,7 +34,6 @@
#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
@ -128,7 +127,7 @@ gst_vaapisink_implements_iface_init(GstImplementsInterfaceClass *iface)
iface->supported = gst_vaapisink_implements_interface_supported;
}
/* GstVaapiVideoSink interface */
/* GstVideoContext interface */
static void
gst_vaapisink_set_video_context(GstVideoContext *context, const gchar *type,

View file

@ -33,7 +33,6 @@
#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"