@leledumbo
@Laksen
Finally I found the Error (had nothing to do with Lazarus):
First here the Error a little more detailed:
Error-Message:
Project FFPlay4Laz raised exception class 'External SIGSEGV'
At address 6D7C785E
Call Stack-Window:
Source : 6D7C785E
Function: swscale-0!sws_getCoefficients at :0
Assembler-Window:
6D7C785E 8818 mov %bl,(%eax)
The reason for this Error is far before, when setting up the OpenGL-VideoTexture with
'glTexImage2D()':
Elder GraphicCards only support TextureWidths/-Heights, that are PowerOfTwo.
I can reproduce the Error on my PC, because I'm working with 2 Screens, where:
Screen #1 is connected to the OnBoard-GraphicCard -> The App works.
Screen #2 is connected via an external USB-GraphicCard -> The App fails with the mentioned Error.
ergo:This Error has nothing to do with the fact, that Lazarus is installed or not (sorry
), but
at least it has something to do with OpenGL.
And now something strange:
When I initialize the Player (and OpenGL) (= [Open]) on Screen #1, then move the App to Screen #2,
and then start the Video (= [Load]), it works.
This even works when only a tiny Part of the App-Window was left on Screen #1, before moving
the App to Screen #2 and starting the Video there.
=> Questions:
- How is this possible ?
- Is there only some Info missing for OpenGL, when it's initialized on an old/weak GraphiCard ?
If in case, which Info has to be added by Code, when OpenGL starts ?
- How to rescale a Texture with OpenGL ?
(Rescaling each VideoFrame with FFmpeg's 'sws_scale()' works, but is too slow.)