int main(int argc, char *argv[]) { const char *filename; unsigned count = 0; off_t filesize; static const char * const usage = "usage: test_seeking file.flac [#seeks]\n"; if (argc < 1 || argc > 3) { fprintf(stderr, usage); return 1; } filename = argv[1]; if (argc > 2) count = strtoul(argv[2], 0, 10); if (count < 30) fprintf(stderr, "WARNING: random seeks don't kick in until after 30 preprogrammed ones\n"); #if !defined _MSC_VER && !defined __MINGW32__ { struct timeval tv; if (gettimeofday(&tv, 0) < 0) { fprintf(stderr, "WARNING: couldn't seed RNG with time\n"); tv.tv_usec = 4321; } srandom(tv.tv_usec); } #else srand(time(0)); #endif filesize = get_filesize_(filename); if (filesize < 0) { fprintf(stderr, "ERROR: can't determine filesize for %s\n", filename); return 1; } (void) signal(SIGINT, our_sigint_handler_); { FLAC__bool ok; if (strlen(filename) > 4 && 0 == strcmp(filename+strlen(filename)-4, ".ogg")) { #ifdef FLAC__HAS_OGG ok = seek_barrage_ogg_flac(filename, filesize, count); #else fprintf(stderr, "ERROR: Ogg FLAC not supported\n"); ok = false; #endif } else { ok = seek_barrage_native_flac(filename, filesize, count); } return ok? 0 : 2; } }
int main(int argc, char *argv[]) { const char *filename; unsigned count = 0, read_mode; FLAC__int64 samples = -1; off_t filesize; static const char * const usage = "usage: test_seeking file.flac [#seeks] [#samples-in-file.flac]\n"; if (argc < 2 || argc > 4) { fprintf(stderr, usage); return 1; } filename = argv[1]; if (argc > 2) count = strtoul(argv[2], 0, 10); if (argc > 3) #ifdef _MSC_VER samples = local__strtoull(argv[3]); #else samples = strtoull(argv[3], 0, 10); #endif if (count < 30) fprintf(stderr, "WARNING: random seeks don't kick in until after 30 preprogrammed ones\n"); #if !defined _MSC_VER && !defined __MINGW32__ { struct timeval tv; if (gettimeofday(&tv, 0) < 0) { fprintf(stderr, "WARNING: couldn't seed RNG with time\n"); tv.tv_usec = 4321; } srandom(tv.tv_usec); } #else srand(time(0)); #endif filesize = get_filesize_(filename); if (filesize < 0) { fprintf(stderr, "ERROR: can't determine filesize for %s\n", filename); return 1; } (void) signal(SIGINT, our_sigint_handler_); for (read_mode = 0; read_mode <= 2; read_mode++) { FLAC__bool ok; if (strlen(filename) > 4 && 0 == strcmp(filename+strlen(filename)-4, ".ogg")) { #if FLAC__HAS_OGG ok = seek_barrage(/*is_ogg=*/true, filename, filesize, count, samples, read_mode); #else fprintf(stderr, "ERROR: Ogg FLAC not supported\n"); ok = false; #endif } else { ok = seek_barrage(/*is_ogg=*/false, filename, filesize, count, samples, read_mode); } if (!ok) return 2; } return 0; }