gst_plugins_base/gst-libs/gst/rtp/gstbasertpdepayload.h
changeset 16 8e837d1bf446
parent 0 0e761a78d257
child 30 7e817e7e631c
equal deleted inserted replaced
15:4b0c6ed43234 16:8e837d1bf446
    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