Ten kód je úplnej hnus. Třeba se zpracovávají data ze streamu,
k pointeru se přičte délka packetu a je tam kód
if (pointer >= konec_pole) printf("expect segfault.");
pak to samozřejmě spadne, když to načte špatná data.
Ale padá i na správných datech, na několika místech čte za
koncem paměti alokované pomocí malloc (na alokátoru z glibc
to asi nepadá, ale na jiných alokátorech, které za koncem
bloku mohou mít nenamapovanou stránku to spadne).
Pokud se přehrává audio (wav, mp3), tak to nepřehraje
posledních pár sekund souboru odpovídající velikosti bufferu
zvukové karty.
Na mpeg streamech někdy seekuje dopředu místo dozadu.
Padá na spoustě souborů (nevím, zda správných nebo
nesprávných), mám jich tu celou sbírku. Dokonce i dekodér
mpeg padá.
Kdyby existoval přehrávač videa, který je napsán pořádně, rád
bych na něj přešel. Neví někdo o nějakém jiném?