e9a09f6670
* Removed the mp3_reader and mp3_decoder from the image and from the source tree even. The mpeg123lib based decoder was crashy, since the lib didn't cope with bad input data too well, whatever the reason, but bad input can also be a specially crafted file. I didn't see the value in keeping two decoders around that use a third party library as backend. While reading in the mp3_decoder code, I even saw that it used global variables in the mpeg123 lib to figure out framerate and channel count, after decoding a bit of input. Obviously this has concurrency issues. * Removed the mp4_reader from the image. It is native code, and should perhaps be preferred over imported code, but I don't have the resources to look into it, and David doesn't seem to have the time either. There are basically three types of problems with the native mp4 reader: 1) It is way too CPU intensive. I have many HD files that don't play at all, since there is not enough time left for actual decoding. 2) Seeking leaves a lot of visual artifacts (with the very same decoder plug-in), since there seems something wrong either with finding true keyframes, or with flushing buffers correctly. And 3) very often audio stops working at all after seeking. Sometimes a keyframe is returned for audio which is very far away from the wanted frame, which currently triggers bad behavior in the audio producer node in MediaPlayer and can even crash the media_addon_server. With the ffmpeg based mp4 reader, none of these problems exist: Seeking is perfect, no artifacts, CPU load is low enough for pretty much all HD clips I tested with, and audio always works and is always in perfect sync with the video after seeking. If there are regressions after this commit at all (I tested a lot of files), then I anticipate only that the ffmpeg plugin does not advertise support for files it could actually handle (i.e. easily fixable). In those cases hopefully a test stream can be made available. If the native mp4 reader is improved to the point that it works as well as the ffmpeg mp4 demuxer, we can easily switch it back, but for now, users will prefer reliable playback. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38403 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
||
---|---|---|
.. | ||
config_headers | ||
jam | ||
scripts |