diff options
author | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2010-03-05 15:46:48 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2010-03-10 11:21:18 +0100 |
commit | f336ea283feaaf2d67985b41af0544dbc3a26c2c (patch) | |
tree | b084ce48dfbac07a419d1de067da3877e7f82bad /gst/rtpmanager/rtpsource.h | |
parent | 38f2b4735d07554c6243e8bf568ba2cbf7db5803 (diff) |
rtpsession: Move SSRC conflicts lists into RTPSource
We will also need to track SSRC conflicts in remote sources.
See #607615
Diffstat (limited to 'gst/rtpmanager/rtpsource.h')
-rw-r--r-- | gst/rtpmanager/rtpsource.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gst/rtpmanager/rtpsource.h b/gst/rtpmanager/rtpsource.h index f15e86214..7cba4e326 100644 --- a/gst/rtpmanager/rtpsource.h +++ b/gst/rtpmanager/rtpsource.h @@ -101,9 +101,24 @@ typedef struct { } RTPSourceCallbacks; /** + * RTPConflictingAddress: + * @address: #GstNetAddress which conflicted + * @last_conflict_time: time when the last conflict was seen + * + * This structure is used to account for addresses that have conflicted to find + * loops. + */ +typedef struct { + GstNetAddress address; + GstClockTime time; +} RTPConflictingAddress; + +/** * RTPSource: * * A source in the #RTPSession + * + * @conflicting_addresses: GList of conflicting addresses */ struct _RTPSource { GObject object; @@ -151,6 +166,8 @@ struct _RTPSource { gpointer user_data; RTPSourceStats stats; + + GList *conflicting_addresses; }; struct _RTPSourceClass { @@ -219,4 +236,13 @@ gboolean rtp_source_get_last_rb (RTPSource *src, guint8 *fraction void rtp_source_reset (RTPSource * src); +gboolean rtp_source_find_add_conflicting_address (RTPSource * src, + GstNetAddress *address, + GstClockTime time); + +void rtp_source_timeout (RTPSource * src, + GstClockTime current_time, + GstClockTime collision_timeout); + + #endif /* __RTP_SOURCE_H__ */ |