From 595f0770d82c7203a6b32f58ae72cbd994c39020 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Wed, 14 May 2014 11:11:01 +0300 Subject: video_out_opengl2: fix argb layer overlay locking --- src/video_out/video_out_opengl2.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/video_out/video_out_opengl2.c b/src/video_out/video_out_opengl2.c index 2b353b746..c27e10c72 100644 --- a/src/video_out/video_out_opengl2.c +++ b/src/video_out/video_out_opengl2.c @@ -561,11 +561,14 @@ static void opengl2_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, if (overlay->argb_layer && overlay->argb_layer->buffer) { pthread_mutex_lock(&overlay->argb_layer->mutex); /* buffer can be changed or freed while unlocked */ - memcpy(ovl->ovl_rgba, overlay->argb_layer->buffer, overlay->width * overlay->height * sizeof(uint32_t)); + + if (overlay->argb_layer->buffer) { + memcpy(ovl->ovl_rgba, overlay->argb_layer->buffer, overlay->width * overlay->height * sizeof(uint32_t)); + ++this->ovl_changed; + } /* TODO: this could be done without this memcpy() ... */ pthread_mutex_unlock(&overlay->argb_layer->mutex); - ++this->ovl_changed; } else if (overlay->rle) { if (!overlay->rgb_clut || !overlay->hili_rgb_clut) { -- cgit v1.2.3