GST_STATIC_CAPS(gst_vaapidecode_src_caps_str));
static void
+gst_vaapidecode_implements_iface_init(GstImplementsInterfaceClass *iface);
+
+static void
gst_video_context_interface_init(GstVideoContextInterface *iface);
#define GstVideoContextClass GstVideoContextInterface
GstVaapiDecode,
gst_vaapidecode,
GST_TYPE_ELEMENT,
+ G_IMPLEMENT_INTERFACE(GST_TYPE_IMPLEMENTS_INTERFACE,
+ gst_vaapidecode_implements_iface_init);
G_IMPLEMENT_INTERFACE(GST_TYPE_VIDEO_CONTEXT,
gst_video_context_interface_init));
return gst_vaapidecode_create(decode, caps);
}
+/* GstImplementsInterface interface */
+
+static gboolean
+gst_vaapidecode_implements_interface_supported(
+ GstImplementsInterface *iface,
+ GType type
+)
+{
+ return (type == GST_TYPE_VIDEO_CONTEXT);
+}
+
+static void
+gst_vaapidecode_implements_iface_init(GstImplementsInterfaceClass *iface)
+{
+ iface->supported = gst_vaapidecode_implements_interface_supported;
+}
+
/* GstVideoContext interface */
static void
gst_vaapi_set_display (type, value, &decode->display);
}
-static gboolean
-gst_video_context_supported (GstVaapiDecode *decode, GType iface_type)
-{
- return (iface_type == GST_TYPE_VIDEO_CONTEXT);
-}
-
static void
gst_video_context_interface_init(GstVideoContextInterface *iface)
{
};
static void
+gst_vaapidownload_implements_iface_init(GstImplementsInterfaceClass *iface);
+
+static void
gst_video_context_interface_init(GstVideoContextInterface *iface);
#define GstVideoContextClass GstVideoContextInterface
GstVaapiDownload,
gst_vaapidownload,
GST_TYPE_BASE_TRANSFORM,
+ G_IMPLEMENT_INTERFACE(GST_TYPE_IMPLEMENTS_INTERFACE,
+ gst_vaapidownload_implements_iface_init);
G_IMPLEMENT_INTERFACE(GST_TYPE_VIDEO_CONTEXT,
gst_video_context_interface_init));
GstQuery *query
);
+/* GstImplementsInterface interface */
+
+static gboolean
+gst_vaapidownload_implements_interface_supported(
+ GstImplementsInterface *iface,
+ GType type
+)
+{
+ return (type == GST_TYPE_VIDEO_CONTEXT);
+}
+
+static void
+gst_vaapidownload_implements_iface_init(GstImplementsInterfaceClass *iface)
+{
+ iface->supported = gst_vaapidownload_implements_interface_supported;
+}
+
/* GstVideoContext interface */
static void
gst_vaapi_set_display (type, value, &download->display);
}
-static gboolean
-gst_video_context_supported (GstVaapiDownload *download, GType iface_type)
-{
- return (iface_type == GST_TYPE_VIDEO_CONTEXT);
-}
-
static void
gst_video_context_interface_init(GstVideoContextInterface *iface)
{
GST_STATIC_CAPS(gst_vaapipostproc_src_caps_str));
static void
+gst_vaapipostproc_implements_iface_init(GstImplementsInterfaceClass *iface);
+
+static void
gst_video_context_interface_init(GstVideoContextInterface *iface);
#define GstVideoContextClass GstVideoContextInterface
GstVaapiPostproc,
gst_vaapipostproc,
GST_TYPE_ELEMENT,
+ G_IMPLEMENT_INTERFACE(GST_TYPE_IMPLEMENTS_INTERFACE,
+ gst_vaapipostproc_implements_iface_init);
G_IMPLEMENT_INTERFACE(GST_TYPE_VIDEO_CONTEXT,
gst_video_context_interface_init));
return GST_VAAPIPOSTPROC(gst_pad_get_parent_element(pad));
}
+/* GstImplementsInterface interface */
+
+static gboolean
+gst_vaapipostproc_implements_interface_supported(
+ GstImplementsInterface *iface,
+ GType type
+)
+{
+ return (type == GST_TYPE_VIDEO_CONTEXT);
+}
+
+static void
+gst_vaapipostproc_implements_iface_init(GstImplementsInterfaceClass *iface)
+{
+ iface->supported = gst_vaapipostproc_implements_interface_supported;
+}
+
/* GstVideoContext interface */
static void
gst_vaapi_set_display(type, value, &postproc->display);
}
-static gboolean
-gst_video_context_supported(GstVaapiPostproc *postproc, GType iface_type)
-{
- return (iface_type == GST_TYPE_VIDEO_CONTEXT);
-}
-
static void
gst_video_context_interface_init(GstVideoContextInterface *iface)
{
GST_STATIC_CAPS(gst_vaapiupload_vaapi_caps_str));
static void
+gst_vaapiupload_implements_iface_init(GstImplementsInterfaceClass *iface);
+
+static void
gst_video_context_interface_init(GstVideoContextInterface *iface);
#define GstVideoContextClass GstVideoContextInterface
GstVaapiUpload,
gst_vaapiupload,
GST_TYPE_BASE_TRANSFORM,
+ G_IMPLEMENT_INTERFACE(GST_TYPE_IMPLEMENTS_INTERFACE,
+ gst_vaapiupload_implements_iface_init);
G_IMPLEMENT_INTERFACE(GST_TYPE_VIDEO_CONTEXT,
gst_video_context_interface_init));
GstQuery *query
);
+/* GstImplementsInterface interface */
+
+static gboolean
+gst_vaapiupload_implements_interface_supported(
+ GstImplementsInterface *iface,
+ GType type
+)
+{
+ return (type == GST_TYPE_VIDEO_CONTEXT);
+}
+
+static void
+gst_vaapiupload_implements_iface_init(GstImplementsInterfaceClass *iface)
+{
+ iface->supported = gst_vaapiupload_implements_interface_supported;
+}
+
/* GstVideoContext interface */
static void
gst_vaapi_set_display (type, value, &upload->display);
}
-static gboolean
-gst_video_context_supported (GstVaapiUpload *upload, GType iface_type)
-{
- return (iface_type == GST_TYPE_VIDEO_CONTEXT);
-}
-
static void
gst_video_context_interface_init(GstVideoContextInterface *iface)
{