# 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 $
###############################################################################
# #
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)"
../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:
--- /dev/null
+/********************************************************************
+ * *
+ * 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;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+