static void gst_wasapi_src_init (GstWasapiSrc * self, GstWasapiSrcClass * gclass) { GstBaseSrc *basesrc = GST_BASE_SRC (self); gst_base_src_set_format (basesrc, GST_FORMAT_TIME); gst_base_src_set_live (basesrc, TRUE); self->rate = 8000; self->buffer_time = 20 * GST_MSECOND; self->period_time = 20 * GST_MSECOND; self->latency = GST_CLOCK_TIME_NONE; self->samples_per_buffer = self->rate / (GST_SECOND / self->period_time); self->start_time = GST_CLOCK_TIME_NONE; self->next_time = GST_CLOCK_TIME_NONE; #if GST_CHECK_VERSION(0, 10, 31) || (GST_CHECK_VERSION(0, 10, 30) && GST_VERSION_NANO > 0) self->clock = gst_audio_clock_new_full ("GstWasapiSrcClock", gst_wasapi_src_get_time, gst_object_ref (self), (GDestroyNotify) gst_object_unref); #else self->clock = gst_audio_clock_new ("GstWasapiSrcClock", gst_wasapi_src_get_time, self); #endif CoInitialize (NULL); }
static void gst_dasf_src_init (GstDasfSrc* self, GstDasfSrcClass* klass) { GST_DEBUG (""); GstBaseAudioSrc *baseaudiosrc; baseaudiosrc = GST_BASE_AUDIO_SRC (self); GstDasfSrcPrivate* priv = GST_DASF_SRC_GET_PRIVATE (self); priv->num_output_buffers = NUM_OUTPUT_BUFFERS_DEFAULT; priv->incount = 0; priv->outcount = 0; priv->volume = 100; priv->mute = FALSE; baseaudiosrc->clock = gst_audio_clock_new ("GstDasfSrcClock", (GstAudioClockGetTimeFunc) gst_dasf_src_get_time, self); self->component = NULL; self->tracks = NULL; GstMixerTrack* track = g_object_new (GST_TYPE_MIXER_TRACK, NULL); track->label = g_strdup ("DASF Volume"); track->num_channels = 1; track->min_volume = 0; track->max_volume = 100; track->flags = GST_MIXER_TRACK_MASTER | GST_MIXER_TRACK_MUTE; self->tracks = g_slist_append (self->tracks, track); return; }
static void alsaspdifsink_init (AlsaSPDIFSink * sink, AlsaSPDIFSinkClass * g_class) { /* Create the provided clock. */ sink->clock = gst_audio_clock_new ("clock", alsaspdifsink_get_time, sink); sink->card = 0; sink->device = g_strdup ("default"); }
static void gst_pulsesrc_init (GstPulseSrc * pulsesrc) { pulsesrc->server = NULL; pulsesrc->device = NULL; pulsesrc->client_name = gst_pulse_client_name (); pulsesrc->device_description = NULL; pulsesrc->context = NULL; pulsesrc->stream = NULL; pulsesrc->stream_connected = FALSE; pulsesrc->source_output_idx = PA_INVALID_INDEX; pulsesrc->read_buffer = NULL; pulsesrc->read_buffer_length = 0; pa_sample_spec_init (&pulsesrc->sample_spec); pulsesrc->operation_success = FALSE; pulsesrc->paused = TRUE; pulsesrc->in_read = FALSE; pulsesrc->volume = DEFAULT_VOLUME; pulsesrc->volume_set = FALSE; pulsesrc->mute = DEFAULT_MUTE; pulsesrc->mute_set = FALSE; pulsesrc->notify = 0; pulsesrc->properties = NULL; pulsesrc->proplist = NULL; pulsesrc->probe = gst_pulseprobe_new (G_OBJECT (pulsesrc), G_OBJECT_GET_CLASS (pulsesrc), PROP_DEVICE, pulsesrc->server, FALSE, TRUE); /* FALSE for sinks, TRUE for sources */ /* this should be the default but it isn't yet */ gst_audio_base_src_set_slave_method (GST_AUDIO_BASE_SRC (pulsesrc), GST_AUDIO_BASE_SRC_SLAVE_SKEW); /* override with a custom clock */ if (GST_AUDIO_BASE_SRC (pulsesrc)->clock) gst_object_unref (GST_AUDIO_BASE_SRC (pulsesrc)->clock); GST_AUDIO_BASE_SRC (pulsesrc)->clock = gst_audio_clock_new ("GstPulseSrcClock", (GstAudioClockGetTimeFunc) gst_pulsesrc_get_time, pulsesrc, NULL); }
static void gst_base_audio_src_init (GstBaseAudioSrc * baseaudiosrc, GstBaseAudioSrcClass * g_class) { baseaudiosrc->priv = GST_BASE_AUDIO_SRC_GET_PRIVATE (baseaudiosrc); baseaudiosrc->buffer_time = DEFAULT_BUFFER_TIME; baseaudiosrc->latency_time = DEFAULT_LATENCY_TIME; baseaudiosrc->priv->provide_clock = DEFAULT_PROVIDE_CLOCK; baseaudiosrc->priv->slave_method = DEFAULT_SLAVE_METHOD; /* reset blocksize we use latency time to calculate a more useful * value based on negotiated format. */ GST_BASE_SRC (baseaudiosrc)->blocksize = 0; baseaudiosrc->clock = gst_audio_clock_new ("GstAudioSrcClock", (GstAudioClockGetTimeFunc) gst_base_audio_src_get_time, baseaudiosrc); /* we are always a live source */ gst_base_src_set_live (GST_BASE_SRC (baseaudiosrc), TRUE); /* we operate in time */ gst_base_src_set_format (GST_BASE_SRC (baseaudiosrc), GST_FORMAT_TIME); }