X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gst%2Frtpmanager%2Fgstrtpmux.h;h=65343da3a707e834b49702680bfcaed23ee275c7;hb=deeb3be3ec26feef48f277d85bf55e816a228d4e;hp=8a6a5dd25171ff5192b4a294b949078d8cae2986;hpb=423ce98666b0131ec41b00ea3a5966ca8d426d1b;p=platform%2Fupstream%2Fgst-plugins-good.git diff --git a/gst/rtpmanager/gstrtpmux.h b/gst/rtpmanager/gstrtpmux.h index 8a6a5dd..65343da 100644 --- a/gst/rtpmanager/gstrtpmux.h +++ b/gst/rtpmanager/gstrtpmux.h @@ -19,27 +19,39 @@ * * 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_MUX_H__ #define __GST_RTP_MUX_H__ #include +#include G_BEGIN_DECLS #define GST_TYPE_RTP_MUX (gst_rtp_mux_get_type()) #define GST_RTP_MUX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MUX, GstRTPMux)) -#define GST_RTP_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MUX, GstRTPMux)) +#define GST_RTP_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MUX, GstRTPMuxClass)) #define GST_RTP_MUX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_RTP_MUX, GstRTPMuxClass)) #define GST_IS_RTP_MUX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MUX)) #define GST_IS_RTP_MUX_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MUX)) typedef struct _GstRTPMux GstRTPMux; typedef struct _GstRTPMuxClass GstRTPMuxClass; -/** - * GstRTPMux: + +typedef struct +{ + gboolean have_timestamp_offset; + guint timestamp_offset; + + GstSegment segment; + + gboolean priority; +} GstRTPMuxPadPrivate; + + +/* GstRTPMux: * * The opaque #GstRTPMux structure. */ @@ -58,29 +70,23 @@ struct _GstRTPMux guint16 seqnum; /* protected by object lock */ guint ssrc; guint current_ssrc; + gboolean have_ssrc; + + GstPad *last_pad; /* protected by object lock */ - gboolean segment_pending; + GstClockTime last_stop; + gboolean send_stream_start; }; struct _GstRTPMuxClass { GstElementClass parent_class; - GstFlowReturn (*chain_func) (GstPad * pad, GstBuffer * buffer); -}; - - -typedef struct -{ - gboolean have_clock_base; - guint clock_base; - - GstCaps *out_caps; + gboolean (*accept_buffer_locked) (GstRTPMux *rtp_mux, + GstRTPMuxPadPrivate * padpriv, GstRTPBuffer * buffer); - GstSegment segment; - - gboolean priority; -} GstRTPMuxPadPrivate; + gboolean (*src_event) (GstRTPMux *rtp_mux, GstEvent *event); +}; GType gst_rtp_mux_get_type (void);