}
g_mutex_lock(&conn->packet_sources[i].mutex);
conn->packet_sources[i].is_overflowed = (state == WEBRTC_MEDIA_PACKET_SOURCE_BUFFER_STATE_OVERFLOW);
- g_mutex_unlock(&conn->packet_sources[i].mutex);
if (!conn->packet_sources[i].is_overflowed)
g_cond_signal(&conn->packet_sources[i].cond);
+ g_mutex_unlock(&conn->packet_sources[i].mutex);
}
static void _webrtc_media_packet_source_set_buffer_state_changed_cb(int index, unsigned int source_id)
RET_IF(!g_ad.conns[index].packet_sources[i].src_pipeline, "already stopped for pushing packet");
+ g_mutex_lock(&g_ad.conns[index].packet_sources[i].mutex);
if (g_ad.conns[index].packet_sources[i].is_overflowed)
g_cond_signal(&g_ad.conns[index].packet_sources[i].cond);
+ g_mutex_unlock(&g_ad.conns[index].packet_sources[i].mutex);
g_ad.conns[index].packet_sources[i].is_stop_requested = true;