gst_plugins_base/gst-libs/gst/rtp/gstbasertpdepayload.h
branchRCL_3
changeset 30 7e817e7e631c
parent 29 567bb019e3e3
equal deleted inserted replaced
29:567bb019e3e3 30:7e817e7e631c
    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