94 |
94 |
95 struct _GstBaseRTPDepayloadClass |
95 struct _GstBaseRTPDepayloadClass |
96 { |
96 { |
97 GstElementClass parent_class; |
97 GstElementClass parent_class; |
98 |
98 |
99 /* virtuals, inform the subclass of the caps. */ |
99 /* virtuals */ |
100 gboolean (*set_caps) (GstBaseRTPDepayload *filter, GstCaps *caps); |
100 gboolean (*set_caps) (GstBaseRTPDepayload *filter, GstCaps *caps); |
101 |
101 |
102 /* non-pure function, default implementation in base class |
102 /* non-pure function, default implementation in base class |
103 * this does buffering, reordering and dropping, deprecated */ |
103 * this does buffering, reordering and dropping, deprecated */ |
104 GstFlowReturn (*add_to_queue) (GstBaseRTPDepayload *filter, GstBuffer *in); |
104 GstFlowReturn (*add_to_queue) (GstBaseRTPDepayload *filter, GstBuffer *in); |
105 |
105 |
106 /* pure virtual function, child must use this to process incoming |
106 /* pure virtual function, child must use this to process incoming |
107 * rtp packets. If the child returns a buffer without a valid timestamp, |
107 * rtp packets. If the child returns a buffer, the timestamp of @in will be |
108 * the timestamp of @in will be applied to the result buffer and the |
108 * applied to the result buffer and the buffer will be pushed. If this |
109 * buffer will be pushed. If this function returns %NULL, nothing is |
109 * function returns %NULL, nothing is pushed. */ |
110 * pushed. */ |
|
111 GstBuffer * (*process) (GstBaseRTPDepayload *base, GstBuffer *in); |
110 GstBuffer * (*process) (GstBaseRTPDepayload *base, GstBuffer *in); |
112 |
111 |
113 /* non-pure function used to convert from RTP timestamp to GST timestamp |
112 /* non-pure function used to convert from RTP timestamp to GST timestamp |
114 * this function is used by the child class before gst_pad_pushing */ |
113 * this function is used by the child class before gst_pad_pushing */ |
115 void (*set_gst_timestamp) (GstBaseRTPDepayload *filter, guint32 timestamp, GstBuffer *buf); |
114 void (*set_gst_timestamp) (GstBaseRTPDepayload *filter, guint32 timestamp, GstBuffer *buf); |
116 |
115 |
117 /* non-pure function used to to signal the depayloader about packet loss. the |
|
118 * timestamp and duration are the estimated values of the lost packet. |
|
119 * The default implementation of this message pushes a segment update. */ |
|
120 gboolean (*packet_lost) (GstBaseRTPDepayload *filter, GstEvent *event); |
|
121 |
|
122 /*< private >*/ |
116 /*< private >*/ |
123 gpointer _gst_reserved[GST_PADDING-1]; |
117 gpointer _gst_reserved[GST_PADDING]; |
124 }; |
118 }; |
125 #ifdef __SYMBIAN32__ |
119 #ifdef __SYMBIAN32__ |
126 IMPORT_C |
120 IMPORT_C |
127 #endif |
121 #endif |
128 |
122 |