#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");
}
/* Next line causes Segmentation fault */
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;
}
/* gdb backtrace
(gdb) start
Temporary breakpoint 1 at 0x804bad0: file extractPaste.c, line 6.
Starting program: /home/milos/Devel/extractaudio/extract
[Thread debugging using libthread_db enabled]
Temporary breakpoint 1, main () at extractPaste.c:6
6 FFMS_Init(0);
(gdb) continue
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x080546d2 in FFLAVFAudio::FFLAVFAudio(char const*, int, FFMS_Index*) ()
(gdb) backtrace full
#0 0x080546d2 in FFLAVFAudio::FFLAVFAudio(char const*, int, FFMS_Index*) ()
No symbol table info available.
#1 0x0804c8dd in FFMS_CreateAudioSource ()
No symbol table info available.
#2 0x0804bc7a in main () at extractPaste.c:37
errmsg = "\000ۓ\034r\347\376\267P\311ն\003\000B\267p\v\377\267\270\243\033\267\314GB\267\304\357\377\267\214\063*\267\b\000\000\000p\362\377\277\066\266\376\267p\v\377\267\270\243\033\267\314GB\267\304\357\377\267\350Z\030\267\b\000\000\000\220\362\377\277\066\266\376\267\240@'\267~\260\376\267\355\243\033\267\355\243\033\267\070\362\377\277\v\000\000\000\320\307ն\002\000*\267\224lض\312?\212\236\\}\030\267\304\357\377\267\340Q\030\267~\260\376\267\355\243\033\267\355\243\033\267\220\002\000\000P\311ն\320\307ն\002\000\033\267\214\336*\267\v\000\000\000\001\000\000\000\304\357\377\267Dl\030\267~\260\376\267\245\067+\267\345\244\033\267\230\362\377\277\f\201\030\267\000\311ն\002\000\030\267p\v\377\267\270\243\033\267\314GB\267\304\357\377\267\314\071*\267~\260\376\267-8+\267)\245\033\267\310\362\377\277\320\307ն\020\311ն\016\000\031\267p\v\377\267\270\243\033\267\314GB\267\304\357\377\267\024:*\267\b\000\000\000`\363\377\277\066\266\376\267\370\362\377\277~\260\376\267\263\244\033\267\263\244\033\267\224lض~\260\376\267\260\310ն\020\000\033\267\254w\030\267~\260\376\267\355\243\033\267\355\243\033\267Ls\030\267\v\000\000\000\320\307ն\002\000\376\267\234t\030\267\v\000\000\000\260\363\377\277\304\357\377\267@T\030\267\v\000\000\000\300\363\377\277\066\266\376\267\062\004\000\000\v\000\000\000\320\307ն\002\000\377\267h\363\377\277\v\000\000\000\022\000\000\000\304\357\377\267lI\030\267\v\000\000\000\\}\030\267\334\302\377\267\210\363\377\277\000\000\000\000\032\000\000\000\274"...
errinfo = {ErrorType = 0, SubType = 0, BufferSize = 1024,
Buffer = 0xbffff1b8 ""}
sourcefile = 0x8074ce8 "trl.ogg"
indexer = 0x8086138
numtracks = 2
index = 0x80961a0
trackno = 1
audiosource = 0xb73e3ff4
*/