summaryrefslogtreecommitdiff
path: root/gst/rtpmanager/rtpsession.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2007-04-25 08:30:48 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-08-11 02:30:25 +0100
commit23883be047f94d8bde7094b6210277e92e9df11c (patch)
treee5f8ae946f045eb6362ecc5782061bf78978e3a0 /gst/rtpmanager/rtpsession.h
parent677b361dc33b4a08fa18df88a64f4d49a511647d (diff)
gst/rtpmanager/gstrtpbin.c: fix for pad name change
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_rtcp): fix for pad name change * gst/rtpmanager/gstrtpsession.c: (rtcp_thread), (gst_rtp_session_send_rtcp), (gst_rtp_session_clock_rate): Fix for renamed methods. * gst/rtpmanager/rtpsession.c: (rtp_session_init), (rtp_session_finalize), (rtp_session_set_cname), (rtp_session_get_cname), (rtp_session_set_name), (rtp_session_get_name), (rtp_session_set_email), (rtp_session_get_email), (rtp_session_set_phone), (rtp_session_get_phone), (rtp_session_set_location), (rtp_session_get_location), (rtp_session_set_tool), (rtp_session_get_tool), (rtp_session_set_note), (rtp_session_get_note), (source_push_rtp), (obtain_source), (rtp_session_add_source), (rtp_session_get_source_by_ssrc), (rtp_session_create_source), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_sdes), (rtp_session_process_rtcp), (rtp_session_send_rtp), (rtp_session_get_reporting_interval), (session_report_blocks), (session_sdes), (rtp_session_perform_reporting): * gst/rtpmanager/rtpsession.h: Prepare for implementing SSRC sampling. Create SSRC for the session. Add methods to set the SDES entries. fix accounting of senders/receivers. Implement SR/RR/SDES RTCP reporting. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (init_seq), (rtp_source_process_rtp), (rtp_source_process_sr): * gst/rtpmanager/rtpsource.h: Implement extended sequence number. * gst/rtpmanager/rtpstats.c: (rtp_stats_calculate_rtcp_interval): * gst/rtpmanager/rtpstats.h: Rename some fields.
Diffstat (limited to 'gst/rtpmanager/rtpsession.h')
-rw-r--r--gst/rtpmanager/rtpsession.h36
1 files changed, 33 insertions, 3 deletions
diff --git a/gst/rtpmanager/rtpsession.h b/gst/rtpmanager/rtpsession.h
index 46062c997..493387fa8 100644
--- a/gst/rtpmanager/rtpsession.h
+++ b/gst/rtpmanager/rtpsession.h
@@ -143,9 +143,24 @@ struct _RTPSession {
GMutex *lock;
guint header_len;
+ guint mtu;
RTPSource *source;
- GHashTable *ssrcs;
+
+ /* info for creating reports */
+ gchar *cname;
+ gchar *name;
+ gchar *email;
+ gchar *phone;
+ gchar *location;
+ gchar *tool;
+ gchar *note;
+
+ /* for sender/receiver counting */
+ guint32 key;
+ guint32 mask_idx;
+ guint32 mask;
+ GHashTable *ssrcs[32];
GHashTable *cnames;
guint total_sources;
@@ -184,6 +199,21 @@ gdouble rtp_session_get_bandwidth (RTPSession *sess);
void rtp_session_set_rtcp_fraction (RTPSession *sess, gdouble fraction);
gdouble rtp_session_get_rtcp_fraction (RTPSession *sess);
+void rtp_session_set_cname (RTPSession *sess, const gchar *cname);
+gchar* rtp_session_get_cname (RTPSession *sess);
+void rtp_session_set_name (RTPSession *sess, const gchar *name);
+gchar* rtp_session_get_name (RTPSession *sess);
+void rtp_session_set_email (RTPSession *sess, const gchar *email);
+gchar* rtp_session_get_email (RTPSession *sess);
+void rtp_session_set_phone (RTPSession *sess, const gchar *phone);
+gchar* rtp_session_get_phone (RTPSession *sess);
+void rtp_session_set_location (RTPSession *sess, const gchar *location);
+gchar* rtp_session_get_location (RTPSession *sess);
+void rtp_session_set_tool (RTPSession *sess, const gchar *tool);
+gchar* rtp_session_get_tool (RTPSession *sess);
+void rtp_session_set_note (RTPSession *sess, const gchar *note);
+gchar* rtp_session_get_note (RTPSession *sess);
+
/* handling sources */
gboolean rtp_session_add_source (RTPSession *sess, RTPSource *src);
gint rtp_session_get_num_sources (RTPSession *sess);
@@ -200,7 +230,7 @@ GstFlowReturn rtp_session_process_rtcp (RTPSession *sess, GstBuffer
GstFlowReturn rtp_session_send_rtp (RTPSession *sess, GstBuffer *buffer);
/* get interval for next RTCP interval */
-gdouble rtp_session_get_rtcp_interval (RTPSession *sess);
-GstFlowReturn rtp_session_produce_rtcp (RTPSession *sess);
+gdouble rtp_session_get_reporting_interval (RTPSession *sess);
+GstFlowReturn rtp_session_perform_reporting (RTPSession *sess);
#endif /* __RTP_SESSION_H__ */