static void gst_nas_sink_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_static_pad_template (element_class, &sink_factory); gst_element_class_set_details_simple (element_class, "NAS audio sink", "Sink/Audio", "Plays audio to a Network Audio Server", "Laurent Vivier <*****@*****.**>, " "Arwed v. Merkatz <*****@*****.**>"); }
static void gst_audiomixer_class_init (GstAudioMixerClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *gstelement_class = (GstElementClass *) klass; GstAggregatorClass *agg_class = (GstAggregatorClass *) klass; GstAudioAggregatorClass *aagg_class = (GstAudioAggregatorClass *) klass; gobject_class->set_property = gst_audiomixer_set_property; gobject_class->get_property = gst_audiomixer_get_property; gobject_class->dispose = gst_audiomixer_dispose; g_object_class_install_property (gobject_class, PROP_FILTER_CAPS, g_param_spec_boxed ("caps", "Target caps", "Set target format for mixing (NULL means ANY). " "Setting this property takes a reference to the supplied GstCaps " "object", GST_TYPE_CAPS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_add_static_pad_template (gstelement_class, &gst_audiomixer_src_template); gst_element_class_add_static_pad_template (gstelement_class, &gst_audiomixer_sink_template); gst_element_class_set_static_metadata (gstelement_class, "AudioMixer", "Generic/Audio", "Mixes multiple audio streams", "Sebastian Dröge <*****@*****.**>"); gstelement_class->request_new_pad = GST_DEBUG_FUNCPTR (gst_audiomixer_request_new_pad); gstelement_class->release_pad = GST_DEBUG_FUNCPTR (gst_audiomixer_release_pad); agg_class->sinkpads_type = GST_TYPE_AUDIO_MIXER_PAD; agg_class->sink_query = GST_DEBUG_FUNCPTR (gst_audiomixer_sink_query); agg_class->sink_event = GST_DEBUG_FUNCPTR (gst_audiomixer_sink_event); agg_class->update_src_caps = GST_DEBUG_FUNCPTR (gst_audiomixer_update_src_caps); aagg_class->aggregate_one_buffer = gst_audiomixer_aggregate_one_buffer; }
/* initialize the skindetect's class */ static void gst_skin_detect_class_init (GstSkinDetectClass * klass) { GObjectClass *gobject_class; GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstBaseTransformClass *basesrc_class = GST_BASE_TRANSFORM_CLASS (klass); GstOpencvVideoFilterClass *gstopencvbasefilter_class; gobject_class = (GObjectClass *) klass; gstopencvbasefilter_class = (GstOpencvVideoFilterClass *) klass; gobject_class->set_property = gst_skin_detect_set_property; gobject_class->get_property = gst_skin_detect_get_property; gstopencvbasefilter_class->cv_trans_func = gst_skin_detect_transform; g_object_class_install_property (gobject_class, PROP_POSTPROCESS, g_param_spec_boolean ("postprocess", "Postprocess", "Apply opening-closing to skin detection to extract large, significant blobs ", TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_METHOD, g_param_spec_enum ("method", "Method to use", "Method to use", GST_TYPE_SKIN_DETECT_METHOD, HSV, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); gst_element_class_set_static_metadata (element_class, "skindetect", "Filter/Effect/Video", "Performs non-parametric skin detection on input", "Miguel Casas-Sanchez <*****@*****.**>"); gst_element_class_add_static_pad_template (element_class, &src_factory); gst_element_class_add_static_pad_template (element_class, &sink_factory); basesrc_class->stop = gst_skin_detect_stop; gstopencvbasefilter_class->cv_set_caps = gst_skin_detect_set_caps; }
static void gst_opus_dec_class_init (GstOpusDecClass * klass) { GObjectClass *gobject_class; GstAudioDecoderClass *adclass; GstElementClass *element_class; gobject_class = (GObjectClass *) klass; adclass = (GstAudioDecoderClass *) klass; element_class = (GstElementClass *) klass; gobject_class->set_property = gst_opus_dec_set_property; gobject_class->get_property = gst_opus_dec_get_property; adclass->start = GST_DEBUG_FUNCPTR (gst_opus_dec_start); adclass->stop = GST_DEBUG_FUNCPTR (gst_opus_dec_stop); adclass->handle_frame = GST_DEBUG_FUNCPTR (gst_opus_dec_handle_frame); adclass->set_format = GST_DEBUG_FUNCPTR (gst_opus_dec_set_format); adclass->getcaps = GST_DEBUG_FUNCPTR (gst_opus_dec_getcaps); gst_element_class_add_static_pad_template (element_class, &opus_dec_src_factory); gst_element_class_add_static_pad_template (element_class, &opus_dec_sink_factory); gst_element_class_set_static_metadata (element_class, "Opus audio decoder", "Codec/Decoder/Audio", "decode opus streams to audio", "Vincent Penquerc'h <*****@*****.**>"); g_object_class_install_property (gobject_class, PROP_USE_INBAND_FEC, g_param_spec_boolean ("use-inband-fec", "Use in-band FEC", "Use forward error correction if available (needs PLC enabled)", DEFAULT_USE_INBAND_FEC, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_APPLY_GAIN, g_param_spec_boolean ("apply-gain", "Apply gain", "Apply gain if any is specified in the header", DEFAULT_APPLY_GAIN, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); GST_DEBUG_CATEGORY_INIT (opusdec_debug, "opusdec", 0, "opus decoding element"); }
static void gst_theora_parse_class_init (GstTheoraParseClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); gobject_class->dispose = theora_parse_dispose; #if 0 gobject_class->get_property = theora_parse_get_property; gobject_class->set_property = theora_parse_set_property; /** * GstTheoraParse:sychronization-points * * An array of (granuletime, buffertime) pairs */ g_object_class_install_property (gobject_class, PROP_SYNCHRONIZATION_POINTS, g_param_spec_value_array ("synchronization-points", "Synchronization points", "An array of (granuletime, buffertime) pairs", g_param_spec_uint64 ("time", "Time", "Time (either granuletime or buffertime)", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS), G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); #endif gst_element_class_add_static_pad_template (gstelement_class, &theora_parse_src_factory); gst_element_class_add_static_pad_template (gstelement_class, &theora_parse_sink_factory); gst_element_class_set_static_metadata (gstelement_class, "Theora video parser", "Codec/Parser/Video", "parse raw theora streams", "Andy Wingo <*****@*****.**>"); gstelement_class->change_state = theora_parse_change_state; GST_DEBUG_CATEGORY_INIT (theoraparse_debug, "theoraparse", 0, "Theora parser"); }
static void gst_sf_src_base_init (gpointer g_class) { GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_static_pad_template (gstelement_class, &sf_src_factory); gst_element_class_set_static_metadata (gstelement_class, "Sndfile source", "Source/Audio", "Read audio streams from disk using libsndfile", "Andy Wingo <wingo at pobox dot com>"); GST_DEBUG_CATEGORY_INIT (gst_sf_src_debug, "sfsrc", 0, "sfsrc element"); }
static void gst_v4lsrc_base_init (gpointer g_class) { GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); gst_element_class_set_details_simple (gstelement_class, "Video (video4linux/raw) Source", "Source/Video", "Reads raw frames from a video4linux device", "GStreamer maintainers <*****@*****.**>"); gst_element_class_add_static_pad_template (gstelement_class, &v4l_src_template); }
static void gst_oss_src_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_set_details_simple (element_class, "Audio Source (OSS)", "Source/Audio", "Capture from a sound card via OSS", "Erik Walthinsen <*****@*****.**>, " "Wim Taymans <*****@*****.**>"); gst_element_class_add_static_pad_template (element_class, &osssrc_src_factory); }
static void gst_y4m_dec_class_init (GstY4mDecClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass); gobject_class->set_property = gst_y4m_dec_set_property; gobject_class->get_property = gst_y4m_dec_get_property; gobject_class->dispose = gst_y4m_dec_dispose; gobject_class->finalize = gst_y4m_dec_finalize; element_class->change_state = GST_DEBUG_FUNCPTR (gst_y4m_dec_change_state); gst_element_class_add_static_pad_template (element_class, &gst_y4m_dec_src_template); gst_element_class_add_static_pad_template (element_class, &gst_y4m_dec_sink_template); gst_element_class_set_static_metadata (element_class, "YUV4MPEG demuxer/decoder", "Codec/Demuxer", "Demuxes/decodes YUV4MPEG streams", "David Schleef <*****@*****.**>"); }
/* GObject vmethod implementations */ static void gst_openal_sink_base_init (gpointer gclass) { GstElementClass *element_class = GST_ELEMENT_CLASS (gclass); gst_element_class_set_details_simple (element_class, "Audio sink (OpenAL)", "Sink/Audio", "Output to a sound device via OpenAL", "Chris Robinson <*****@*****.**>"); gst_element_class_add_static_pad_template (element_class, &openalsink_sink_factory); }
static void gst_aggregator_class_init (GstAggregatorClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *gstelement_class = (GstElementClass *) klass; gobject_class->dispose = gst_aggregator_dispose; gst_element_class_add_static_pad_template (gstelement_class, &gst_aggregator_src_template); gst_element_class_add_static_pad_template (gstelement_class, &gst_aggregator_sink_template); gst_element_class_set_static_metadata (gstelement_class, "Aggregator", "Testing", "Combine N buffers", "Stefan Sauer <*****@*****.**>"); gstelement_class->request_new_pad = GST_DEBUG_FUNCPTR (gst_aggregator_request_new_pad); gstelement_class->release_pad = GST_DEBUG_FUNCPTR (gst_aggregator_release_pad); gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_aggregator_change_state); }
static void gst_dvdec_class_init (GstDVDecClass * klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; gobject_class->set_property = gst_dvdec_set_property; gobject_class->get_property = gst_dvdec_get_property; g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_CLAMP_LUMA, g_param_spec_boolean ("clamp-luma", "Clamp luma", "Clamp luma", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_CLAMP_CHROMA, g_param_spec_boolean ("clamp-chroma", "Clamp chroma", "Clamp chroma", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_QUALITY, g_param_spec_enum ("quality", "Quality", "Decoding quality", GST_TYPE_DVDEC_QUALITY, DV_DEFAULT_QUALITY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_DECODE_NTH, g_param_spec_int ("drop-factor", "Drop Factor", "Only decode Nth frame", 1, G_MAXINT, DV_DEFAULT_DECODE_NTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_dvdec_change_state); gst_element_class_add_static_pad_template (gstelement_class, &sink_temp); gst_element_class_add_static_pad_template (gstelement_class, &src_temp); gst_element_class_set_static_metadata (gstelement_class, "DV video decoder", "Codec/Decoder/Video", "Uses libdv to decode DV video (smpte314) (libdv.sourceforge.net)", "Erik Walthinsen <*****@*****.**>," "Wim Taymans <*****@*****.**>"); GST_DEBUG_CATEGORY_INIT (dvdec_debug, "dvdec", 0, "DV decoding element"); }
static void gst_auto_audio_src_base_init (gpointer klass) { GstElementClass *eklass = GST_ELEMENT_CLASS (klass); gst_element_class_add_static_pad_template (eklass, &src_template); gst_element_class_set_details_simple (eklass, "Auto audio source", "Source/Audio", "Wrapper audio source for automatically detected audio source", "Jan Schmidt <*****@*****.**>, " "Stefan Kost <*****@*****.**>"); }
static void gst_yadif_class_init (GstYadifClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (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_static_pad_template (GST_ELEMENT_CLASS (klass), &gst_yadif_sink_template); gst_element_class_add_static_pad_template (GST_ELEMENT_CLASS (klass), &gst_yadif_src_template); gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass), "YADIF deinterlacer", "Video/Filter", "Deinterlace video using YADIF filter", "David Schleef <*****@*****.**>"); gobject_class->set_property = gst_yadif_set_property; gobject_class->get_property = gst_yadif_get_property; gobject_class->dispose = gst_yadif_dispose; gobject_class->finalize = gst_yadif_finalize; base_transform_class->transform_caps = GST_DEBUG_FUNCPTR (gst_yadif_transform_caps); base_transform_class->set_caps = GST_DEBUG_FUNCPTR (gst_yadif_set_caps); base_transform_class->get_unit_size = GST_DEBUG_FUNCPTR (gst_yadif_get_unit_size); base_transform_class->start = GST_DEBUG_FUNCPTR (gst_yadif_start); base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_yadif_stop); base_transform_class->transform = GST_DEBUG_FUNCPTR (gst_yadif_transform); g_object_class_install_property (gobject_class, PROP_MODE, g_param_spec_enum ("mode", "Deinterlace Mode", "Deinterlace mode", GST_TYPE_DEINTERLACE_MODES, DEFAULT_MODE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); }
static void gst_shm_src_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_static_pad_template (element_class, &srctemplate); gst_element_class_set_details_simple (element_class, "Shared Memory Source", "Source", "Receive data from the shared memory sink", "Olivier Crete <*****@*****.**>"); }
static void gst_sbc_enc_class_init (GstSbcEncClass * klass) { GstAudioEncoderClass *encoder_class = GST_AUDIO_ENCODER_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass); encoder_class->start = GST_DEBUG_FUNCPTR (gst_sbc_enc_start); encoder_class->stop = GST_DEBUG_FUNCPTR (gst_sbc_enc_stop); encoder_class->set_format = GST_DEBUG_FUNCPTR (gst_sbc_enc_set_format); encoder_class->handle_frame = GST_DEBUG_FUNCPTR (gst_sbc_enc_handle_frame); gst_element_class_add_static_pad_template (element_class, &sbc_enc_sink_factory); gst_element_class_add_static_pad_template (element_class, &sbc_enc_src_factory); gst_element_class_set_static_metadata (element_class, "Bluetooth SBC audio encoder", "Codec/Encoder/Audio", "Encode an SBC audio stream", "Marcel Holtmann <*****@*****.**>"); GST_DEBUG_CATEGORY_INIT (sbc_enc_debug, "sbcenc", 0, "SBC encoding element"); }
/* initialize the plugin's class */ static void gst_dvbsub_overlay_class_init (GstDVBSubOverlayClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *gstelement_class = (GstElementClass *) klass; gobject_class->set_property = gst_dvbsub_overlay_set_property; gobject_class->get_property = gst_dvbsub_overlay_get_property; gobject_class->finalize = gst_dvbsub_overlay_finalize; g_object_class_install_property (gobject_class, PROP_ENABLE, g_param_spec_boolean ("enable", "Enable", /* FIXME: "enable" vs "silent"? */ "Enable rendering of subtitles", DEFAULT_ENABLE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_MAX_PAGE_TIMEOUT, g_param_spec_int ("max-page-timeout", "max-page-timeout", "Limit maximum display time of a subtitle page (0 - disabled, value in seconds)", 0, G_MAXINT, DEFAULT_MAX_PAGE_TIMEOUT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_FORCE_END, g_param_spec_boolean ("force-end", "Force End", "Assume PES-aligned subtitles and force end-of-display", DEFAULT_FORCE_END, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_dvbsub_overlay_change_state); gst_element_class_add_static_pad_template (gstelement_class, &src_factory); gst_element_class_add_static_pad_template (gstelement_class, &video_sink_factory); gst_element_class_add_static_pad_template (gstelement_class, &text_sink_factory); gst_element_class_set_static_metadata (gstelement_class, "DVB Subtitles Overlay", "Mixer/Video/Overlay/Subtitle", "Renders DVB subtitles", "Mart Raudsepp <*****@*****.**>"); }
static void gst_rtp_h263p_pay_class_init (GstRtpH263PPayClass * klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; GstRTPBasePayloadClass *gstrtpbasepayload_class; gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; gstrtpbasepayload_class = (GstRTPBasePayloadClass *) klass; gobject_class->finalize = gst_rtp_h263p_pay_finalize; gobject_class->set_property = gst_rtp_h263p_pay_set_property; gobject_class->get_property = gst_rtp_h263p_pay_get_property; gstrtpbasepayload_class->set_caps = gst_rtp_h263p_pay_setcaps; gstrtpbasepayload_class->get_caps = gst_rtp_h263p_pay_sink_getcaps; gstrtpbasepayload_class->handle_buffer = gst_rtp_h263p_pay_handle_buffer; g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_FRAGMENTATION_MODE, g_param_spec_enum ("fragmentation-mode", "Fragmentation Mode", "Packet Fragmentation Mode", GST_TYPE_FRAGMENTATION_MODE, DEFAULT_FRAGMENTATION_MODE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_add_static_pad_template (gstelement_class, &gst_rtp_h263p_pay_src_template); gst_element_class_add_static_pad_template (gstelement_class, &gst_rtp_h263p_pay_sink_template); gst_element_class_set_static_metadata (gstelement_class, "RTP H263 payloader", "Codec/Payloader/Network/RTP", "Payload-encodes H263/+/++ video in RTP packets (RFC 4629)", "Wim Taymans <*****@*****.**>"); GST_DEBUG_CATEGORY_INIT (rtph263ppay_debug, "rtph263ppay", 0, "rtph263ppay (RFC 4629)"); }
static void gst_udpsrc_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_static_pad_template (element_class, &src_template); gst_element_class_set_details_simple (element_class, "UDP packet receiver", "Source/Network", "Receive data over the network via UDP", "Wim Taymans <*****@*****.**>, " "Thijs Vermeir <*****@*****.**>"); }
static void gst_funnel_class_init (GstFunnelClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); gobject_class->set_property = gst_funnel_set_property; gobject_class->get_property = gst_funnel_get_property; gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_funnel_dispose); g_object_class_install_property (gobject_class, PROP_FORWARD_STICKY_EVENTS, g_param_spec_boolean ("forward-sticky-events", "Forward sticky events", "Forward sticky events on stream changes (DEPRECATED: use forward-sticky-events-mode)", DEFAULT_FORWARD_STICKY_EVENTS, G_PARAM_DEPRECATED | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | GST_PARAM_MUTABLE_READY)); g_object_class_install_property (gobject_class, PROP_FORWARD_STICKY_EVENTS_MODE, g_param_spec_enum ("forward-sticky-events-mode", "Forward sticky events mode", "The mode of forwarding sticky events on stream changes", GST_TYPE_FUNNEL_FORWARD_STICKY_EVENTS_MODE, DEFAULT_FORWARD_STICKY_EVENTS_MODE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | GST_PARAM_MUTABLE_READY)); gst_element_class_set_static_metadata (gstelement_class, "Funnel pipe fitting", "Generic", "N-to-1 pipe fitting", "Olivier Crete <*****@*****.**>"); gst_element_class_add_static_pad_template (gstelement_class, &sink_template); gst_element_class_add_static_pad_template (gstelement_class, &src_template); gstelement_class->request_new_pad = GST_DEBUG_FUNCPTR (gst_funnel_request_new_pad); gstelement_class->release_pad = GST_DEBUG_FUNCPTR (gst_funnel_release_pad); gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_funnel_change_state); }
static void gst_rtmp_sink_base_init (gpointer klass) { GstElementClass *element_class = GST_ELEMENT_CLASS (klass); gst_element_class_set_details_simple (element_class, "RTMP output sink", "Sink/Network", "Sends FLV content to a server via RTMP", "Jan Schmidt <*****@*****.**>"); gst_element_class_add_static_pad_template (element_class, &sink_template); }
static void gst_audio_ringbuffer_class_init (GstAudioRingbufferClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); elem_parent_class = g_type_class_peek_parent (klass); gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_audio_ringbuffer_set_property); gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_audio_ringbuffer_get_property); g_object_class_install_property (gobject_class, PROP_BUFFER_TIME, g_param_spec_int64 ("buffer-time", "Buffer Time", "Size of audio buffer in nanoseconds", 1, G_MAXINT64, DEFAULT_BUFFER_TIME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SEGMENT_TIME, g_param_spec_int64 ("segment-time", "Segment Time", "Audio segment duration in nanoseconds", 1, G_MAXINT64, DEFAULT_SEGMENT_TIME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_add_static_pad_template (gstelement_class, &srctemplate); gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate); gst_element_class_set_details_simple (gstelement_class, "AudioRingbuffer", "Generic", "Asynchronous Audio ringbuffer", "Wim Taymans <*****@*****.**>"); /* set several parent class virtual functions */ gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_audio_ringbuffer_finalize); gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_audio_ringbuffer_change_state); }
static void gst_inter_video_sink_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_static_pad_template (element_class, &gst_inter_video_sink_sink_template); gst_element_class_set_details_simple (element_class, "Internal video sink", "Sink/Video", "Virtual video sink for internal process communication", "David Schleef <*****@*****.**>"); }
/* initialize the plugin's class */ static void gst_span_plc_class_init (GstSpanPlcClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *gstelement_class = (GstElementClass *) klass; gst_element_class_add_static_pad_template (gstelement_class, &src_factory); gst_element_class_add_static_pad_template (gstelement_class, &sink_factory); gst_element_class_set_static_metadata (gstelement_class, "SpanDSP PLC", "Filter/Effect/Audio", "Adds packet loss concealment to audio", "Youness Alaoui <*****@*****.**>"); gobject_class->dispose = gst_span_plc_dispose; gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_span_plc_change_state); GST_DEBUG_CATEGORY_INIT (gst_span_plc_debug, "spanplc", 0, "spanDSP's packet loss concealment"); }
/** * @brief class initialization of tensor_reposink */ static void gst_tensor_reposink_class_init (GstTensorRepoSinkClass * klass) { GObjectClass *gobject_class; GstElementClass *element_class; GstBaseSinkClass *basesink_class; GST_DEBUG_CATEGORY_INIT (gst_tensor_reposink_debug, "tensor_reposink", 0, "Sink element to handle tensor repository"); gobject_class = G_OBJECT_CLASS (klass); element_class = GST_ELEMENT_CLASS (klass); basesink_class = GST_BASE_SINK_CLASS (klass); gobject_class->set_property = gst_tensor_reposink_set_property; gobject_class->get_property = gst_tensor_reposink_get_property; gobject_class->dispose = gst_tensor_reposink_dispose; g_object_class_install_property (gobject_class, PROP_SIGNAL_RATE, g_param_spec_uint ("signal-rate", "Signal rate", "New data signals per second (0 for unlimited, max 500)", 0, 500, DEFAULT_SIGNAL_RATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SLOT, g_param_spec_uint ("slot-index", "Slot Index", "repository slot index", 0, UINT_MAX, DEFAULT_INDEX, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SILENT, g_param_spec_boolean ("silent", "Silent", "Produce verbose output", DEFAULT_SILENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_set_static_metadata (element_class, "TensorRepoSink", "Set/TensorRepo", "Set element to handle tensor repository", "Samsung Electronics Co., Ltd."); gst_element_class_add_static_pad_template (element_class, &sink_template); basesink_class->start = GST_DEBUG_FUNCPTR (gst_tensor_reposink_start); basesink_class->stop = GST_DEBUG_FUNCPTR (gst_tensor_reposink_stop); basesink_class->event = GST_DEBUG_FUNCPTR (gst_tensor_reposink_event); basesink_class->query = GST_DEBUG_FUNCPTR (gst_tensor_reposink_query); basesink_class->render = GST_DEBUG_FUNCPTR (gst_tensor_reposink_render); basesink_class->render_list = GST_DEBUG_FUNCPTR (gst_tensor_reposink_render_list); basesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_tensor_reposink_set_caps); basesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_tensor_reposink_get_caps); }
static void gst_stream_synchronizer_class_init (GstStreamSynchronizerClass * klass) { GObjectClass *gobject_class = (GObjectClass *) klass; GstElementClass *element_class = (GstElementClass *) klass; gobject_class->finalize = gst_stream_synchronizer_finalize; gst_element_class_add_static_pad_template (element_class, &srctemplate); gst_element_class_add_static_pad_template (element_class, &sinktemplate); gst_element_class_set_static_metadata (element_class, "Stream Synchronizer", "Generic", "Synchronizes a group of streams to have equal durations and starting points", "Sebastian Dröge <*****@*****.**>"); element_class->change_state = GST_DEBUG_FUNCPTR (gst_stream_synchronizer_change_state); element_class->request_new_pad = GST_DEBUG_FUNCPTR (gst_stream_synchronizer_request_new_pad); element_class->release_pad = GST_DEBUG_FUNCPTR (gst_stream_synchronizer_release_pad); }
static void gst_neonhttp_src_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); gst_element_class_add_static_pad_template (element_class, &srctemplate); gst_element_class_set_details_simple (element_class, "HTTP client source", "Source/Network", "Receive data as a client over the network via HTTP using NEON", "Edgard Lima <*****@*****.**>, " "Rosfran Borges <*****@*****.**>, " "Andre Moreira Magalhaes <*****@*****.**>"); }
static void gst_vdp_mpeg4_dec_base_init (gpointer gclass) { GstElementClass *element_class = GST_ELEMENT_CLASS (gclass); gst_element_class_set_details_simple (element_class, "VDPAU Mpeg4 Decoder", "Decoder", "Decode mpeg4 stream with vdpau", "Carl-Anton Ingmarsson <*****@*****.**>"); gst_element_class_add_static_pad_template (element_class, &sink_template); }
static void gst_siren_enc_class_init (GstSirenEncClass * klass) { GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstAudioEncoderClass *base_class = GST_AUDIO_ENCODER_CLASS (klass); GST_DEBUG_CATEGORY_INIT (sirenenc_debug, "sirenenc", 0, "sirenenc"); gst_element_class_add_static_pad_template (element_class, &srctemplate); gst_element_class_add_static_pad_template (element_class, &sinktemplate); gst_element_class_set_static_metadata (element_class, "Siren Encoder element", "Codec/Encoder/Audio ", "Encode 16bit PCM streams into the Siren7 codec", "Youness Alaoui <*****@*****.**>"); base_class->start = GST_DEBUG_FUNCPTR (gst_siren_enc_start); base_class->stop = GST_DEBUG_FUNCPTR (gst_siren_enc_stop); base_class->set_format = GST_DEBUG_FUNCPTR (gst_siren_enc_set_format); base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_siren_enc_handle_frame); GST_DEBUG ("Class Init done"); }
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_static_pad_template (gstelement_class, &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)); }