aggregator: Assert if the sink/src pad type that is to be used is not a GstAggregator...
[platform/upstream/gstreamer.git] / libs / gst / base / gsttypefindhelper.h
index 052bc19..bda346c 100644 (file)
  *
  * You should have received a copy of the GNU Library General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #ifndef __GST_TYPEFINDHELPER_H__
 #define __GST_TYPEFINDHELPER_H__
 
 #include <gst/gst.h>
+#include <gst/base/base-prelude.h>
 
 G_BEGIN_DECLS
 
+GST_BASE_API
 GstCaps * gst_type_find_helper (GstPad *src, guint64 size);
 
+GST_BASE_API
 GstCaps * gst_type_find_helper_for_data   (GstObject              *obj,
                                            const guint8           *data,
                                            gsize                   size,
                                            GstTypeFindProbability *prob);
+
+GST_BASE_API
+GstCaps * gst_type_find_helper_for_data_with_extension (GstObject              *obj,
+                                                        const guint8           *data,
+                                                        gsize                   size,
+                                                        const gchar            *extension,
+                                                        GstTypeFindProbability *prob);
+
+GST_BASE_API
 GstCaps * gst_type_find_helper_for_buffer (GstObject              *obj,
                                            GstBuffer              *buf,
                                            GstTypeFindProbability *prob);
 
+GST_BASE_API
+GstCaps * gst_type_find_helper_for_buffer_with_extension (GstObject              *obj,
+                                                          GstBuffer              *buf,
+                                                          const gchar            *extension,
+                                                          GstTypeFindProbability *prob);
+
+GST_BASE_API
 GstCaps * gst_type_find_helper_for_extension (GstObject * obj,
                                               const gchar * extension);
 
 /**
  * GstTypeFindHelperGetRangeFunction:
  * @obj: a #GstObject that will handle the getrange request
+ * @parent: (allow-none): the parent of @obj or %NULL
  * @offset: the offset of the range
  * @length: the length of the range
- * @buffer: a memory location to hold the result buffer
+ * @buffer: (out): a memory location to hold the result buffer
  *
  * This function will be called by gst_type_find_helper_get_range() when
  * typefinding functions request to peek at the data of a stream at certain
@@ -59,20 +79,26 @@ GstCaps * gst_type_find_helper_for_extension (GstObject * obj,
  * Returns: GST_FLOW_OK for success
  */
 typedef GstFlowReturn (*GstTypeFindHelperGetRangeFunction) (GstObject  *obj,
+                                                            GstObject  *parent,
                                                             guint64     offset,
                                                             guint       length,
                                                             GstBuffer **buffer);
-
-GstCaps * gst_type_find_helper_get_range (GstObject                        * obj,
+GST_BASE_API
+GstCaps * gst_type_find_helper_get_range (GstObject                         *obj,
+                                          GstObject                         *parent,
                                           GstTypeFindHelperGetRangeFunction  func,
                                           guint64                            size,
+                                          const gchar                       *extension,
                                           GstTypeFindProbability            *prob);
 
-GstCaps * gst_type_find_helper_get_range_ext (GstObject                        * obj,
-                                              GstTypeFindHelperGetRangeFunction  func,
-                                              guint64                            size,
-                                              const gchar                       *extension,
-                                              GstTypeFindProbability            *prob);
+GST_BASE_API
+GstFlowReturn gst_type_find_helper_get_range_full (GstObject                         *obj,
+                                                   GstObject                         *parent,
+                                                   GstTypeFindHelperGetRangeFunction  func,
+                                                   guint64                            size,
+                                                   const gchar                       *extension,
+                                                   GstCaps                          **caps,
+                                                   GstTypeFindProbability            *prob);
 
 G_END_DECLS