update_arrival_stats (sess, &arrival, FALSE, buffer, current_time, -1,
ntpnstime);
- if (sess->sent_bye)
+ if (sess->source->sent_bye)
goto ignore;
/* start processing the compound packet */
INIT_AVG (sess->stats.avg_rtcp_packet_size, 100);
sess->stats.bye_members = 1;
sess->first_rtcp = TRUE;
- sess->sent_bye = FALSE;
sess->allow_early = TRUE;
/* reschedule transmission */
}
if (sess->source->marked_bye) {
- if (sess->sent_bye) {
+ if (sess->source->sent_bye) {
GST_DEBUG ("we sent BYE already");
interval = GST_CLOCK_TIME_NONE;
} else if (sess->stats.active_sources >= 50) {
/* generate BYE instead */
GST_DEBUG ("generating BYE message");
session_bye (sess, &data);
- sess->sent_bye = TRUE;
+ own->sent_bye = TRUE;
} else {
/* loop over all known sources and do something */
g_hash_table_foreach (sess->ssrcs[sess->mask_idx],
g_hash_table_insert (sess->ssrcs[sess->mask_idx],
GINT_TO_POINTER (own->ssrc), own);
- sess->sent_bye = FALSE;
sess->change_ssrc = FALSE;
notify = TRUE;
GST_DEBUG ("changed our SSRC to %08x", own->ssrc);
GST_DEBUG ("%p, sending RTCP packet, avg size %u, %u", &sess->stats,
sess->stats.avg_rtcp_packet_size, packet_size);
result =
- sess->callbacks.send_rtcp (sess, own, data.rtcp, sess->sent_bye,
+ sess->callbacks.send_rtcp (sess, own, data.rtcp, own->sent_bye,
sess->send_rtcp_user_data);
} else {
GST_DEBUG ("freeing packet callback: %p"