void AudioDataOutput::mediaNodeEvent(const MediaNodeEvent *event) { if (event->type() == MediaNodeEvent::MediaObjectConnected && root()) { g_object_set(G_OBJECT(audioElement()), "sync", true, (const char*)NULL); GstPad *audiopad = gst_element_get_pad (audioElement(), "src"); gst_pad_add_buffer_probe (audiopad, G_CALLBACK(processBuffer), this); gst_object_unref (audiopad); return; } MediaNode::mediaNodeEvent(event); }
bool MediaNode::link() { // Rewire everything if ((description() & AudioSource)) { if (!linkMediaNodeList(m_audioSinkList, root()->audioGraph(), m_audioTee, m_fakeAudioSink, audioElement())) return false; } if ((description() & VideoSource)) { if (!linkMediaNodeList(m_videoSinkList, root()->videoGraph(), m_videoTee, m_fakeVideoSink, videoElement())) return false; } return true; }