Move some code from wavparse

Original commit message from CVS:
Move some code from wavparse
This commit is contained in:
David Schleef 2003-08-13 04:47:30 +00:00
parent 141645bc32
commit 65143e581d
2 changed files with 28 additions and 0 deletions

View 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);

View 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;
}