#6561: [MediaPlayer] crashes on playing wmv file ---------------------------------------+------------------------------------ Reporter: diver | Owner: stippi Type: bug | Status: new Priority: normal | Milestone: R1 Component: Applications/MediaPlayer | Version: R1/Development Resolution: | Keywords: Blocked By: | Has a Patch: 0 Platform: All | Blocking: ---------------------------------------+------------------------------------ Comment (by stippi): Well, what can I say... even the old VLC on Haiku plays some files much better than MediaPlayer. Integrating FFmpeg into a media player directly is very different from writing a Haiku Media Kit plugin which has to fullfill many more requirements: libavcodec needs to be separate in order to support other decoder/encoder plugins together with FFmpeg demuxers/muxers or the libavcodec codecs together with other Haiku readers/writers, each media stream needs it's own AVFormatContext, since FFmpeg as-is does not support seeking each stream individually, but that's required by our API. Also our MediaKit API shall support decoding audio/video in different threads, but FFmpeg can only demux in one thread. If I seek in ffplay, the code for that is very simple, because basically ffplay does not care where you seeked, as long as it is close enough to where you wanted. In the MediaKit, applications may require to seek to the keyframe before the requested frame, or to the one behind it, each stream independently. If I ignore that in the plug-in these applications don't work correctly. In FFmpeg each demuxer has a different quality. Yesterday I found out that even when you request from the FFmpeg API to seek to the keyframe before the requested position, some demuxers may seek to a later point in the file regardless. It's hard to get things right under these conditions. Something works well with one stream type and as soon as you try the next, the problems start all over again. All in all, I am well aware that the FFmpeg plugin does not work perfectly for all types of files, but it *is* a little more complicated to get this right than what mplayer is doing. It also wouldn't help to design MediaPlayer around the defficiencies in FFmpeg, that doesn't help more demanding applications like Clockwerk. -- Ticket URL: <http://dev.haiku-os.org/ticket/6561#comment:10> Haiku <http://dev.haiku-os.org> Haiku - the operating system.