Move some code from wavparse
authorDavid Schleef <ds@schleef.org>
Wed, 13 Aug 2003 04:47:30 +0000 (04:47 +0000)
committerDavid Schleef <ds@schleef.org>
Wed, 13 Aug 2003 04:47:30 +0000 (04:47 +0000)
Original commit message from CVS:
Move some code from wavparse

gst-libs/gst/riff/riff.h
gst-libs/gst/riff/riffparse.c

index 4792c5e..95af750 100644 (file)
@@ -426,6 +426,8 @@ struct _GstRiffChunk {
 GstRiff*               gst_riff_parser_new                     (GstRiffCallback function, gpointer data);
 GstRiffReturn          gst_riff_parser_next_buffer             (GstRiff *riff, GstBuffer *buf, gulong off);
 void                   gst_riff_parser_resync                  (GstRiff *riff, gulong offset);  
+GstRiffChunk*          gst_riff_parser_get_chunk               (GstRiff *riff, guint32 fourcc);
+guint32                        gst_riff_parser_get_nextlikely          (GstRiff *riff);
 
 /* from gstriffencode.c */
 GstRiff*               gst_riff_encoder_new                    (guint32 type);
index 8a993a6..3b66db8 100644 (file)
@@ -219,3 +219,29 @@ gst_riff_parser_resync (GstRiff *riff, gulong offset)
   riff->dataleft = NULL;
   riff->nextlikely = offset;
 }
+
+
+GstRiffChunk *gst_riff_get_chunk(GstRiff *riff,gchar *fourcc)
+{
+  GList *chunk;
+  
+  g_return_val_if_fail(riff != NULL, NULL);
+  g_return_val_if_fail(fourcc != NULL, NULL);
+
+  chunk = riff->chunks;
+  while (chunk) {
+    if (((GstRiffChunk *)(chunk->data))->id == gst_riff_fourcc_to_id(fourcc))
+      return (GstRiffChunk *)(chunk->data);
+    chunk = g_list_next(chunk);
+  }
+
+  return NULL;
+}   
+  
+guint32 gst_riff_get_nextlikely(GstRiff *riff)
+{
+  g_return_val_if_fail(riff != NULL, 0);
+
+  return riff->nextlikely;
+}
+