[cvs-annodex] commit (/annodex): liboggz/trunk/src/examples/Makefile.am +liboggz/trunk/src/examples/read-pages.c

conrad nobody at lists.annodex.net
Tue Apr 26 12:42:49 EST 2005


Update of /annodex (new revision 1289)

Added files:
   liboggz/trunk/src/examples/read-pages.c

Modified files:
   liboggz/trunk/src/examples/Makefile.am

Log Message:
add read-pages example as a stub to build random tools from


Modified: liboggz/trunk/src/examples/Makefile.am
===================================================================
--- liboggz/trunk/src/examples/Makefile.am	2005-04-26 02:20:00 UTC (rev 1288)
+++ liboggz/trunk/src/examples/Makefile.am	2005-04-26 02:42:47 UTC (rev 1289)
@@ -14,7 +14,7 @@
 endif
 
 if OGGZ_CONFIG_READ
-oggz_read_programs = read-file read-io
+oggz_read_programs = read-file read-pages read-io
 endif
 
 if OGGZ_CONFIG_WRITE
@@ -31,6 +31,9 @@
 read_file_SOURCES = read-file.c
 read_file_LDADD = $(OGGZ_LIBS)
 
+read_pages_SOURCES = read-pages.c
+read_pages_LDADD = $(OGGZ_LIBS)
+
 read_io_SOURCES = read-io.c
 read_io_LDADD = $(OGGZ_LIBS)
 

Added: liboggz/trunk/src/examples/read-pages.c
===================================================================
--- liboggz/trunk/src/examples/read-pages.c	2005-04-26 02:20:00 UTC (rev 1288)
+++ liboggz/trunk/src/examples/read-pages.c	2005-04-26 02:42:47 UTC (rev 1289)
@@ -0,0 +1,76 @@
+/*
+   Copyright (C) 2003 Commonwealth Scientific and Industrial Research
+   Organisation (CSIRO) Australia
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions
+   are met:
+
+   - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+   - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+   - Neither the name of CSIRO Australia nor the names of its
+   contributors may be used to endorse or promote products derived from
+   this software without specific prior written permission.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <oggz/oggz.h>
+
+static int
+read_page (OGGZ * oggz, const ogg_page * og, long serialno, void * user_data)
+{
+  OggzTable * tracks = (OggzTable *)user_data;
+
+  if (ogg_page_bos ((ogg_page *)og)) {
+    oggz_table_insert (tracks, serialno, NULL);
+  }
+
+  return 0;
+}
+
+int
+main (int argc, char ** argv)
+{
+  OGGZ * oggz;
+  OggzTable * tracks;
+  long n;
+
+  if (argc < 2) {
+    printf ("usage: %s filename\n", argv[0]);
+  }
+
+  tracks = oggz_table_new ();
+
+  if ((oggz = oggz_open ((char *)argv[1], OGGZ_READ | OGGZ_AUTO)) == NULL) {
+    printf ("unable to open file %s\n", argv[1]);
+    exit (1);
+  }
+
+  oggz_set_read_page (oggz, -1, read_page, tracks);
+
+  while ((n = oggz_read (oggz, 1024)) > 0);
+
+  oggz_close (oggz);
+
+  oggz_table_delete (tracks);
+
+  exit (0);
+}


-- 
conrad



More information about the cvs-annodex mailing list