diff --git a/ext/gl/gstglmosaic.c b/ext/gl/gstglmosaic.c index 8405c7ca49..857c179931 100644 --- a/ext/gl/gstglmosaic.c +++ b/ext/gl/gstglmosaic.c @@ -288,11 +288,16 @@ gst_gl_mosaic_callback (gpointer stuff) guint width, height; frame = g_ptr_array_index (mosaic->input_frames, count); + if (!frame) { + GST_DEBUG ("skipping texture, null frame"); + count++; + continue; + } in_tex = frame->texture; width = GST_VIDEO_INFO_WIDTH (&frame->pad->in_info); height = GST_VIDEO_INFO_HEIGHT (&frame->pad->in_info); - if (!frame || !in_tex || width <= 0 || height <= 0) { + if (!in_tex || width <= 0 || height <= 0) { GST_DEBUG ("skipping texture:%u frame:%p width:%u height %u", in_tex, frame, width, height); count++; diff --git a/ext/gl/gstglvideomixer.c b/ext/gl/gstglvideomixer.c index 118d767a4d..b2aaeb9936 100644 --- a/ext/gl/gstglvideomixer.c +++ b/ext/gl/gstglvideomixer.c @@ -235,10 +235,15 @@ gst_gl_video_mixer_callback (gpointer stuff) gfloat w, h; frame = g_ptr_array_index (video_mixer->input_frames, count); + if (!frame) { + GST_DEBUG ("skipping texture, null frame"); + count++; + continue; + } in_width = GST_VIDEO_INFO_WIDTH (&frame->pad->in_info); in_height = GST_VIDEO_INFO_HEIGHT (&frame->pad->in_info); - if (!frame || !frame->texture || in_width <= 0 || in_height <= 0) { + if (!frame->texture || in_width <= 0 || in_height <= 0) { GST_DEBUG ("skipping texture:%u frame:%p width:%u height %u", frame->texture, frame, in_width, in_height); count++;