From 3d4a340cfa134615164af6a93b7ce9d36b84f191 Mon Sep 17 00:00:00 2001 From: Carl-Anton Ingmarsson Date: Sat, 4 Apr 2009 22:03:23 +0200 Subject: vdpau: move plugin definition to a new gstvdpau.c file fix up debug categories --- sys/vdpau/Makefile.am | 3 ++- sys/vdpau/gstvdpau.c | 25 +++++++++++++++++++++++++ sys/vdpau/gstvdpaudecoder.h | 3 ++- sys/vdpau/gstvdpaumpegdecoder.c | 40 +++++----------------------------------- sys/vdpau/gstvdpauvideoyuv.c | 2 +- 5 files changed, 35 insertions(+), 38 deletions(-) create mode 100644 sys/vdpau/gstvdpau.c (limited to 'sys/vdpau') diff --git a/sys/vdpau/Makefile.am b/sys/vdpau/Makefile.am index ba286d54..0b7e5e5c 100644 --- a/sys/vdpau/Makefile.am +++ b/sys/vdpau/Makefile.am @@ -6,7 +6,8 @@ libgstvdpau_la_SOURCES = \ gstvdpaumpegdecoder.c \ mpegutil.c \ gstvdpauvideoyuv.c \ - gstvdpauvideobuffer.c + gstvdpauvideobuffer.c \ + gstvdpau.c libgstvdpau_la_CFLAGS = $(GST_CFLAGS) $(X11_CFLAGS) -Ivdpau libgstvdpau_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) \ diff --git a/sys/vdpau/gstvdpau.c b/sys/vdpau/gstvdpau.c new file mode 100644 index 00000000..04a0ef5b --- /dev/null +++ b/sys/vdpau/gstvdpau.c @@ -0,0 +1,25 @@ +#ifdef HAVE_CONFIG_H +# include +#endif + + +#include + +#include "gstvdpaumpegdecoder.h" +#include "gstvdpauvideoyuv.h" +static gboolean +vdpau_init (GstPlugin * vdpaumpegdecoder) +{ + gst_element_register (vdpaumpegdecoder, "vdpaumpegdecoder", + GST_RANK_NONE, GST_TYPE_VDPAU_MPEG_DECODER); + gst_element_register (vdpaumpegdecoder, "vdpauvideoyuv", + GST_RANK_NONE, GST_TYPE_VDPAU_VIDEO_YUV); + + return TRUE; +} + +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + "vdpau", + "Various elements utilizing VDPAU", + vdpau_init, VERSION, "LGPL", "GStreamer", "http://gstreamer.net/") diff --git a/sys/vdpau/gstvdpaudecoder.h b/sys/vdpau/gstvdpaudecoder.h index ef3a6fb9..3f67da68 100644 --- a/sys/vdpau/gstvdpaudecoder.h +++ b/sys/vdpau/gstvdpaudecoder.h @@ -24,6 +24,7 @@ #include #include "gstvdpaudevice.h" +#include "gstvdpauvideobuffer.h" G_BEGIN_DECLS @@ -65,7 +66,7 @@ struct _GstVdpauDecoderClass { GType gst_vdpau_decoder_get_type (void); gboolean gst_vdpau_decoder_push_video_buffer (GstVdpauDecoder * dec, - GstVdpauVideoBuffer *buffer); + GstVdpauVideoBuffer *buffer); VdpVideoSurface gst_vdpau_decoder_create_video_surface (GstVdpauDecoder *dec); G_END_DECLS diff --git a/sys/vdpau/gstvdpaumpegdecoder.c b/sys/vdpau/gstvdpaumpegdecoder.c index 80ee13ca..1c51389c 100644 --- a/sys/vdpau/gstvdpaumpegdecoder.c +++ b/sys/vdpau/gstvdpaumpegdecoder.c @@ -70,8 +70,11 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink", "systemstream = (boolean) false, parsed = (boolean) true") ); -GST_BOILERPLATE (GstVdpauMpegDecoder, gst_vdpau_mpeg_decoder, GstVdpauDecoder, - GST_TYPE_VDPAU_DECODER); +#define DEBUG_INIT(bla) \ +GST_DEBUG_CATEGORY_INIT (gst_vdpau_mpeg_decoder_debug, "vdpaumpegdecoder", 0, "VDPAU powered mpeg decoder"); + +GST_BOILERPLATE_FULL (GstVdpauMpegDecoder, gst_vdpau_mpeg_decoder, + GstVdpauDecoder, GST_TYPE_VDPAU_DECODER, DEBUG_INIT); static void gst_vdpau_mpeg_decoder_finalize (GObject * object); static void gst_vdpau_mpeg_decoder_set_property (GObject * object, @@ -457,36 +460,3 @@ gst_vdpau_mpeg_decoder_get_property (GObject * object, guint prop_id, break; } } - -/* entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -static gboolean -vdpaumpegdecoder_init (GstPlugin * vdpaumpegdecoder) -{ - /* debug category for fltering log messages - * - * exchange the string 'Template vdpaumpegdecoder' with your description - */ - GST_DEBUG_CATEGORY_INIT (gst_vdpau_mpeg_decoder_debug, "vdpaumpegdecoder", - 0, "Template vdpaumpegdecoder"); - - gst_element_register (vdpaumpegdecoder, "vdpaumpegdecoder", - GST_RANK_NONE, GST_TYPE_VDPAU_MPEG_DECODER); - gst_element_register (vdpaumpegdecoder, "vdpauvideoyuv", - GST_RANK_NONE, GST_TYPE_VDPAU_VIDEO_YUV); - - return TRUE; -} - -/* gstreamer looks for this structure to register vdpaumpegdecoders - * - * exchange the string 'Template vdpaumpegdecoder' with your vdpaumpegdecoder description - */ -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "vdpaumpegdecoder", - "Template vdpaumpegdecoder", - vdpaumpegdecoder_init, - VERSION, "LGPL", "GStreamer", "http://gstreamer.net/") diff --git a/sys/vdpau/gstvdpauvideoyuv.c b/sys/vdpau/gstvdpauvideoyuv.c index 1de17045..b9be10c1 100644 --- a/sys/vdpau/gstvdpauvideoyuv.c +++ b/sys/vdpau/gstvdpauvideoyuv.c @@ -57,7 +57,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", "width = (int) [ 1, MAX ], " "height = (int) [ 1, MAX ]")); #define DEBUG_INIT(bla) \ - GST_DEBUG_CATEGORY_INIT (gst_vdpau_video_yuv_debug, "vdpauvideo_yuv", 0, "vdpauvideo_yuv base class"); + GST_DEBUG_CATEGORY_INIT (gst_vdpau_video_yuv_debug, "vdpauvideoyuv", 0, "VDPAU VdpSurface to YUV"); GST_BOILERPLATE_FULL (GstVdpauVideoYUV, gst_vdpau_video_yuv, GstElement, GST_TYPE_ELEMENT, DEBUG_INIT); -- cgit v1.2.1