Esempio n. 1
0
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);
}
Esempio n. 2
0
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;
}