[FFmpeg-devel] [PATCH] Add extra const to FF_PFNGLSHADERSOURCEPROC.

Billy O'Neal (VC AIR) bion at microsoft.com
Wed Jun 5 06:39:06 EEST 2024


Resolves the following compiler error on macOS 14.5:

```console
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl3.h:1891:21: note: 'glShaderSource' has been explicitly marked deprecated here
GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) OPENGL_DEPRECATED(10.5, 10.14);
                    ^
src/libavdevice/opengl_enc.c:482:27: error: incompatible function pointer types assigning to 'FF_PFNGLSHADERSOURCEPROC' (aka 'void (*)(unsigned int, int, const char **, const int *)') from 'void (GLuint, GLsizei, const GLchar *const *, const GLint *)' (aka 'void (unsigned int, int, const char *const *, const int *)') [-Wincompatible-function-pointer-types]
    procs->glShaderSource = glShaderSource;
                          ^ ~~~~~~~~~~~~~~
```

Signed-off-by: Billy Robert O'Neal III <bion at microsoft.com>
---
 libavdevice/opengl_enc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c
index 6f7a30ff9e..7805b641d1 100644
--- a/libavdevice/opengl_enc.c
+++ b/libavdevice/opengl_enc.c
@@ -117,7 +117,11 @@ typedef void   (APIENTRY *FF_PFNGLATTACHSHADERPROC) (GLuint program, GLuint shad
 typedef GLuint (APIENTRY *FF_PFNGLCREATESHADERPROC) (GLenum type);
 typedef void   (APIENTRY *FF_PFNGLDELETESHADERPROC) (GLuint shader);
 typedef void   (APIENTRY *FF_PFNGLCOMPILESHADERPROC) (GLuint shader);
+#if defined(__APPLE__)
+typedef void   (APIENTRY *FF_PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const char* const *string, const GLint *length);
+#else
 typedef void   (APIENTRY *FF_PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const char* *string, const GLint *length);
+#endif
 typedef void   (APIENTRY *FF_PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
 typedef void   (APIENTRY *FF_PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, char *infoLog);
 
-- 
2.45.2.windows.1



More information about the ffmpeg-devel mailing list