Souhlas, taky jsem ho nesnášel :) Budete mi prostě muset věřit že na Macu je to něco úplně jiného :) Navíc s verzí systému 10.4 došlo k dost rozsáhlé revizi QuickTime API, které se windows verze dočká bůhví kdy... :)
quicktime je asi to nejlepsi co lze pouzit pro "video na internetu" ...
kazdopadne s prichodem qt7 to muze platit uz i offline, jen nevim jak to dopadne
s portem pro x86.
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?
No já nevím, zdrojový kód jsem sice nepročítal, ale mplayer přehraje spolehlivě věci, s nimiž si ostatní playery ani neškrtnou. A to i ve windows. Například když začnu stahovat video soubor, stačí pár prvních kilo, spustim mplayer (byť má soubor jakýkoli název, je s příponu nebo bez ní) a vím, jestli to má cenu stahovat dál, nebo to rovnou stopnout. V životě mi zatím nespadl ani si nepamatuji, že by někdy nejel. Mizerné byly pouze titulky při přehrávání dvd.
Mne se ty bugy vyskytly i v mpeg codecu, v asf demuxeru
(nahodne pada pri divx-v-asf), dokonce mam i mp3 soubor, na
kterem to spadne (na zacatku jsou dlouho ne-mp3 data,
mplayer si zacne myslet, ze to neni mp3, ale wav, zkusi to
dekodovat jako wav, ale struktura popisujici wav soubor mu
chybi, tak to spadne na dereferenci NULL pointeru).
to mam iba ja dojem , ze tento pan vyrastal na windows, a o slove update pocul prvy krat ked prisiel SP2? :D
ale nie, nic osobne proti, ale ako kolega pise, nato je bugzilla, a mne osobne spadol mplayer kopu krat, ale vzdy len s obalom, v ktorom, je DVD zo zalohou systemu :)
Do bugzilly jsem napsal, dokonce poslal patch, přišla odpověď
"patch nejde aplikovat na CVS verzi, nevezmeme". Napsal jsem
jim, aby si správné doplnění alokovaných bytů sami
zkontrolovali, že stejně není jistota, že v tom patchi jsem
našel všecko --- a žádná odpověď a v 1.0pre7 je ta buga zas.
Třeba vývojáři Linuxu berou jakýkoli bugreport (i o jen
teoretické) možnosti pádu celkem vážně a patch aplikují,
vývojářům mplayeru je to jedno --- je to děláno pro "běžné"
uživatele a pokud má někdo systém, kde za alokovaným blokem
není dost místa pro čtení, tak mu to padá, a protože je
ani ne v 1% uživatelů, tak to nikoho nezajímá.
Kod mplayeru jsem neprochazel, takze nevim, jak je napsany a vicemene ti verim, ze spatne, ale faktem je, ze mne pada jenom vyjimecne a to pouze kdyz pouziva dekodery ktere oznacuje za nestabilni... co to mas za verzi? Nepouzivas CVS verzi nebo nejakou hrozne starou ci nestabilni?
Jediny staly problem s mplayerem mam je, ze kdyz pouzivam xv overlay(vzdy) a dam suspend to disk, pak to z toho obnovim, tak overlay az do restartovani Xek nejede. Toto ale na 99% neni problem mplayeru, ale ovladace grafarny (experimentalni savage driver).
(doposud jsem znal jen jakarta.apache.org/velocity, která se v soutěži o nejvyšší PageRank umístila jako druhá; pro úplnost, třetí místo obsadila jakási punková kapela z Massachusetts)