summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/riff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2003-08-13 04:47:30 +0000
committerDavid Schleef <ds@schleef.org>2003-08-13 04:47:30 +0000
commitba4eba53fe211296ed2a333cd2e896c322c21bbb (patch)
tree801a7cf087e641935797845c366ffecc60c305b7 /gst-libs/gst/riff
parentdc4d0baf7d14c83756e04e7fb6d9e3e994639bb1 (diff)
downloadgst-plugins-bad-ba4eba53fe211296ed2a333cd2e896c322c21bbb.tar.gz
gst-plugins-bad-ba4eba53fe211296ed2a333cd2e896c322c21bbb.tar.bz2
gst-plugins-bad-ba4eba53fe211296ed2a333cd2e896c322c21bbb.zip
Move some code from wavparse
Original commit message from CVS: Move some code from wavparse
Diffstat (limited to 'gst-libs/gst/riff')
-rw-r--r--gst-libs/gst/riff/riff.h2
-rw-r--r--gst-libs/gst/riff/riffparse.c26
2 files changed, 28 insertions, 0 deletions
diff --git a/gst-libs/gst/riff/riff.h b/gst-libs/gst/riff/riff.h
index 4792c5ed..95af7508 100644
--- a/gst-libs/gst/riff/riff.h
+++ b/gst-libs/gst/riff/riff.h
@@ -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);
diff --git a/gst-libs/gst/riff/riffparse.c b/gst-libs/gst/riff/riffparse.c
index 8a993a6b..3b66db87 100644
--- a/gst-libs/gst/riff/riffparse.c
+++ b/gst-libs/gst/riff/riffparse.c
@@ -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;
+}
+