[Windows] Videos not playing correctly

Bug #685103 reported by Alexander on 2010-12-04
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

On the splash screen and between the missions instead of as a thin line, the sound is present

Revision history for this message
Pali (pali) wrote :

Can you specify version of Stratagus and Wargus and system which you are using? And will be good if you attach screenshot of your problem.

Revision history for this message
Alexander (zdmaster) wrote :

Wargus & Stratagus, OS Windows 7, netbook acer aspire one D250 (Atom N270 1.6 ГГц; chipset intel 945GSE) Screenshot in attach

Revision history for this message
Alexander (zdmaster) wrote :

Check on my PC with windows7, the same problem.
Checked on another PC with windows XP SP3, the same problem.

Revision history for this message
Pali (pali) wrote :

When I changed video resolution to 800x600 on Windows XP videos are played correctly.

I try find problem in stratagus, but everything seens be OK. I recompile Stratagus for Windows using old i586-mingw32-msvc cross compiler (with all depends libs) and all videos in all video mode are now played correctly.

So this is not problem in Stratagus, but in some win32 libs/compiler. So closing bug as invalid. As temporary solution I reupload Stratagus builds for Windows in some days... Next I try find which windows library (or compiler) do this _bad_ bug. Maybe it will be SDL or vorbis or ogg...

Changed in wargus:
status: New → Invalid
Revision history for this message
Pali (pali) wrote :

Problem is in SDL library. When I builded this library (version 1.2.14) with cross compiler i586-mingw32msvc-gcc (from ubuntu package mingw32) Stratagus video worked fine without problem. When I builded same version of SDL but with cross compiler i686-w64-mingw32-gcc (from ubuntu package gcc-mingw-w64) this problem appeared.

SDL library compiled with i586-mingw32msvc-gcc working fine without problems. When I used SDL compiled with i686-w64-mingw32-gcc, videos worked only in screen resolution 640x480. So problem is that SDL damage screen when must scale video.

Compiler i586-mingw32msvc-gcc is using gcc version 4.2.1 and this compiler is only 32bit and now not developed. Compiler i686-w64-mingw32-gcc is using gcc 4.6.1 and is part of project mingw-w64 (support both 32 and 64bit compilers) and replace old mingw32msvc. So using old i586-mingw32msvc-gcc is not good idea in these days (generated code does not have to be compatible with mingw-w64).

I compiled test video overlay programs in SDL packages (with SDL library) and all worked fine (with scaling) in both compilers.

My question is: Why one compiler compile SDL and Stratagus binary with worked video playback and other compiler not? And why both compiler produce working example video programs?

So in Stratagus is may be bug which appears only in new (maybe strict) compilers and only in Windows. Tested on more Linux versions and this bug I was not able to reproduce.

Moving to project Stratagus and reopening this bug because maybe Stratagus has Windows SDL bug and we must decide what to do with SDL and how to compile...

Changed in wargus:
status: Invalid → Confirmed
affects: wargus → stratagus
summary: - Videos does not play correctly
+ [Windows] Videos not playing correctly
Revision history for this message
Pali (pali) wrote :

New release 2.2.6 is linked with SDL compiled by i586-mingw32msvc-gcc and vidoes are working with any resolution. This is really problem with gcc compiler or SDL library itself. Now solution with using SDL compiled with old compiler working, so closing this bug as invalid in Stratagus.

Changed in stratagus:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers