#9301: Corum III don't work in Haiku.
-----------------------------+----------------------------
Reporter: Premislaus | Owner: nobody
Type: bug | Status: assigned
Priority: normal | Milestone: R1
Component: Kits/Media Kit | Version: R1/Development
Resolution: | Keywords: Corum III
Blocked By: | Blocking:
Platform: x86 |
-----------------------------+----------------------------
Comment (by pulkomandy):
I confirm that the crash with the video is still here.
I investigated the first one (with the videos) a bit. There are two
threads crashing at the same time, actually ("game" and "artist"). I
looked at the "game" thread, which, at this stage, is decoding the videos.
The first video is the NGE logo and is in 320x240 resolution. The second
video should be the Hicom logo and this one is a 640x480 one. We are
decoding it to RGBA32, meaning the result should be of size 1228800
(640x480x4) per frame. But, the allocated buffer is smaller than that. I
would guess 640x480x1 = 307200 bytes (the crash happens after copying
355688 bytes, at a page boundary close to that). Probably the overwriting
of stuff in the page after the buffer makes other things crash.
However, I tried tracing this inside BMediaTrack, and as far as I can see,
BMediaTrack::DecodedFormat is never called. Which means the codec is free
to pick whichever format it is happy with. It just seems the Indeo codec
in BeOS did not default to the same thing as our ffmpeg codec, and the
game does not take that into account and hardcodes the size of the buffer?
I tried removing the "movies" directory from the data (you can also do
this by using the "minimal install" in the installer or using the "no
movies" pkg to save on download size :) ). In that case I get image logos
instead of the videos, and then I get a frozen black window.
--
Ticket URL: <https://dev.haiku-os.org/ticket/9301#comment:6>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.