Blame ports/MSVC++/examples/scan.c

Packit c32a2d
/*
Packit c32a2d
	scan: Estimate length (sample count) of a mpeg file and compare to length from exact scan.
Packit c32a2d
Packit c32a2d
	copyright 2007 by the mpg123 project - free software under the terms of the LGPL 2.1
Packit c32a2d
	see COPYING and AUTHORS files in distribution or http://mpg123.org
Packit c32a2d
	initially written by Thomas Orgis
Packit c32a2d
*/
Packit c32a2d
Packit c32a2d
/* Note the lack of error checking here.
Packit c32a2d
   While it would be nicer to inform the user about troubles, libmpg123 is designed _not_ to bite you on operations with invalid handles , etc.
Packit c32a2d
  You just jet invalid results on invalid operations... */
Packit c32a2d
Packit c32a2d
#include <mpg123.h>
Packit c32a2d
#include <stdio.h>
Packit c32a2d
Packit c32a2d
int _tmain(int argc, _TCHAR* argv[])
Packit c32a2d
{
Packit c32a2d
	mpg123_handle *m;
Packit c32a2d
	int i;
Packit c32a2d
	if(argc < 2)
Packit c32a2d
	{
Packit c32a2d
		fprintf(stderr, "\nI will give you the estimated and exact sample lengths of MPEG audio files.\n");
Packit c32a2d
		fprintf(stderr, "\nUsage: %ls <mpeg audio file list>\n\n", argv[0]);
Packit c32a2d
		return -1;
Packit c32a2d
	}
Packit c32a2d
	mpg123_init();
Packit c32a2d
	m = mpg123_new(NULL, NULL);
Packit c32a2d
	mpg123_param(m, MPG123_RESYNC_LIMIT, -1, 0); /* New in library version 0.0.1 . */
Packit c32a2d
	for(i = 1; i < argc; ++i)
Packit c32a2d
	{
Packit c32a2d
		off_t a, b;
Packit c32a2d
		
Packit c32a2d
		mpg123_topen(m, argv[i]);
Packit c32a2d
Packit c32a2d
		a = mpg123_length(m);		
Packit c32a2d
		mpg123_scan(m);
Packit c32a2d
		b = mpg123_length(m);
Packit c32a2d
Packit c32a2d
		mpg123_tclose(m);
Packit c32a2d
Packit c32a2d
		printf("File %i: estimated %li vs. scanned %li\n", i, (long)a, (long)b);
Packit c32a2d
	}
Packit c32a2d
Packit c32a2d
	mpg123_delete(m);
Packit c32a2d
	mpg123_exit();
Packit c32a2d
	return 0;
Packit c32a2d
}