extract.c
By: a guest | Mar 22nd, 2010 | Syntax:
C | Size: 1.42 KB | Hits: 100 | Expires: Never
#include <stdio.h>
#include <ffms.h>
int main () {
FFMS_Init(0);
char errmsg[1024];
FFMS_ErrorInfo errinfo;
errinfo.Buffer = errmsg;
errinfo.BufferSize = sizeof(errmsg);
errinfo.ErrorType = FFMS_ERROR_SUCCESS;
errinfo.SubType = FFMS_ERROR_SUCCESS;
/* some source file */
const char *sourcefile = "trl.ogg";
FFMS_Indexer *indexer = FFMS_CreateIndexer(sourcefile, &errinfo);
if (indexer == NULL) {
fprintf(stderr, "indexer creation failed\n");
}
int numtracks = FFMS_GetNumTracksI(indexer);
FFMS_Index *index = FFMS_DoIndexing(indexer, 0, 0, NULL, NULL, FFMS_IEH_ABORT, NULL, NULL, &errinfo);
if (index == NULL) {
fprintf( stderr, "indexing failed\n" );
}
int trackno = FFMS_GetFirstTrackOfType(index, FFMS_TYPE_AUDIO, &errinfo);
if (trackno <0) {
fprintf(stderr, "getting track number failed\n");
}
FFMS_AudioSource *audiosource = FFMS_CreateAudioSource(sourcefile, trackno, index, &errinfo);
if (audiosource == NULL) {
fprintf(stderr, "audio source creation failed\n");
}
FFMS_DestroyIndex(index);
FFMS_DestroyAudioSource(audiosource);
return 0;
}