--- video/out/opengl/video.c.orig +++ video/out/opengl/video.c @@ -968,7 +968,7 @@ static void uninit_video(struct gl_video gl->DeleteTextures(1, &plane->gl_texture); gl_pbo_upload_uninit(&plane->pbo); } - *vimg = (struct video_image){0}; + *vimg = (struct video_image){{0}}; // Invalidate image_params to ensure that gl_video_config() will call // init_video() on uninitialized gl_video. @@ -1073,7 +1073,7 @@ static void pass_prepare_src_tex(struct static void render_pass_quad(struct gl_video *p, int vp_w, int vp_h, const struct mp_rect *dst) { - struct vertex va[4] = {0}; + struct vertex va[4] = {{{0}}}; struct gl_transform t; gl_transform_ortho(&t, 0, vp_w, 0, vp_h); @@ -3000,7 +3000,7 @@ void gl_video_perfdata(struct gl_video * // This assumes nv12, with textures set to GL_NEAREST filtering. static void reinterleave_vdpau(struct gl_video *p, struct gl_hwdec_frame *frame) { - struct gl_hwdec_frame res = {0}; + struct gl_hwdec_frame res = {{{0}}}; for (int n = 0; n < 2; n++) { struct fbotex *fbo = &p->vdpau_deinterleave_fbo[n]; // This is an array of the 2 to-merge planes. @@ -3063,7 +3063,7 @@ static bool pass_upload_image(struct gl_ if (p->hwdec_active) { // Hardware decoding - struct gl_hwdec_frame gl_frame = {0}; + struct gl_hwdec_frame gl_frame = {{{0}}}; pass_describe(p, "map frame (hwdec)"); gl_timer_start(p->upload_timer);