summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager/rtpsource.h
diff options
context:
space:
mode:
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);