rtpmanager: Update codes based on 1.18.4
[platform/upstream/gst-plugins-good.git] / gst / rtpmanager / gstrtpssrcdemux.h
index 5d93330..3bb210c 100644 (file)
@@ -1,5 +1,5 @@
 /* GStreamer
- * Copyright (C) <2007> Wim Taymans <wim@fluendo.com>
+ * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -13,8 +13,8 @@
  *
  * You should have received a copy of the GNU Library General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #ifndef __GST_RTP_SSRC_DEMUX_H__
@@ -37,7 +37,11 @@ struct _GstRtpSsrcDemux
   GstElement parent;
 
   GstPad *rtp_sink;
-  GSList *rtp_srcpads;
+  GstPad *rtcp_sink;
+
+  GRecMutex padlock;
+  GSList *srcpads;
+  guint max_streams;
 };
 
 struct _GstRtpSsrcDemuxClass
@@ -45,7 +49,11 @@ struct _GstRtpSsrcDemuxClass
   GstElementClass parent_class;
 
   /* signals */
-  void (*new_ssrc_pad) (GstElement *element, guint32 ssrc, GstPad *pad);
+  void (*new_ssrc_pad)     (GstRtpSsrcDemux *demux, guint32 ssrc, GstPad *pad);
+  void (*removed_ssrc_pad) (GstRtpSsrcDemux *demux, guint32 ssrc, GstPad *pad);
+
+  /* actions */
+  void (*clear_ssrc)       (GstRtpSsrcDemux *demux, guint32 ssrc);
 };
 
 GType gst_rtp_ssrc_demux_get_type (void);