static gboolean gst_a2dp_sink_init_fakesink(GstA2dpSink *self) { if (self->fakesink != NULL) return TRUE; g_mutex_lock(self->cb_mutex); self->fakesink = gst_a2dp_sink_init_element(self, "fakesink", "fakesink", self->capsfilter); g_mutex_unlock(self->cb_mutex); if (!self->fakesink) return FALSE; return TRUE; }
static gboolean gst_a2dp_sink_init_rtp_sbc_element(GstA2dpSink *self) { GstElement *rtppay; /* if we already have a rtp, we don't need a new one */ if (self->rtp != NULL) return TRUE; rtppay = gst_a2dp_sink_init_element(self, "rtpsbcpay", "rtp", self->capsfilter); if (rtppay == NULL) return FALSE; self->rtp = GST_BASE_RTP_PAYLOAD(rtppay); g_object_set(G_OBJECT(self->rtp), "min-frames", -1, NULL); gst_element_set_state(rtppay, GST_STATE_PAUSED); return TRUE; }
static gboolean gst_a2dp_sink_init_rtp_mpeg_element (GstA2dpSink * self) { GstElement *rtppay; /* check if we don't need a new rtp */ if (self->rtp) return TRUE; GST_LOG_OBJECT (self, "Initializing rtp mpeg element"); rtppay = gst_a2dp_sink_init_element (self, "rtpmpapay", "rtp"); if (rtppay == NULL) return FALSE; self->rtp = rtppay; gst_element_set_state (rtppay, GST_STATE_PAUSED); return TRUE; }
static gboolean gst_a2dp_sink_init_rtp_mpeg_element(GstA2dpSink *self) { GstElement *rtppay; /* check if we don't need a new rtp */ if (self->rtp) return TRUE; GST_LOG_OBJECT(self, "Initializing rtp mpeg element"); /* if capsfilter is not created then we can't have our rtp element */ if (self->capsfilter == NULL) return FALSE; rtppay = gst_a2dp_sink_init_element(self, "rtpmpapay", "rtp", self->capsfilter); if (rtppay == NULL) return FALSE; self->rtp = GST_BASE_RTP_PAYLOAD(rtppay); gst_element_set_state(rtppay, GST_STATE_PAUSED); return TRUE; }