Laex / Delphi-FFMPEG

FFmpeg Delphi Headers
MIT License
56 stars 25 forks source link

Error when compile #1

Closed kevinsui581 closed 4 years ago

kevinsui581 commented 5 years ago

when compile example, it must link sdl.pas, i add sdl path in search path, but error happen, still can't compile success!!!

[dcc32 Error] sdl.pas(358): E2029 Identifier expected but 'CONST' found [dcc32 Error] sdl.pas(391): E2029 Declaration expected but identifier 'SDL_MAJOR_VERSION' found [dcc32 Error] sdl.pas(1441): E2003 Undeclared identifier: 'ERR_MAX_STRLEN' [dcc32 Error] sdl.pas(1441): E2026 Constant expression expected [dcc32 Error] sdl.pas(1453): E2026 Constant expression expected [dcc32 Error] sdl.pas(1457): E2003 Undeclared identifier: 'ERR_MAX_ARGS' [dcc32 Error] sdl.pas(1457): E2026 Constant expression expected [dcc32 Error] sdl.pas(1631): E2003 Undeclared identifier: 'SDL_MAX_TRACKS' [dcc32 Error] sdl.pas(1930): E2003 Undeclared identifier: 'SDL_NOEVENT' [dcc32 Error] sdl.pas(1931): E2003 Undeclared identifier: 'SDL_ACTIVEEVENT' [dcc32 Error] sdl.pas(1931): E2027 Duplicate tag value [dcc32 Error] sdl.pas(1932): E2003 Undeclared identifier: 'SDL_KEYDOWN' [dcc32 Error] sdl.pas(1932): E2027 Duplicate tag value

Laex commented 5 years ago

What version of Delphi?

HuguesDug commented 4 years ago

Hello,

I confirm a lot of problems with the headers.

1 - The SLD compilator directives (IFDEF) are set to WINDOWS instead of MSWINDOWS. It leads to the messages given by KevinSUI581. 2 - Some types definition problems (UINT8 instead of Byte) 3 - Some missing array declaration in TSDL_Overlay declaration (Pixels and Pitches). 4 - A depreciated function called (linesize) where the type is expected integer instead of word. 5- a missing @ in the use of packet for some functions (like av_free_packet) ....

All these are visible when you compile ffmpeg_sample_player.

Done with Delphi 10.3.2 and the latest download of the "OpenCV" release (that includes FFMPEG)

HuguesDug commented 4 years ago

Hello,

Tested. It works fine. Thanks

Question, why did you not include directly the bindings provided on the SDL website. They exist for Delphi and use SDL2 instead of SDL.

Laex commented 4 years ago

This is just an example for testing FFMPEG.