MT#57719 call: introduce `media_subscription` and according objects

Initial introduction of objects we need to handle for media
subscriptions implementation:
- `struct media_subscription`
- `media_subscribers` and `media_subscribers_ht` (quick access)
- `media_subscriptions` and `media_subscriptions_ht` (quick access)

Change-Id: Ia2c4555cd7f4bcfe149bdb9f25081e0b3078042e
pull/1722/head
Donat Zenichev 3 years ago
parent 140086a009
commit 259b3a7088

@ -437,6 +437,12 @@ struct call_media {
unsigned int buffer_delay;
/* media subsriptions handling */
GHashTable * media_subscriptions_ht; /* for quick lookup of our subsriptions */
GHashTable * media_subscribers_ht; /* for quick lookup of medias subscribed to us */
GQueue media_subscribers; /* who is subscribed to this media (sinks) */
GQueue media_subscriptions; /* who am I subscribed to (sources) */
mutex_t dtmf_lock;
unsigned long dtmf_ts; /* TS of last processed end event */
unsigned int dtmf_count;
@ -472,6 +478,13 @@ struct call_subscription {
struct sink_attrs attrs;
};
struct media_subscription {
struct call_media * media; /* media itself */
struct call_monologue * monologue; /* whom media belongs to */
struct sink_attrs attrs; /* attributes to passed to a sink */
GList * link; /* TODO: is this still really needed? */
};
/**
* Half a dialogue.
* Protected by call->master_lock, except the RO elements.

Loading…
Cancel
Save