1 /* GStreamer 2 * Copyright (C) <2009> Wim Taymans <wim.taymans@gmail.com> 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more 13 */ 14 15 16 #ifndef __GST_RTP_CELT_PAY_H__ 17 #define __GST_RTP_CELT_PAY_H__ 18 19 #include <gst/gst.h> 20 #include <gst/rtp/gstrtpbasepayload.h> 21 22 G_BEGIN_DECLS 23 24 typedef struct _GstRtpCELTPay GstRtpCELTPay; 25 typedef struct _GstRtpCELTPayClass GstRtpCELTPayClass; 26 27 #define GST_TYPE_RTP_CELT_PAY \ 28 (gst_rtp_celt_pay_get_type()) 29 #define GST_RTP_CELT_PAY(obj) \ 30 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_CELT_PAY,GstRtpCELTPay)) 31 #define GST_RTP_CELT_PAY_CLASS(klass) \ 32 (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_CELT_PAY,GstRtpCELTPayClass)) 33 #define GST_IS_RTP_CELT_PAY(obj) \ 34 (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_CELT_PAY)) 35 #define GST_IS_RTP_CELT_PAY_CLASS(klass) \ 36 (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_CELT_PAY)) 37 38 struct _GstRtpCELTPay 39 { 40 GstRTPBasePayload payload; 41 42 guint64 packet; 43 44 /* queue to hold packets */ 45 GQueue *queue; 46 guint sbytes; /* bytes queued for sizes */ 47 guint bytes; /* bytes queued for data */ 48 GstClockTime qduration; /* queued duration */ 49 }; 50 51 struct _GstRtpCELTPayClass 52 { 53 GstRTPBasePayloadClass parent_class; 54 }; 55 56 GType gst_rtp_celt_pay_get_type (void); 57 58 gboolean gst_rtp_celt_pay_plugin_init (GstPlugin * plugin); 59 60 G_END_DECLS 61 62 #endif /* __GST_RTP_CELT_PAY_H__ */ 63