#include #include #include "bcmplayer.h" int main(int argc, char **argv) { if (argc < 3) { printf("Usage: ./indexfromoffset_test INDEXFILE HEXOFFSET\n"); exit(1); } const char *indexfile = argv[1]; unsigned long offsetlo; offsetlo = strtoul(argv[2], NULL, 16); printf("Params:\n"); printf(" bcmindex file: %s\n", indexfile); printf(" offset: %#x\n", offsetlo); FILE *f = fopen(argv[1], "rw"); BNAV_Player_Handle bcmp; BNAV_Player_Settings settings; BNAV_Player_GetDefaultSettings(&settings); settings.readCb = (BP_READ_CB)fread; settings.seekCb = (BP_SEEK_CB)fseek; settings.tellCb = (BP_TELL_CB)ftell; settings.filePointer = f; settings.videoPid = 1; // doesn't matter if (BNAV_Player_Open(&bcmp, &settings)) exit(1); long index = BNAV_Player_FindIndexFromOffset(bcmp, 0, offsetlo); printf("\nFound: %d\n", index); BNAV_Player_Close(bcmp); return 0; }