Revision 483a73c9

b/src/gst/engine/rtpBin.cpp
133 133
    }
134 134
    else if (!context->printStats_)
135 135
    {
136
        LOG_DEBUG("Finished printing stats");
137
        context->pipeline_.quit();
136
        LOG_DEBUG("Finished printing stats for now");
138 137
        return FALSE;
139 138
    }
140 139
    else if (sessionCount_ <= 0) // no sessions to print yet
b/src/gst/engine/rtpReceiver.cpp
78 78
}
79 79

  
80 80

  
81
void RtpReceiver::onPadAdded(GstElement *  /*rtpbin*/, GstPad * srcPad, void * /* data*/)
81
void RtpReceiver::onPadAdded(GstElement *  /*rtpbin*/, GstPad * srcPad, void * data)
82 82
{
83
    RtpReceiver *context = static_cast<RtpReceiver*>(data);
84

  
83 85
    // don't look at the full name
84 86
    static const std::string expectedPadPrefix = "recv_rtp_src";
85 87
    if (gst_pad_is_linked(srcPad))
......
100 102
            gst_object_unref(sinkPad);
101 103
            return;
102 104
        }
103

  
104 105
        gstlinkable::link_pads(srcPad, sinkPad);    // link our udpsrc to the corresponding depayloader
105 106
        gchar *srcPadName;
106 107
        srcPadName = gst_pad_get_name(srcPad);
......
115 116

  
116 117
void RtpReceiver::onSenderTimeout(GstElement *  /*rtpbin*/, guint /* session */, guint /* ssrc */, gpointer data)
117 118
{
118
    LOG_INFO("Sender timeout, quitting.");
119
    LOG_INFO("Sender timeout.");
119 120
    RtpReceiver *context = static_cast<RtpReceiver*>(data);
120 121
    context->printStats_ = false;
121
    //playback::quit(); // can't do this here without crashing
122 122
}
123 123

  
124 124

  
......
221 221
    // when pad is created, it must be linked to new sink
222 222
    g_signal_connect(rtpbin_, "pad-added", 
223 223
            G_CALLBACK(RtpReceiver::onPadAdded), 
224
            NULL);
224
            this);
225 225

  
226 226
    g_signal_connect(rtpbin_, "on-sender-timeout", 
227 227
            G_CALLBACK(RtpReceiver::onSenderTimeout), 

Also available in: Unified diff