Add the quick time offset seeking stress test
authorMonty <xiphmont@xiph.org>
Mon, 3 Apr 2000 09:51:07 +0000 (09:51 +0000)
committerMonty <xiphmont@xiph.org>
Mon, 3 Apr 2000 09:51:07 +0000 (09:51 +0000)
Monty

svn path=/trunk/vorbis/; revision=302

examples/Makefile.in
examples/seeking_example.c [new file with mode: 0644]

index 6183a1b..46beac3 100644 (file)
@@ -1,6 +1,6 @@
 # vorbis makefile configured for use with gcc on any platform
 
-# $Id: Makefile.in,v 1.5 2000/02/12 08:33:00 xiphmont Exp $
+# $Id: Makefile.in,v 1.6 2000/04/03 09:51:07 xiphmont Exp $
 
 ###############################################################################
 #                                                                             #
@@ -30,8 +30,10 @@ LIBS=@LIBS@ -lm
 HFILES =       ../include/vorbis/codec.h ../include/vorbis/vorbisfile.h \
                ../include/vorbis/internal.h ../include/vorbis/backends.h \
                ../include/vorbis/codebook.h
-OFILES =       encoder_example.o decoder_example.o chaining_example.o
-BINFILES =      encoder_example decoder_example chaining_example
+OFILES =       encoder_example.o decoder_example.o chaining_example.o \
+               seeking_test.o
+BINFILES =      encoder_example decoder_example chaining_example \
+               seeking_test
 
 all:
        $(MAKE) target CFLAGS="$(OPT)"
@@ -59,6 +61,11 @@ chaining_example:    $(OFILES) ../lib/libvorbis.a ../lib/vorbisfile.a
                        ../lib/vorbisfile.a ../lib/libvorbis.a \
                        -o chaining_example -lm
 
+seeking_test:  $(OFILES) ../lib/libvorbis.a ../lib/vorbisfile.a
+       $(CC) $(CFLAGS) $(LDFLAGS) seeking_test.o \
+                       ../lib/vorbisfile.a ../lib/libvorbis.a \
+                       -o seeking_test -lm
+
 $(OFILES):     $(HFILES)
 
 .c.o:
diff --git a/examples/seeking_example.c b/examples/seeking_example.c
new file mode 100644 (file)
index 0000000..b9a2264
--- /dev/null
@@ -0,0 +1,65 @@
+/********************************************************************
+ *                                                                  *
+ * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE.  *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
+ * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE.    *
+ * PLEASE READ THESE TERMS DISTRIBUTING.                            *
+ *                                                                  *
+ * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-2000             *
+ * by Monty <monty@xiph.org> and The XIPHOPHORUS Company            *
+ * http://www.xiph.org/                                             *
+ *                                                                  *
+ ********************************************************************
+
+ function: illustrate seeking, and test it too
+ last mod: $Id: seeking_example.c,v 1.1 2000/04/03 09:51:07 xiphmont Exp $
+
+ ********************************************************************/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "vorbis/codec.h"
+#include "vorbis/vorbisfile.h"
+#include "../lib/misc.h"
+
+int main(){
+  OggVorbis_File ov;
+  int i;
+
+  /* open the file/pipe on stdin */
+  if(ov_open(stdin,&ov,NULL,-1)==-1){
+    printf("Could not open input as an OggVorbis file.\n\n");
+    exit(1);
+  }
+  
+  /* print details about each logical bitstream in the input */
+  if(ov_seekable(&ov)){
+    double length=ov_time_total(&ov,-1);
+    printf("testing seeking to random places in %g seconds....\n",length);
+    for(i=0;i<100;i++){
+      ov_time_seek(&ov,drand48()*length);
+      printf("\r\t%d...     ",i);
+      fflush(stdout);
+    }
+    
+    printf("\r                                   \nOK.\n\n");
+  }else{
+    printf("Standard input was not seekable.\n");
+  }
+
+  ov_clear(&ov);
+  return 0;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+