void gst_raw_parse_class_set_src_pad_template (GstRawParseClass * klass, const GstCaps * allowed_caps) { GstElementClass *element_class = GST_ELEMENT_CLASS (klass); g_return_if_fail (GST_IS_RAW_PARSE_CLASS (klass)); g_return_if_fail (allowed_caps != NULL); g_return_if_fail (GST_IS_CAPS (allowed_caps)); gst_element_class_add_pad_template (element_class, gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, gst_caps_copy (allowed_caps))); }
static void gst_app_src_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GST_DEBUG_CATEGORY_INIT (app_src_debug, "appsrc", 0, "appsrc element"); gst_element_class_set_details_simple (element_class, "AppSrc", "Generic/Src", "Allow the application to feed buffers to a pipeline", "David Schleef <*****@*****.**>, Wim Taymans <*****@*****.**>"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&gst_app_src_template)); }
static void gst_fbdev2sink_class_init (GstFbdev2sinkClass* klass) { /* Setting up pads and setting metadata should be moved to base_class_init if you intend to subclass this class. */ gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass), gst_static_pad_template_get (&gst_fbdev2sink_sink_template)); gst_element_class_set_static_metadata (GST_ELEMENT_CLASS(klass), "Optimized Linux console framebuffer video sink", "Sink/Video", "fbdev2 framebuffer sink", "Harm Hanemaaijer <*****@*****.**>"); }
static void gst_png_parse_class_init (GstPngParseClass * klass) { GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); GstBaseParseClass *parse_class = GST_BASE_PARSE_CLASS (klass); GST_DEBUG_CATEGORY_INIT (png_parse_debug, "pngparse", 0, "png parser"); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&srctemplate)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&sinktemplate)); gst_element_class_set_static_metadata (gstelement_class, "PNG parser", "Codec/Parser/Video/Image", "Parses PNG files", "Olivier Crete <*****@*****.**>"); /* Override BaseParse vfuncs */ parse_class->start = GST_DEBUG_FUNCPTR (gst_png_parse_start); parse_class->sink_event = GST_DEBUG_FUNCPTR (gst_png_parse_event); parse_class->handle_frame = GST_DEBUG_FUNCPTR (gst_png_parse_handle_frame); parse_class->pre_push_frame = GST_DEBUG_FUNCPTR (gst_png_parse_pre_push_frame); }
static void gst_shm_src_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&srctemplate)); gst_element_class_set_details_simple (element_class, "Shared Memory Source", "Source", "Receive data from the sharem memory sink", "Olivier Crete <*****@*****.**"); }
static void gst_asteriskh263_class_init (GstAsteriskh263Class * klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; gobject_class->finalize = gst_asteriskh263_finalize; gstelement_class->change_state = gst_asteriskh263_change_state; gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_asteriskh263_src_template)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_asteriskh263_sink_template)); gst_element_class_set_static_metadata (gstelement_class, "RTP Asterisk H263 depayloader", "Codec/Depayloader/Network/RTP", "Extracts H263 video from RTP and encodes in Asterisk H263 format", "Neil Stratford <*****@*****.**>"); }
/* GObject vmethod implementations */ static void gst_openal_sink_base_init (gpointer gclass) { GstElementClass *element_class = GST_ELEMENT_CLASS (gclass); GstPadTemplate *pad_template; gst_element_class_set_metadata (element_class, "Audio sink (OpenAL)", "Sink/Audio", "Output to a sound device via OpenAL", "Chris Robinson <*****@*****.**>"); pad_template = gst_static_pad_template_get (&openalsink_sink_factory); gst_element_class_add_pad_template (element_class, pad_template); }
static void gst_spot_src_base_init (gpointer g_class) { GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); gst_element_class_set_details_simple (gstelement_class, "Spot Source", "SPOTSRC, SPOTSRC_THREADS, SPOTSRC_AUDIO, SPOTSRC_CB", "Spotify source element", "[email protected] (http://hackr.se) & [email protected]"); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&srctemplate)); }
static void gst_goo_videoenc_720p_base_init (gpointer g_klass) { GST_DEBUG_CATEGORY_INIT (gst_goo_videoenc_720p_debug, "goovideoenc720p", 0, "GStreamer-Goo parent class for 720p video encoders"); GstElementClass* e_klass = GST_ELEMENT_CLASS (g_klass); gst_element_class_add_pad_template (e_klass, gst_static_pad_template_get (&sink_factory)); return; }
static void gst_alsasrc_class_init (GstAlsaSrcClass * klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; GstBaseSrcClass *gstbasesrc_class; GstAudioSrcClass *gstaudiosrc_class; gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; gstbasesrc_class = (GstBaseSrcClass *) klass; gstaudiosrc_class = (GstAudioSrcClass *) klass; gobject_class->finalize = gst_alsasrc_finalize; gobject_class->get_property = gst_alsasrc_get_property; gobject_class->set_property = gst_alsasrc_set_property; gst_element_class_set_static_metadata (gstelement_class, "Audio source (ALSA)", "Source/Audio", "Read from a sound card via ALSA", "Wim Taymans <*****@*****.**>"); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&alsasrc_src_factory)); gstbasesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_alsasrc_getcaps); gstaudiosrc_class->open = GST_DEBUG_FUNCPTR (gst_alsasrc_open); gstaudiosrc_class->prepare = GST_DEBUG_FUNCPTR (gst_alsasrc_prepare); gstaudiosrc_class->unprepare = GST_DEBUG_FUNCPTR (gst_alsasrc_unprepare); gstaudiosrc_class->close = GST_DEBUG_FUNCPTR (gst_alsasrc_close); gstaudiosrc_class->read = GST_DEBUG_FUNCPTR (gst_alsasrc_read); gstaudiosrc_class->delay = GST_DEBUG_FUNCPTR (gst_alsasrc_delay); gstaudiosrc_class->reset = GST_DEBUG_FUNCPTR (gst_alsasrc_reset); gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_alsasrc_change_state); g_object_class_install_property (gobject_class, PROP_DEVICE, g_param_spec_string ("device", "Device", "ALSA device, as defined in an asound configuration file", DEFAULT_PROP_DEVICE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_DEVICE_NAME, g_param_spec_string ("device-name", "Device name", "Human-readable name of the sound device", DEFAULT_PROP_DEVICE_NAME, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_CARD_NAME, g_param_spec_string ("card-name", "Card name", "Human-readable name of the sound card", DEFAULT_PROP_CARD_NAME, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); }
static void gst_shagadelictv_class_init (GstShagadelicTVClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *gstelement_class = (GstElementClass *) klass; GstVideoFilterClass *vfilter_class = (GstVideoFilterClass *) klass; gobject_class->finalize = gst_shagadelictv_finalize; gst_element_class_set_static_metadata (gstelement_class, "ShagadelicTV", "Filter/Effect/Video", "Oh behave, ShagedelicTV makes images shagadelic!", "Wim Taymans <*****@*****.**>"); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_shagadelictv_sink_template)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_shagadelictv_src_template)); vfilter_class->set_info = GST_DEBUG_FUNCPTR (gst_shagadelictv_set_info); vfilter_class->transform_frame = GST_DEBUG_FUNCPTR (gst_shagadelictv_transform_frame); }
static void gst_vdp_mpeg_dec_base_init (gpointer gclass) { GstElementClass *element_class = GST_ELEMENT_CLASS (gclass); gst_element_class_set_static_metadata (element_class, "VDPAU Mpeg Decoder", "Decoder", "Decode mpeg stream with vdpau", "Carl-Anton Ingmarsson <*****@*****.**>"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); }
static void rsn_audiomunge_class_init (RsnAudioMungeClass * klass) { GObjectClass *gobject_class = (GObjectClass *) (klass); GstElementClass *element_class = (GstElementClass *) (klass); GST_DEBUG_CATEGORY_INIT (rsn_audiomunge_debug, "rsnaudiomunge", 0, "ResinDVD audio stream regulator"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_template)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); gst_element_class_set_details_simple (element_class, "RsnAudioMunge", "Audio/Filter", "Resin DVD audio stream regulator", "Jan Schmidt <*****@*****.**>"); gobject_class->set_property = rsn_audiomunge_set_property; gobject_class->get_property = rsn_audiomunge_get_property; element_class->change_state = rsn_audiomunge_change_state; }
static void gst_vdp_h264_dec_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_set_details_simple (element_class, "VDPAU H264 Decoder", "Decoder", "Decode h264 stream with vdpau", "Carl-Anton Ingmarsson <*****@*****.**>"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); }
static void gst_rtp_vraw_pay_class_init (GstRtpVRawPayClass * klass) { GstRTPBasePayloadClass *gstrtpbasepayload_class; GstElementClass *gstelement_class; GObjectClass *gobject_class; gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; gstrtpbasepayload_class = (GstRTPBasePayloadClass *) klass; gobject_class->set_property = gst_rtp_vraw_pay_set_property; gobject_class->get_property = gst_rtp_vraw_pay_get_property; g_object_class_install_property (gobject_class, PROP_CHUNKS_PER_FRAME, g_param_spec_int ("chunks-per-frame", "Chunks per Frame", "Split and send out each frame in multiple chunks to reduce overhead", 1, G_MAXINT, DEFAULT_CHUNKS_PER_FRAME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS) ); gstrtpbasepayload_class->set_caps = gst_rtp_vraw_pay_setcaps; gstrtpbasepayload_class->handle_buffer = gst_rtp_vraw_pay_handle_buffer; gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_rtp_vraw_pay_src_template)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_rtp_vraw_pay_sink_template)); gst_element_class_set_static_metadata (gstelement_class, "RTP Raw Video payloader", "Codec/Payloader/Network/RTP", "Payload raw video as RTP packets (RFC 4175)", "Wim Taymans <*****@*****.**>"); GST_DEBUG_CATEGORY_INIT (rtpvrawpay_debug, "rtpvrawpay", 0, "Raw video RTP Payloader"); }
/* initialize the cvlaplace's class */ static void gst_cv_laplace_class_init (GstCvLaplaceClass * klass) { GObjectClass *gobject_class; GstBaseTransformClass *gstbasetransform_class; GstOpencvVideoFilterClass *gstopencvbasefilter_class; GstElementClass *element_class = GST_ELEMENT_CLASS (klass); gobject_class = (GObjectClass *) klass; gstbasetransform_class = (GstBaseTransformClass *) klass; gstopencvbasefilter_class = (GstOpencvVideoFilterClass *) klass; gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_cv_laplace_finalize); gobject_class->set_property = gst_cv_laplace_set_property; gobject_class->get_property = gst_cv_laplace_get_property; gstbasetransform_class->transform_caps = gst_cv_laplace_transform_caps; gstopencvbasefilter_class->cv_trans_func = gst_cv_laplace_transform; gstopencvbasefilter_class->cv_set_caps = gst_cv_laplace_cv_set_caps; g_object_class_install_property (gobject_class, PROP_APERTURE_SIZE, g_param_spec_int ("aperture-size", "aperture size", "Size of the extended Laplace Kernel (1, 3, 5 or 7)", 1, 7, DEFAULT_APERTURE_SIZE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_factory)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_factory)); gst_element_class_set_static_metadata (element_class, "cvlaplace", "Transform/Effect/Video", "Applies cvLaplace OpenCV function to the image", "Thiago Santos<*****@*****.**>"); }
static void gst_droidadec_class_init (GstDroidADecClass * klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; GstAudioDecoderClass *gstaudiodecoder_class; GstCaps *caps; GstPadTemplate *tpl; gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; gstaudiodecoder_class = (GstAudioDecoderClass *) klass; gst_element_class_set_static_metadata (gstelement_class, "Audio decoder", "Decoder/Audio/Device", "Android HAL decoder", "Mohammed Sameer <*****@*****.**>"); caps = gst_droid_codec_get_all_caps (GST_DROID_CODEC_DECODER_AUDIO); tpl = gst_pad_template_new (GST_AUDIO_DECODER_SINK_NAME, GST_PAD_SINK, GST_PAD_ALWAYS, caps); gst_element_class_add_pad_template (gstelement_class, tpl); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_droidadec_src_template_factory)); gobject_class->finalize = gst_droidadec_finalize; gstaudiodecoder_class->open = GST_DEBUG_FUNCPTR (gst_droidadec_open); gstaudiodecoder_class->close = GST_DEBUG_FUNCPTR (gst_droidadec_close); gstaudiodecoder_class->start = GST_DEBUG_FUNCPTR (gst_droidadec_start); gstaudiodecoder_class->stop = GST_DEBUG_FUNCPTR (gst_droidadec_stop); gstaudiodecoder_class->set_format = GST_DEBUG_FUNCPTR (gst_droidadec_set_format); gstaudiodecoder_class->handle_frame = GST_DEBUG_FUNCPTR (gst_droidadec_handle_frame); gstaudiodecoder_class->flush = GST_DEBUG_FUNCPTR (gst_droidadec_flush); }
static void gst_smooth_class_init (GstSmoothClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *gstelement_class = (GstElementClass *) klass; GstVideoFilterClass *vfilter_class = (GstVideoFilterClass *) klass; gobject_class->set_property = gst_smooth_set_property; gobject_class->get_property = gst_smooth_get_property; g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_ACTIVE, g_param_spec_boolean ("active", "active", "process video", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_TOLERANCE, g_param_spec_int ("tolerance", "tolerance", "contrast tolerance for smoothing", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_FILTER_SIZE, g_param_spec_int ("filter-size", "filter-size", "size of media filter", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_LUMA_ONLY, g_param_spec_boolean ("luma-only", "luma-only", "only filter luma part", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_smooth_sink_template)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_smooth_src_template)); gst_element_class_set_static_metadata (gstelement_class, "Smooth effect", "Filter/Effect/Video", "Apply a smooth filter to an image", "Wim Taymans <*****@*****.**>"); vfilter_class->transform_frame = GST_DEBUG_FUNCPTR (gst_smooth_transform_frame); vfilter_class->set_info = GST_DEBUG_FUNCPTR (gst_smooth_set_info); }
static void fs_rtcp_filter_class_init (FsRtcpFilterClass *klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); GstBaseTransformClass *gstbasetransform_class; gobject_class = (GObjectClass *) klass; gstbasetransform_class = (GstBaseTransformClass *) klass; GST_DEBUG_CATEGORY_INIT (rtcp_filter_debug, "fsrtcpfilter", 0, "fsrtcpfilter"); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&srctemplate)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&sinktemplate)); gst_element_class_set_metadata (gstelement_class, "RTCP Filter element", "Filter", "This element removes unneeded parts of rtcp buffers", "Olivier Crete <*****@*****.**>"); gobject_class->set_property = fs_rtcp_filter_set_property; gobject_class->get_property = fs_rtcp_filter_get_property; gstbasetransform_class->transform_ip = fs_rtcp_filter_transform_ip; g_object_class_install_property (gobject_class, PROP_SENDING, g_param_spec_boolean ("sending", "Sending RTP?", "If set to FALSE, it assumes that all RTP has been dropped", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); }
static void gst_phoenixsrc_class_init (GstPhoenixSrcClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); GstBaseSrcClass *gstbasesrc_class = GST_BASE_SRC_CLASS (klass); GstPushSrcClass *gstpushsrc_class = GST_PUSH_SRC_CLASS (klass); gobject_class->set_property = gst_phoenixsrc_set_property; gobject_class->get_property = gst_phoenixsrc_get_property; gobject_class->dispose = gst_phoenixsrc_dispose; gobject_class->finalize = gst_phoenixsrc_finalize; gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_phoenixsrc_src_template)); gst_element_class_set_static_metadata (gstelement_class, "Active Silicon Phoenix Video Source", "Source/Video", "Active Silicon Phoenix framegrabber video source", "Joshua M. Doe <*****@*****.**>"); gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_phoenixsrc_start); gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_phoenixsrc_stop); gstbasesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_phoenixsrc_get_caps); gstbasesrc_class->set_caps = GST_DEBUG_FUNCPTR (gst_phoenixsrc_set_caps); gstpushsrc_class->create = GST_DEBUG_FUNCPTR (gst_phoenixsrc_create); /* Install GObject properties */ g_object_class_install_property (gobject_class, PROP_CAMERA_CONFIG_FILEPATH, g_param_spec_string ("config-file", "Config file", "Camera configuration filepath", DEFAULT_PROP_CAMERA_CONFIG_FILEPATH, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_NUM_CAPTURE_BUFFERS, g_param_spec_uint ("num-capture-buffers", "Number of capture buffers", "Number of capture buffers", 1, G_MAXUINT, DEFAULT_PROP_NUM_CAPTURE_BUFFERS, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_BOARD, g_param_spec_uint ("board", "Board", "Board number (0 for auto)", 0, 7, DEFAULT_PROP_BOARD, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_CHANNEL, g_param_spec_uint ("channel", "Channel", "Channel number (0 for auto)", 0, 2, DEFAULT_PROP_CHANNEL, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); }
static void gst_egl_sink_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstCaps *capslist; GstPadTemplate *sink_template = NULL; gint i; guint32 formats[][2] = { {GST_MAKE_FOURCC ('N', 'V', '1', '2'), GST_VIDEO_FORMAT_NV12}, {GST_MAKE_FOURCC ('Y', 'V', '1', '2'), GST_VIDEO_FORMAT_YV12}, {GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y'), GST_VIDEO_FORMAT_UYVY}, {GST_MAKE_FOURCC ('I', '4', '2', '0'), GST_VIDEO_FORMAT_I420} }; gst_element_class_set_details_simple (element_class, "OpenGL video sink", "Sink/Video", "A videosink based on OpenGL", "Julien Isorce <*****@*****.**>"); /* make a list of all available caps */ capslist = gst_caps_new_empty (); for (i = 0; i < G_N_ELEMENTS (formats); i++) { gst_caps_append_structure (capslist, gst_structure_new ("video/x-raw-yuv", "format", GST_TYPE_FOURCC, formats[i][0], "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, "width_align", G_TYPE_INT, gst_egl_platform_get_alignment_h(formats[i][1]), "height_align", G_TYPE_INT, gst_egl_platform_get_alignment_v(formats[i][1]), NULL)); } gst_caps_append_structure (capslist, gst_structure_new ("video/x-raw-rgb", "bpp", G_TYPE_INT, 32, "depth", GST_TYPE_INT_RANGE, 24, 32, "width_align", G_TYPE_INT, gst_egl_platform_get_alignment_h(GST_VIDEO_FORMAT_RGBA), "height_align", G_TYPE_INT, gst_egl_platform_get_alignment_v(GST_VIDEO_FORMAT_RGBA), NULL)); sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, capslist); gst_element_class_add_pad_template (element_class, sink_template); }
static void gst_jack_audio_src_base_init (gpointer gclass) { static GstElementDetails gst_jack_audio_src_details = { "Audio Source (Jack)", "Source/Audio", "Input from Jack", "Tristan Matthews <*****@*****.**>" }; GstElementClass *element_class = GST_ELEMENT_CLASS (gclass); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_factory)); gst_element_class_set_details (element_class, &gst_jack_audio_src_details); }
static void gst_rtp_gsm_depay_class_init (GstRTPGSMDepayClass * klass) { GstElementClass *gstelement_class; GstRTPBaseDepayloadClass *gstrtpbase_depayload_class; gstelement_class = (GstElementClass *) klass; gstrtpbase_depayload_class = (GstRTPBaseDepayloadClass *) klass; gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_rtp_gsm_depay_src_template)); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&gst_rtp_gsm_depay_sink_template)); gst_element_class_set_static_metadata (gstelement_class, "RTP GSM depayloader", "Codec/Depayloader/Network/RTP", "Extracts GSM audio from RTP packets", "Zeeshan Ali <*****@*****.**>"); gstrtpbase_depayload_class->process_rtp_packet = gst_rtp_gsm_depay_process; gstrtpbase_depayload_class->set_caps = gst_rtp_gsm_depay_setcaps; GST_DEBUG_CATEGORY_INIT (rtpgsmdepay_debug, "rtpgsmdepay", 0, "GSM Audio RTP Depayloader"); }
static void gst_slvideo_base_init (gpointer gclass) { static GstElementDetails element_details = { "PluginTemplate", "Generic/PluginTemplate", "Generic Template Element", "Linden Lab" }; GstElementClass *element_class = GST_ELEMENT_CLASS (gclass); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_factory)); gst_element_class_set_details (element_class, &element_details); }
static void gst_wavpack_dec_class_init (GstWavpackDecClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *element_class = (GstElementClass *) (klass); GstAudioDecoderClass *base_class = (GstAudioDecoderClass *) (klass); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_factory)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_factory)); gst_element_class_set_static_metadata (element_class, "Wavpack audio decoder", "Codec/Decoder/Audio", "Decodes Wavpack audio data", "Arwed v. Merkatz <*****@*****.**>, " "Sebastian Dröge <*****@*****.**>"); gobject_class->finalize = gst_wavpack_dec_finalize; base_class->start = GST_DEBUG_FUNCPTR (gst_wavpack_dec_start); base_class->stop = GST_DEBUG_FUNCPTR (gst_wavpack_dec_stop); base_class->set_format = GST_DEBUG_FUNCPTR (gst_wavpack_dec_set_format); base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_wavpack_dec_handle_frame); }
static void gst_dv1394src_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_factory)); gst_element_class_set_details_simple (element_class, "Firewire (1394) DV video source", "Source/Video", "Source for DV video data from firewire port", "Erik Walthinsen <*****@*****.**>, " "Daniel Fischer <*****@*****.**>, " "Wim Taymans <*****@*****.**>, " "Zaheer Abbas Merali <zaheerabbas at merali dot org>"); }
static void type_base_init (gpointer g_class) { GstElementClass *element_class; element_class = GST_ELEMENT_CLASS (g_class); { GstElementDetails details; details.longname = "OpenMAX IL JPEG image encoder"; details.klass = "Codec/Encoder/Image"; details.description = "Encodes image in JPEG format with OpenMAX IL"; details.author = "Felipe Contreras"; gst_element_class_set_details (element_class, &details); } gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_template)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); }
static void ges_smart_mixer_class_init (GESSmartMixerClass * klass) { /* GstBinClass *parent_class = GST_BIN_CLASS (klass); */ GObjectClass *object_class = G_OBJECT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass); /* FIXME Make sure the MixerClass doesn get destroy before ourself */ gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_template)); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); gst_element_class_set_static_metadata (element_class, "GES Smart mixer", "Generic/Audio", "Use mixer making use of GES informations", "Thibault Saunier <*****@*****.**>"); element_class->request_new_pad = GST_DEBUG_FUNCPTR (_request_new_pad); element_class->release_pad = GST_DEBUG_FUNCPTR (_release_pad); object_class->dispose = ges_smart_mixer_dispose; object_class->finalize = ges_smart_mixer_finalize; }
static void gst_parse_test_element_class_init (GstParseTestElementClass * klass) { GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&test_element_pad_template)); gst_element_class_set_metadata (gstelement_class, "Test element for parse launch tests", "Source", "Test element for parse launch tests in core", "GStreamer Devel <*****@*****.**>"); gstelement_class->change_state = gst_parse_test_element_change_state; }
static void gst_multi_file_sink_base_init (gpointer g_class) { GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); GST_DEBUG_CATEGORY_INIT (gst_multi_file_sink_debug, "multifilesink", 0, "multifilesink element"); gst_element_class_add_pad_template (gstelement_class, gst_static_pad_template_get (&sinktemplate)); gst_element_class_set_details_simple (gstelement_class, "Multi-File Sink", "Sink/File", "Write buffers to a sequentially named set of files", "David Schleef <*****@*****.**>"); }