static void gst_rdt_depay_init (GstRDTDepay * rdtdepay, GstRDTDepayClass * klass) { rdtdepay->sinkpad = gst_pad_new_from_static_template (&gst_rdt_depay_sink_template, "sink"); gst_pad_set_chain_function (rdtdepay->sinkpad, gst_rdt_depay_chain); gst_pad_set_event_function (rdtdepay->sinkpad, gst_rdt_depay_sink_event); gst_pad_set_setcaps_function (rdtdepay->sinkpad, gst_rdt_depay_setcaps); gst_element_add_pad (GST_ELEMENT_CAST (rdtdepay), rdtdepay->sinkpad); rdtdepay->srcpad = gst_pad_new_from_static_template (&gst_rdt_depay_src_template, "src"); gst_element_add_pad (GST_ELEMENT_CAST (rdtdepay), rdtdepay->srcpad); }
static void gst_base_video_decoder_init (GstBaseVideoDecoder * base_video_decoder, GstBaseVideoDecoderClass * base_video_decoder_class) { GstPadTemplate *pad_template; GstPad *pad; GST_DEBUG ("gst_base_video_decoder_init"); pad_template = gst_element_class_get_pad_template (GST_ELEMENT_CLASS (base_video_decoder_class), "sink"); g_return_if_fail (pad_template != NULL); base_video_decoder->sinkpad = pad = gst_pad_new_from_template (pad_template, "sink"); gst_element_add_pad (GST_ELEMENT (base_video_decoder), pad); gst_pad_set_chain_function (pad, gst_base_video_decoder_chain); gst_pad_set_event_function (pad, gst_base_video_decoder_sink_event); gst_pad_set_setcaps_function (pad, gst_base_video_decoder_sink_setcaps); gst_pad_set_query_function (pad, gst_base_video_decoder_sink_query); if (base_video_decoder_class->create_srcpad) { base_video_decoder->srcpad = pad = base_video_decoder_class->create_srcpad (base_video_decoder, base_video_decoder_class); } else { pad_template = gst_element_class_get_pad_template (GST_ELEMENT_CLASS (base_video_decoder_class), "src"); g_return_if_fail (pad_template != NULL); base_video_decoder->srcpad = pad = gst_pad_new_from_template (pad_template, "src"); } gst_element_add_pad (GST_ELEMENT (base_video_decoder), pad); gst_pad_set_event_function (pad, gst_base_video_decoder_src_event); gst_pad_set_query_type_function (pad, gst_base_video_decoder_get_query_types); gst_pad_set_query_function (pad, gst_base_video_decoder_src_query); gst_pad_use_fixed_caps (pad); base_video_decoder->input_adapter = gst_adapter_new (); memset (&base_video_decoder->state, 0, sizeof (GstVideoState)); /* properties */ base_video_decoder->packetized = FALSE; base_video_decoder->sink_clipping = TRUE; }
/* * initialize the new element * instantiate pads and add them to element * set pad callback functions * initialize instance structure */ static void gst_callback_callbackplugin_init(GstCallbackCallbackPlugin * filter, GstCallbackCallbackPluginClass * gclass) { filter->sinkpad = gst_pad_new_from_static_template(&sink_factory, "sink"); gst_pad_set_setcaps_function(filter->sinkpad, GST_DEBUG_FUNCPTR(gst_callback_callbackplugin_set_caps)); gst_pad_set_getcaps_function(filter->sinkpad, GST_DEBUG_FUNCPTR(gst_pad_proxy_getcaps)); gst_pad_set_chain_function(filter->sinkpad, GST_DEBUG_FUNCPTR(gst_callback_callbackplugin_chain)); gst_element_add_pad(GST_ELEMENT(filter), filter->sinkpad); filter->chain_callback = 0; filter->setcaps_callback = 0; filter->arg = 0; }
static GstPad * gst_mxf_mux_request_new_pad (GstElement * element, GstPadTemplate * templ, const gchar * pad_name) { GstMXFMux *mux = GST_MXF_MUX (element); GstMXFMuxPad *cpad; GstPad *pad = NULL; guint pad_number; gchar *name = NULL; const MXFEssenceElementWriter *writer; if (mux->state != GST_MXF_MUX_STATE_HEADER) { GST_WARNING_OBJECT (mux, "Can't request pads after writing header"); return NULL; } writer = mxf_essence_element_writer_find (templ); if (!writer) { GST_ERROR_OBJECT (mux, "Not our template"); return NULL; } pad_number = g_atomic_int_exchange_and_add ((gint *) & mux->n_pads, 1); name = gst_mxf_mux_create_pad_name (templ, pad_number); GST_DEBUG_OBJECT (mux, "Creating pad '%s'", name); pad = gst_pad_new_from_template (templ, name); g_free (name); cpad = (GstMXFMuxPad *) gst_collect_pads_add_pad (mux->collect, pad, sizeof (GstMXFMuxPad)); cpad->last_timestamp = 0; cpad->adapter = gst_adapter_new (); cpad->writer = writer; /* FIXME: hacked way to override/extend the event function of * GstCollectPads; because it sets its own event function giving the * element no access to events. */ mux->collect_event = (GstPadEventFunction) GST_PAD_EVENTFUNC (pad); gst_pad_set_event_function (pad, GST_DEBUG_FUNCPTR (gst_mxf_mux_handle_sink_event)); gst_pad_set_setcaps_function (pad, gst_mxf_mux_setcaps); gst_pad_use_fixed_caps (pad); gst_pad_set_active (pad, TRUE); gst_element_add_pad (element, pad); return pad; }
static void gst_ffmpegenc_init (GstFFMpegEnc * ffmpegenc) { GstFFMpegEncClass *oclass = (GstFFMpegEncClass *) (G_OBJECT_GET_CLASS (ffmpegenc)); /* setup pads */ ffmpegenc->sinkpad = gst_pad_new_from_template (oclass->sinktempl, "sink"); gst_pad_set_setcaps_function (ffmpegenc->sinkpad, gst_ffmpegenc_setcaps); gst_pad_set_getcaps_function (ffmpegenc->sinkpad, gst_ffmpegenc_getcaps); ffmpegenc->srcpad = gst_pad_new_from_template (oclass->srctempl, "src"); gst_pad_use_fixed_caps (ffmpegenc->srcpad); /* ffmpeg objects */ ffmpegenc->context = avcodec_alloc_context (); ffmpegenc->picture = avcodec_alloc_frame (); ffmpegenc->opened = FALSE; ffmpegenc->file = NULL; ffmpegenc->delay = g_queue_new (); if (oclass->in_plugin->type == CODEC_TYPE_VIDEO) { gst_pad_set_chain_function (ffmpegenc->sinkpad, gst_ffmpegenc_chain_video); /* so we know when to flush the buffers on EOS */ gst_pad_set_event_function (ffmpegenc->sinkpad, gst_ffmpegenc_event_video); gst_pad_set_event_function (ffmpegenc->srcpad, gst_ffmpegenc_event_src); ffmpegenc->bitrate = DEFAULT_VIDEO_BITRATE; ffmpegenc->me_method = ME_EPZS; ffmpegenc->buffer_size = 512 * 1024; ffmpegenc->gop_size = DEFAULT_VIDEO_GOP_SIZE; ffmpegenc->rtp_payload_size = 0; ffmpegenc->lmin = 2; ffmpegenc->lmax = 31; ffmpegenc->max_key_interval = 0; gst_ffmpeg_cfg_set_defaults (ffmpegenc); } else if (oclass->in_plugin->type == CODEC_TYPE_AUDIO) { gst_pad_set_chain_function (ffmpegenc->sinkpad, gst_ffmpegenc_chain_audio); ffmpegenc->bitrate = DEFAULT_AUDIO_BITRATE; } gst_element_add_pad (GST_ELEMENT (ffmpegenc), ffmpegenc->sinkpad); gst_element_add_pad (GST_ELEMENT (ffmpegenc), ffmpegenc->srcpad); ffmpegenc->adapter = gst_adapter_new (); }
static void gst_interlace_init (GstInterlace * interlace) { GST_DEBUG ("gst_interlace_init"); interlace->sinkpad = gst_pad_new_from_static_template (&gst_interlace_sink_template, "sink"); gst_element_add_pad (GST_ELEMENT (interlace), interlace->sinkpad); gst_pad_set_chain_function (interlace->sinkpad, gst_interlace_chain); gst_pad_set_setcaps_function (interlace->sinkpad, gst_interlace_setcaps); gst_pad_set_getcaps_function (interlace->sinkpad, gst_interlace_getcaps); gst_pad_set_event_function (interlace->sinkpad, gst_interlace_sink_event); interlace->srcpad = gst_pad_new_from_static_template (&gst_interlace_src_template, "src"); gst_element_add_pad (GST_ELEMENT (interlace), interlace->srcpad); gst_pad_set_setcaps_function (interlace->srcpad, gst_interlace_setcaps); gst_pad_set_getcaps_function (interlace->srcpad, gst_interlace_getcaps); interlace->top_field_first = FALSE; interlace->allow_rff = FALSE; interlace->pattern = GST_INTERLACE_PATTERN_2_3; interlace->pattern_offset = 0; gst_interlace_reset (interlace); }
static void speed_init (GstSpeed * filter) { filter->sinkpad = gst_pad_new_from_static_template (&gst_speed_sink_template, "sink"); gst_pad_set_setcaps_function (filter->sinkpad, speed_setcaps); gst_pad_set_chain_function (filter->sinkpad, speed_chain); gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad); gst_pad_set_event_function (filter->sinkpad, speed_sink_event); filter->srcpad = gst_pad_new_from_static_template (&gst_speed_src_template, "src"); gst_pad_set_setcaps_function (filter->srcpad, speed_setcaps); gst_pad_set_query_type_function (filter->srcpad, speed_get_query_types); gst_pad_set_query_function (filter->srcpad, speed_src_query); gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad); gst_pad_set_event_function (filter->srcpad, speed_src_event); filter->offset = 0; filter->timestamp = 0; filter->sample_size = 0; }
static void gst_audio_rate_init (GstAudioRate * audiorate) { audiorate->sinkpad = gst_pad_new_from_static_template (&gst_audio_rate_sink_template, "sink"); gst_pad_set_event_function (audiorate->sinkpad, gst_audio_rate_sink_event); gst_pad_set_chain_function (audiorate->sinkpad, gst_audio_rate_chain); gst_pad_set_setcaps_function (audiorate->sinkpad, gst_audio_rate_setcaps); gst_pad_set_getcaps_function (audiorate->sinkpad, gst_pad_proxy_getcaps); gst_element_add_pad (GST_ELEMENT (audiorate), audiorate->sinkpad); audiorate->srcpad = gst_pad_new_from_static_template (&gst_audio_rate_src_template, "src"); gst_pad_set_event_function (audiorate->srcpad, gst_audio_rate_src_event); gst_pad_set_setcaps_function (audiorate->srcpad, gst_audio_rate_setcaps); gst_pad_set_getcaps_function (audiorate->srcpad, gst_pad_proxy_getcaps); gst_element_add_pad (GST_ELEMENT (audiorate), audiorate->srcpad); audiorate->in = 0; audiorate->out = 0; audiorate->drop = 0; audiorate->add = 0; audiorate->silent = DEFAULT_SILENT; }
static void type_instance_init (GTypeInstance * instance, gpointer g_class) { GstOmxBaseFilter *omx_base; GstOmxAmrWbEnc *self; omx_base = GST_OMX_BASE_FILTER (instance); self = GST_OMX_AMRWBENC (instance); omx_base->gomx->settings_changed_cb = settings_changed_cb; gst_pad_set_setcaps_function (omx_base->sinkpad, sink_setcaps); self->bitrate = DEFAULT_BITRATE; }
static void instance_init(GTypeInstance *instance, gpointer g_class) { GstDspBase *base; base = GST_DSP_BASE(instance); base->use_pad_alloc = TRUE; base->create_node = create_node; /* ugly, but needed */ base->ports[1]->id = 3; gst_pad_set_setcaps_function(base->sinkpad, sink_setcaps); }
static void gst_mulawdec_init (GstMuLawDec * mulawdec) { mulawdec->sinkpad = gst_pad_new_from_static_template (&mulaw_dec_sink_factory, "sink"); gst_pad_set_setcaps_function (mulawdec->sinkpad, mulawdec_sink_setcaps); gst_pad_set_getcaps_function (mulawdec->sinkpad, mulawdec_getcaps); gst_pad_set_chain_function (mulawdec->sinkpad, gst_mulawdec_chain); gst_element_add_pad (GST_ELEMENT (mulawdec), mulawdec->sinkpad); mulawdec->srcpad = gst_pad_new_from_static_template (&mulaw_dec_src_factory, "src"); gst_pad_use_fixed_caps (mulawdec->srcpad); gst_pad_set_getcaps_function (mulawdec->srcpad, mulawdec_getcaps); gst_element_add_pad (GST_ELEMENT (mulawdec), mulawdec->srcpad); }
static void gst_dvdlpcmdec_init (GstDvdLpcmDec * dvdlpcmdec) { dvdlpcmdec->sinkpad = gst_pad_new_from_static_template (&gst_dvdlpcmdec_sink_template, "sink"); gst_pad_set_setcaps_function (dvdlpcmdec->sinkpad, gst_dvdlpcmdec_setcaps); gst_pad_set_event_function (dvdlpcmdec->sinkpad, dvdlpcmdec_sink_event); gst_element_add_pad (GST_ELEMENT (dvdlpcmdec), dvdlpcmdec->sinkpad); dvdlpcmdec->srcpad = gst_pad_new_from_static_template (&gst_dvdlpcmdec_src_template, "src"); gst_pad_use_fixed_caps (dvdlpcmdec->srcpad); gst_element_add_pad (GST_ELEMENT (dvdlpcmdec), dvdlpcmdec->srcpad); gst_dvdlpcm_reset (dvdlpcmdec); }
static void gst_real_audio_dec_init (GstRealAudioDec * dec, GstRealAudioDecClass * klass) { dec->snk = gst_pad_new_from_static_template (&snk_t, "sink"); gst_pad_set_setcaps_function (dec->snk, GST_DEBUG_FUNCPTR (gst_real_audio_dec_setcaps)); gst_pad_set_getcaps_function (dec->snk, GST_DEBUG_FUNCPTR (gst_real_audio_dec_getcaps)); gst_pad_set_chain_function (dec->snk, GST_DEBUG_FUNCPTR (gst_real_audio_dec_chain)); gst_element_add_pad (GST_ELEMENT (dec), dec->snk); dec->src = gst_pad_new_from_static_template (&src_t, "src"); gst_pad_use_fixed_caps (dec->src); gst_element_add_pad (GST_ELEMENT (dec), dec->src); }
static void gst_dshowaudiodec_init (GstDshowAudioDec * adec, GstDshowAudioDecClass * adec_class) { GstElementClass *element_class = GST_ELEMENT_GET_CLASS (adec); HRESULT hr; /* setup pads */ adec->sinkpad = gst_pad_new_from_template (gst_element_class_get_pad_template (element_class, "sink"), "sink"); gst_pad_set_setcaps_function (adec->sinkpad, gst_dshowaudiodec_sink_setcaps); gst_pad_set_event_function (adec->sinkpad, gst_dshowaudiodec_sink_event); gst_pad_set_chain_function (adec->sinkpad, gst_dshowaudiodec_chain); gst_element_add_pad (GST_ELEMENT (adec), adec->sinkpad); adec->srcpad = gst_pad_new_from_template (gst_element_class_get_pad_template (element_class, "src"), "src"); gst_element_add_pad (GST_ELEMENT (adec), adec->srcpad); adec->fakesrc = NULL; adec->fakesink = NULL; adec->decfilter = 0; adec->filtergraph = 0; adec->mediafilter = 0; adec->timestamp = GST_CLOCK_TIME_NONE; adec->segment = gst_segment_new (); adec->setup = FALSE; adec->depth = 0; adec->bitrate = 0; adec->block_align = 0; adec->channels = 0; adec->rate = 0; adec->layer = 0; adec->codec_data = NULL; adec->last_ret = GST_FLOW_OK; hr = CoInitialize (0); if (SUCCEEDED(hr)) { adec->comInitialized = TRUE; } }
static void gst_manchestermod_init(Gst_manchestermod *mod) { mod->sinkpad = gst_pad_new_from_template( gst_static_pad_template_get (&sink_template), "sink"); gst_pad_set_chain_function (mod->sinkpad, gst_manchestermod_chain); gst_element_add_pad (GST_ELEMENT(mod), mod->sinkpad); mod->srcpad = gst_pad_new_from_template( gst_static_pad_template_get(&src_template), "src"); gst_element_add_pad(GST_ELEMENT(mod), mod->srcpad); gst_pad_set_setcaps_function(mod->sinkpad, gst_manchestermod_setcaps); gst_pad_use_fixed_caps(mod->sinkpad); mod->symbollen = -1; }
static void gst_rtp_jitter_buffer_init (GstRtpJitterBuffer * jitterbuffer, GstRtpJitterBufferClass * klass) { GstRtpJitterBufferPrivate *priv; priv = GST_RTP_JITTER_BUFFER_GET_PRIVATE (jitterbuffer); jitterbuffer->priv = priv; priv->latency_ms = DEFAULT_LATENCY_MS; priv->drop_on_latency = DEFAULT_DROP_ON_LATENCY; priv->do_lost = DEFAULT_DO_LOST; priv->jbuf = rtp_jitter_buffer_new (); priv->jbuf_lock = g_mutex_new (); priv->jbuf_cond = g_cond_new (); priv->srcpad = gst_pad_new_from_static_template (&gst_rtp_jitter_buffer_src_template, "src"); gst_pad_set_activatepush_function (priv->srcpad, GST_DEBUG_FUNCPTR (gst_rtp_jitter_buffer_src_activate_push)); gst_pad_set_query_function (priv->srcpad, GST_DEBUG_FUNCPTR (gst_rtp_jitter_buffer_query)); gst_pad_set_getcaps_function (priv->srcpad, GST_DEBUG_FUNCPTR (gst_rtp_jitter_buffer_getcaps)); gst_pad_set_event_function (priv->srcpad, GST_DEBUG_FUNCPTR (gst_rtp_jitter_buffer_src_event)); priv->sinkpad = gst_pad_new_from_static_template (&gst_rtp_jitter_buffer_sink_template, "sink"); gst_pad_set_chain_function (priv->sinkpad, GST_DEBUG_FUNCPTR (gst_rtp_jitter_buffer_chain)); gst_pad_set_event_function (priv->sinkpad, GST_DEBUG_FUNCPTR (gst_rtp_jitter_buffer_sink_event)); gst_pad_set_setcaps_function (priv->sinkpad, GST_DEBUG_FUNCPTR (gst_jitter_buffer_sink_setcaps)); gst_pad_set_getcaps_function (priv->sinkpad, GST_DEBUG_FUNCPTR (gst_rtp_jitter_buffer_getcaps)); gst_element_add_pad (GST_ELEMENT (jitterbuffer), priv->srcpad); gst_element_add_pad (GST_ELEMENT (jitterbuffer), priv->sinkpad); }
static void instance_init(GTypeInstance *instance, gpointer g_class) { GstDspBase *base = GST_DSP_BASE(instance); GstDspVEnc *self = GST_DSP_VENC(instance); gst_pad_set_setcaps_function(base->sinkpad, sink_setcaps); base->reset = reset; self->bitrate = DEFAULT_BITRATE; self->mode = DEFAULT_MODE; self->keyframe_interval = DEFAULT_KEYFRAME_INTERVAL; self->intra_refresh = DEFAULT_INTRA_REFRESH; self->keyframe_mutex = g_mutex_new(); }
static void gst_goo_encpcm_init (GstGooEncPcm* self, GstGooEncPcmClass* klass) { /* goo stuff */ self->factory = goo_ti_component_factory_get_instance (); self->component = goo_component_factory_get_component (self->factory, GOO_TI_PCM_ENCODER); self->inport = goo_component_get_port (self->component, "input0"); g_assert (self->inport != NULL); self->outport = goo_component_get_port (self->component, "output0"); g_assert (self->outport != NULL); /* gst stuff */ self->sinkpad = gst_pad_new_from_static_template (&sink_template, "sink"); gst_pad_set_setcaps_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encpcm_setcaps)); gst_pad_set_event_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encpcm_event)); gst_pad_set_chain_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encpcm_chain)); gst_element_add_pad (GST_ELEMENT (self), self->sinkpad); self->srcpad = gst_pad_new_from_static_template (&src_template, "src"); gst_pad_use_fixed_caps (self->srcpad); gst_element_add_pad (GST_ELEMENT (self), self->srcpad); /* gobject stuff */ g_object_set_data (G_OBJECT (self->component), "gst", self); g_object_set_data (G_OBJECT (self), "goo", self->component); self->adapter = gst_goo_adapter_new (); /* Initializing the private structure */ GstGooEncPcmPrivate* priv = GST_GOO_ENCPCM_GET_PRIVATE (self); priv->incount = 0; priv->outcount = 0; GST_DEBUG_OBJECT (self, ""); return; }
static void gst_ffmpegdeinterlace_init (GstFFMpegDeinterlace * deinterlace, GstFFMpegDeinterlaceClass * klass) { deinterlace->sinkpad = gst_pad_new_from_static_template (&sink_factory, "sink"); gst_pad_set_setcaps_function (deinterlace->sinkpad, gst_ffmpegdeinterlace_sink_setcaps); gst_pad_set_chain_function (deinterlace->sinkpad, gst_ffmpegdeinterlace_chain); gst_element_add_pad (GST_ELEMENT (deinterlace), deinterlace->sinkpad); deinterlace->srcpad = gst_pad_new_from_static_template (&src_factory, "src"); gst_element_add_pad (GST_ELEMENT (deinterlace), deinterlace->srcpad); deinterlace->pixfmt = PIX_FMT_NB; }
static void gst_icydemux_init (GstICYDemux * icydemux) { GstElementClass *klass = GST_ELEMENT_GET_CLASS (icydemux); icydemux->sinkpad = gst_pad_new_from_template (gst_element_class_get_pad_template (klass, "sink"), "sink"); gst_pad_set_chain_function (icydemux->sinkpad, GST_DEBUG_FUNCPTR (gst_icydemux_chain)); gst_pad_set_event_function (icydemux->sinkpad, GST_DEBUG_FUNCPTR (gst_icydemux_handle_event)); gst_pad_set_setcaps_function (icydemux->sinkpad, GST_DEBUG_FUNCPTR (gst_icydemux_sink_setcaps)); gst_element_add_pad (GST_ELEMENT (icydemux), icydemux->sinkpad); gst_icydemux_reset (icydemux); }
GstPad * gst_vf_src_pad_new (GstStaticPadTemplate * pad_template, const char *name) { GST_DEBUG_CATEGORY_INIT (droidvfsrc_debug, "droidvfsrc", 0, "Android camera viewfinder source pad"); GstPad *pad = gst_pad_new_from_static_template (pad_template, name); gst_pad_set_activatepush_function (pad, gst_droid_cam_src_vfsrc_activatepush); gst_pad_set_setcaps_function (pad, gst_droid_cam_src_vfsrc_setcaps); gst_pad_set_getcaps_function (pad, gst_droid_cam_src_vfsrc_getcaps); gst_pad_set_query_type_function (pad, gst_droid_cam_src_vfsrc_query_type); gst_pad_set_query_function (pad, gst_droid_cam_src_vfsrc_query); gst_pad_set_fixatecaps_function (pad, gst_droid_cam_src_vfsrc_fixatecaps); /* TODO: Do we need an event handler via gst_pad_set_event_function() ? */ return pad; }
static void gst_pnmenc_init (GstPnmenc * s, GstPnmencClass * klass) { GstPad *pad; pad = gst_pad_new_from_template (gst_static_pad_template_get (&sink_pad_template), "sink"); gst_pad_set_setcaps_function (pad, gst_pnmenc_setcaps_func_sink); gst_pad_set_chain_function (pad, gst_pnmenc_chain); gst_pad_use_fixed_caps (pad); gst_element_add_pad (GST_ELEMENT (s), pad); s->src = gst_pad_new_from_template (gst_static_pad_template_get (&src_pad_template), "src"); gst_element_add_pad (GST_ELEMENT (s), s->src); }
static void acmmp3dec_init (ACMMP3Dec * dec, ACMMP3DecClass * decclass) { dec->sinkpad = gst_pad_new_from_static_template (&acmmp3dec_sink_template, "sink"); gst_pad_set_setcaps_function (dec->sinkpad, GST_DEBUG_FUNCPTR (acmmp3dec_sink_setcaps)); gst_pad_set_chain_function (dec->sinkpad, GST_DEBUG_FUNCPTR (acmmp3dec_chain)); gst_pad_set_event_function (dec->sinkpad, GST_DEBUG_FUNCPTR (acmmp3dec_sink_event)); gst_element_add_pad (GST_ELEMENT (dec), dec->sinkpad); dec->srcpad = gst_pad_new_from_static_template (&acmmp3dec_src_template, "src"); gst_element_add_pad (GST_ELEMENT (dec), dec->srcpad); }
static void gst_ogg_avi_parse_init (GstOggAviParse * ogg) { /* create the sink and source pads */ ogg->sinkpad = gst_pad_new_from_static_template (&ogg_avi_parse_sink_template_factory, "sink"); gst_pad_set_setcaps_function (ogg->sinkpad, gst_ogg_avi_parse_setcaps); gst_pad_set_event_function (ogg->sinkpad, gst_ogg_avi_parse_event); gst_pad_set_chain_function (ogg->sinkpad, gst_ogg_avi_parse_chain); gst_element_add_pad (GST_ELEMENT (ogg), ogg->sinkpad); ogg->srcpad = gst_pad_new_from_static_template (&ogg_avi_parse_src_template_factory, "src"); gst_pad_use_fixed_caps (ogg->srcpad); gst_element_add_pad (GST_ELEMENT (ogg), ogg->srcpad); }
static void gst_fake_h264_decoder_init (GstFakeH264Decoder * self, GstFakeH264DecoderClass * klass) { GstPad *pad; pad = gst_pad_new_from_template (gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (self), "sink"), "sink"); gst_pad_set_setcaps_function (pad, gst_fake_h264_decoder_sink_setcaps); gst_pad_set_chain_function (pad, gst_fake_h264_decoder_sink_chain); gst_element_add_pad (GST_ELEMENT (self), pad); pad = gst_pad_new_from_template (gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (self), "src"), "src"); gst_element_add_pad (GST_ELEMENT (self), pad); }
static void gst_dtsdec_init (GstDtsDec * dtsdec, GstDtsDecClass * g_class) { dtsdec->sinkpad = gst_pad_new_from_static_template (&sink_factory, "sink"); gst_pad_set_setcaps_function (dtsdec->sinkpad, GST_DEBUG_FUNCPTR (gst_dtsdec_sink_setcaps)); gst_pad_set_chain_function (dtsdec->sinkpad, GST_DEBUG_FUNCPTR (gst_dtsdec_chain)); gst_pad_set_event_function (dtsdec->sinkpad, GST_DEBUG_FUNCPTR (gst_dtsdec_sink_event)); gst_element_add_pad (GST_ELEMENT (dtsdec), dtsdec->sinkpad); dtsdec->srcpad = gst_pad_new_from_static_template (&src_factory, "src"); gst_pad_use_fixed_caps (dtsdec->srcpad); gst_element_add_pad (GST_ELEMENT (dtsdec), dtsdec->srcpad); dtsdec->dynamic_range_compression = FALSE; }
static void gst_wavenc_init (GstWavEnc * wavenc, GstWavEncClass * klass) { wavenc->sinkpad = gst_pad_new_from_static_template (&sink_factory, "sink"); gst_pad_set_chain_function (wavenc->sinkpad, GST_DEBUG_FUNCPTR (gst_wavenc_chain)); gst_pad_set_event_function (wavenc->sinkpad, GST_DEBUG_FUNCPTR (gst_wavenc_event)); gst_pad_set_setcaps_function (wavenc->sinkpad, GST_DEBUG_FUNCPTR (gst_wavenc_sink_setcaps)); gst_element_add_pad (GST_ELEMENT (wavenc), wavenc->sinkpad); wavenc->srcpad = gst_pad_new_from_static_template (&src_factory, "src"); gst_pad_use_fixed_caps (wavenc->srcpad); gst_pad_set_caps (wavenc->srcpad, gst_static_pad_template_get_caps (&src_factory)); gst_element_add_pad (GST_ELEMENT (wavenc), wavenc->srcpad); }
static void gst_segment_clip_init (GstSegmentClip * self, GstSegmentClipClass * g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); GstPadTemplate *templ; templ = gst_element_class_get_pad_template (element_class, "sink"); g_assert (templ); self->sinkpad = gst_pad_new_from_template (templ, "sink"); gst_pad_set_chain_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_segment_clip_sink_chain)); gst_pad_set_event_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_segment_clip_event)); gst_pad_set_setcaps_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_segment_clip_sink_setcaps)); gst_pad_set_getcaps_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_segment_clip_getcaps)); gst_pad_set_bufferalloc_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_segment_clip_sink_bufferalloc)); gst_pad_set_query_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_segment_clip_query)); gst_pad_set_query_type_function (self->sinkpad, GST_DEBUG_FUNCPTR (gst_segment_clip_query_type)); gst_element_add_pad (GST_ELEMENT (self), self->sinkpad); gst_object_unref (templ); templ = gst_element_class_get_pad_template (element_class, "src"); g_assert (templ); self->srcpad = gst_pad_new_from_template (templ, "src"); gst_pad_set_event_function (self->srcpad, GST_DEBUG_FUNCPTR (gst_segment_clip_event)); gst_pad_set_getcaps_function (self->srcpad, GST_DEBUG_FUNCPTR (gst_segment_clip_getcaps)); gst_pad_set_query_function (self->srcpad, GST_DEBUG_FUNCPTR (gst_segment_clip_query)); gst_pad_set_query_type_function (self->srcpad, GST_DEBUG_FUNCPTR (gst_segment_clip_query_type)); gst_element_add_pad (GST_ELEMENT (self), self->srcpad); gst_segment_clip_reset (self); }
static void gst_jasper_enc_init (GstJasperEnc * enc, GstJasperEncClass * klass) { enc->sinkpad = gst_pad_new_from_static_template (&gst_jasper_enc_sink_template, "sink"); gst_pad_set_setcaps_function (enc->sinkpad, GST_DEBUG_FUNCPTR (gst_jasper_enc_sink_setcaps)); gst_pad_set_chain_function (enc->sinkpad, GST_DEBUG_FUNCPTR (gst_jasper_enc_chain)); gst_element_add_pad (GST_ELEMENT (enc), enc->sinkpad); enc->srcpad = gst_pad_new_from_static_template (&gst_jasper_enc_src_template, "src"); gst_pad_use_fixed_caps (enc->srcpad); gst_element_add_pad (GST_ELEMENT (enc), enc->srcpad); enc->buf = NULL; gst_jasper_enc_reset (enc); }
static void gst_trm_init (GstTRM * trm, GstTRMClass * klass) { trm->sinkpad = gst_pad_new_from_static_template (&sink_template, "sink"); gst_pad_set_chain_function (trm->sinkpad, GST_DEBUG_FUNCPTR (gst_trm_chain)); gst_pad_set_setcaps_function (trm->sinkpad, GST_DEBUG_FUNCPTR (gst_trm_setcaps)); gst_element_add_pad (GST_ELEMENT (trm), trm->sinkpad); trm->srcpad = gst_pad_new_from_static_template (&src_template, "src"); gst_element_add_pad (GST_ELEMENT (trm), trm->srcpad); trm->proxy_address = g_strdup (DEFAULT_PROXY_ADDRESS); trm->proxy_port = DEFAULT_PROXY_PORT; trm->trm = NULL; trm->data_available = FALSE; trm->signature_available = FALSE; }