summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager/rtpsource.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/rtpsource.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/rtpsource.h')
-rw-r--r--gst/rtpmanager/rtpsource.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/gst/rtpmanager/rtpsource.h b/gst/rtpmanager/rtpsource.h
index d4ae6f55..2f997fb5 100644
--- a/gst/rtpmanager/rtpsource.h
+++ b/gst/rtpmanager/rtpsource.h
@@ -31,6 +31,10 @@
#define RTP_NO_PROBATION 0
#define RTP_DEFAULT_PROBATION 2
+#define RTP_SEQ_MOD (1 << 16)
+#define RTP_MAX_DROPOUT 3000
+#define RTP_MAX_MISORDER 100
+
typedef struct _RTPSource RTPSource;
typedef struct _RTPSourceClass RTPSourceClass;
@@ -69,7 +73,8 @@ typedef struct _RTPSourceClass RTPSourceClass;
*
* Returns: a #GstFlowReturn.
*/
-typedef GstFlowReturn (*RTPSourcePushRTP) (RTPSource *src, GstBuffer *buffer, gpointer user_data);
+typedef GstFlowReturn (*RTPSourcePushRTP) (RTPSource *src, GstBuffer *buffer,
+ gpointer user_data);
/**
* RTPSourceClockRate:
@@ -106,19 +111,23 @@ struct _RTPSource {
GObject object;
/*< private >*/
- RTPSourceCallbacks callbacks;
- gpointer user_data;
-
guint32 ssrc;
- gchar *cname;
+
gint probation;
gboolean validated;
- gboolean received_bye;
- gchar *bye_reason;
-
gboolean is_csrc;
gboolean is_sender;
+ gchar *cname;
+ gchar *name;
+ gchar *email;
+ gchar *phone;
+ gchar *location;
+ gchar *tool;
+ gchar *note;
+ gboolean received_bye;
+ gchar *bye_reason;
+
gboolean have_rtp_from;
GstNetAddress rtp_from;
gboolean have_rtcp_from;
@@ -129,6 +138,9 @@ struct _RTPSource {
GQueue *packets;
+ RTPSourceCallbacks callbacks;
+ gpointer user_data;
+
RTPSourceStats stats;
};
@@ -147,6 +159,7 @@ void rtp_source_set_as_csrc (RTPSource *src);
void rtp_source_set_rtp_from (RTPSource *src, GstNetAddress *address);
void rtp_source_set_rtcp_from (RTPSource *src, GstNetAddress *address);
+/* handling RTP */
GstFlowReturn rtp_source_process_rtp (RTPSource *src, GstBuffer *buffer, RTPArrivalStats *arrival);
GstFlowReturn rtp_source_send_rtp (RTPSource *src, GstBuffer *buffer);