Blame doc/examples/dump_seekindex.c
|
Packit |
c32a2d |
/*
|
|
Packit |
c32a2d |
dump_seekindex: Scan a mpeg file and dump its seek index.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
copyright 2010 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 Patrick Dehne
|
|
Packit |
c32a2d |
*/
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
#include <mpg123.h>
|
|
Packit |
c32a2d |
#include <stdio.h>
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
int main(int argc, char **argv)
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
mpg123_handle *m;
|
|
Packit |
c32a2d |
off_t* offsets;
|
|
Packit |
c32a2d |
off_t step;
|
|
Packit |
c32a2d |
size_t fill, i;
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
if(argc != 2)
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
fprintf(stderr, "\nI will dump the frame index of an MPEG audio file.\n");
|
|
Packit |
c32a2d |
fprintf(stderr, "\nUsage: %s <mpeg audio file>\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);
|
|
Packit |
c32a2d |
mpg123_param(m, MPG123_INDEX_SIZE, -1, 0);
|
|
Packit |
c32a2d |
mpg123_open(m, argv[1]);
|
|
Packit |
c32a2d |
mpg123_scan(m);
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
mpg123_index(m, &offsets, &step, &fill;;
|
|
Packit |
c32a2d |
for(i=0; i
|
|
Packit |
c32a2d |
printf("Frame number %d: file offset %d\n", i * step, offsets[i]);
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
mpg123_close(m);
|
|
Packit |
c32a2d |
mpg123_delete(m);
|
|
Packit |
c32a2d |
mpg123_exit();
|
|
Packit |
c32a2d |
return 0;
|
|
Packit |
c32a2d |
}
|