static void gst_wasapi_sink_class_init (GstWasapiSinkClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); GstBaseSinkClass *gstbasesink_class = GST_BASE_SINK_CLASS (klass); GstAudioSinkClass *gstaudiosink_class = GST_AUDIO_SINK_CLASS (klass); gobject_class->dispose = gst_wasapi_sink_dispose; gobject_class->finalize = gst_wasapi_sink_finalize; gst_element_class_add_static_pad_template (gstelement_class, &sink_template); gst_element_class_set_static_metadata (gstelement_class, "WasapiSrc", "Sink/Audio", "Stream audio to an audio capture device through WASAPI", "Ole André Vadla Ravnås <*****@*****.**>"); gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_wasapi_sink_get_caps); gstaudiosink_class->prepare = GST_DEBUG_FUNCPTR (gst_wasapi_sink_prepare); gstaudiosink_class->unprepare = GST_DEBUG_FUNCPTR (gst_wasapi_sink_unprepare); gstaudiosink_class->open = GST_DEBUG_FUNCPTR (gst_wasapi_sink_open); gstaudiosink_class->close = GST_DEBUG_FUNCPTR (gst_wasapi_sink_close); gstaudiosink_class->write = GST_DEBUG_FUNCPTR (gst_wasapi_sink_write); gstaudiosink_class->delay = GST_DEBUG_FUNCPTR (gst_wasapi_sink_delay); gstaudiosink_class->reset = GST_DEBUG_FUNCPTR (gst_wasapi_sink_reset); GST_DEBUG_CATEGORY_INIT (gst_wasapi_sink_debug, "wasapisink", 0, "Windows audio session API sink"); }
static void gst_directsound_sink_class_init (GstDirectSoundSinkClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstBaseSinkClass *gstbasesink_class = GST_BASE_SINK_CLASS (klass); GstAudioSinkClass *gstaudiosink_class = GST_AUDIO_SINK_CLASS (klass); GstAudioBaseSinkClass *gstaudiobasesink_class = GST_AUDIO_BASE_SINK_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GST_DEBUG_CATEGORY_INIT (directsoundsink_debug, "directsoundsink", 0, "DirectSound sink"); gobject_class->finalize = gst_directsound_sink_finalize; gobject_class->set_property = gst_directsound_sink_set_property; gobject_class->get_property = gst_directsound_sink_get_property; gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_directsound_sink_getcaps); gstbasesink_class->query = GST_DEBUG_FUNCPTR (gst_directsound_sink_query); gstaudiobasesink_class->payload = GST_DEBUG_FUNCPTR (gst_directsound_sink_payload); gstaudiosink_class->prepare = GST_DEBUG_FUNCPTR (gst_directsound_sink_prepare); gstaudiosink_class->unprepare = GST_DEBUG_FUNCPTR (gst_directsound_sink_unprepare); gstaudiosink_class->open = GST_DEBUG_FUNCPTR (gst_directsound_sink_open); gstaudiosink_class->close = GST_DEBUG_FUNCPTR (gst_directsound_sink_close); gstaudiosink_class->write = GST_DEBUG_FUNCPTR (gst_directsound_sink_write); gstaudiosink_class->delay = GST_DEBUG_FUNCPTR (gst_directsound_sink_delay); gstaudiosink_class->reset = GST_DEBUG_FUNCPTR (gst_directsound_sink_reset); g_object_class_install_property (gobject_class, PROP_VOLUME, g_param_spec_double ("volume", "Volume", "Volume of this stream", 0.0, 1.0, 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_MUTE, g_param_spec_boolean ("mute", "Mute", "Mute state of this stream", DEFAULT_MUTE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); gst_element_class_set_static_metadata (element_class, "Direct Sound Audio Sink", "Sink/Audio", "Output to a sound card via Direct Sound", "Sebastien Moutte <*****@*****.**>"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&directsoundsink_sink_factory)); }
static void gst_tinyalsa_sink_class_init (GstTinyalsaSinkClass * klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstBaseSinkClass *basesink_class = GST_BASE_SINK_CLASS (klass); GstAudioSinkClass *audiosink_class = GST_AUDIO_SINK_CLASS (klass); gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_get_property); gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_set_property); basesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_getcaps); audiosink_class->open = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_open); audiosink_class->prepare = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_prepare); audiosink_class->unprepare = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_unprepare); audiosink_class->close = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_close); audiosink_class->write = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_write); audiosink_class->reset = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_reset); audiosink_class->delay = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_delay); gst_element_class_set_static_metadata (element_class, "tinyalsa Audio Sink", "Sink/Audio", "Plays audio to an ALSA device", "Arun Raghavan <*****@*****.**>"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template)); g_object_class_install_property (gobject_class, PROP_CARD, g_param_spec_uint ("card", "Card", "The ALSA card to use", 0, G_MAXUINT, DEFAULT_CARD, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_DEVICE, g_param_spec_uint ("device", "Device", "The ALSA device to use", 0, G_MAXUINT, DEFAULT_CARD, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); GST_DEBUG_CATEGORY_INIT (tinyalsa_sink_debug, "tinyalsasink", 0, "tinyalsa Sink"); }