GNOME Bugzilla – Bug 508587
Improvement to rtpsession
Last modified: 2008-01-11 16:46:14 UTC
Hi, I've made improvements to rtpsession's API to allow it to be used by different elements (rtprecv and rtpsend from farsight's rtpbin). The changes are mainly that the callbacks set to rtpsession can be set individually and have their own user_data per callback, instead of being set all in one shot with a structure and all share the same user_data. The patch can be found here : http://people.collabora.co.uk/~kakaroto/gst-plugins-bad-rtpsession.patch There's also a 'TODO' comment in there that requires you to review a little portion of the original code. I didn't want to change it being unsure of the reasons the code was there like that, but it looks to me like a logical error.
Patch by: Youness Alaoui <youness dot alaoui at collabora dot co dot uk> * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate): * gst/rtpmanager/rtpsession.c: (rtp_session_set_callbacks), (rtp_session_set_process_rtp_callback), (rtp_session_set_send_rtp_callback), (rtp_session_set_send_rtcp_callback), (rtp_session_set_sync_rtcp_callback), (rtp_session_set_clock_rate_callback), (rtp_session_set_reconsider_callback), (source_push_rtp), (source_clock_rate), (rtp_session_process_bye), (rtp_session_process_rtcp), (rtp_session_send_bye), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Make it possible to use different user_data for each of the callbacks. Fixes #508587.