94 |
94 |
95 struct _GstBaseRTPDepayloadClass |
95 struct _GstBaseRTPDepayloadClass |
96 { |
96 { |
97 GstElementClass parent_class; |
97 GstElementClass parent_class; |
98 |
98 |
99 /* virtuals */ |
99 /* virtuals, inform the subclass of the caps. */ |
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, the timestamp of @in will be |
107 * rtp packets. If the child returns a buffer without a valid timestamp, |
108 * applied to the result buffer and the buffer will be pushed. If this |
108 * the timestamp of @in will be applied to the result buffer and the |
109 * function returns %NULL, nothing is pushed. */ |
109 * buffer will be pushed. If this function returns %NULL, nothing is |
|
110 * pushed. */ |
110 GstBuffer * (*process) (GstBaseRTPDepayload *base, GstBuffer *in); |
111 GstBuffer * (*process) (GstBaseRTPDepayload *base, GstBuffer *in); |
111 |
112 |
112 /* non-pure function used to convert from RTP timestamp to GST timestamp |
113 /* non-pure function used to convert from RTP timestamp to GST timestamp |
113 * this function is used by the child class before gst_pad_pushing */ |
114 * this function is used by the child class before gst_pad_pushing */ |
114 void (*set_gst_timestamp) (GstBaseRTPDepayload *filter, guint32 timestamp, GstBuffer *buf); |
115 void (*set_gst_timestamp) (GstBaseRTPDepayload *filter, guint32 timestamp, GstBuffer *buf); |
115 |
116 |
|
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 |
116 /*< private >*/ |
122 /*< private >*/ |
117 gpointer _gst_reserved[GST_PADDING]; |
123 gpointer _gst_reserved[GST_PADDING-1]; |
118 }; |
124 }; |
119 #ifdef __SYMBIAN32__ |
125 #ifdef __SYMBIAN32__ |
120 IMPORT_C |
126 IMPORT_C |
121 #endif |
127 #endif |
122 |
128 |