glvideomixer: Fixing error with mouse navigation events when no pixel-aspect-ratio
authorRuben Gonzalez <rgonzalez@fluendo.com>
Sat, 21 Jan 2023 23:52:56 +0000 (00:52 +0100)
committerRuben Gonzalez <rgonzalez@fluendo.com>
Sat, 21 Jan 2023 23:52:56 +0000 (00:52 +0100)
Handling mouse navigation events in glvideomixer element, if no
pixel-aspect-ratio info in the caps, an assertion error is produced
inside gst_util_fraction_multiply because default denominator is zero.

Error fixed:
```
(gst-launch-1.0:102654): GStreamer-CRITICAL **: 00:47:51.598: gst_util_fraction_multiply: assertion 'b_d != 0' failed
```

Simple pipeline to reproduce the issue:
```
gst-launch-1.0 -v glvideomixer name=mix ! glimagesinkelement  gltestsrc  ! mix.sink_0
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3766>

subprojects/gst-plugins-base/ext/gl/gstglvideomixer.c

index 3926c9b..c08e7a0 100644 (file)
@@ -1393,7 +1393,7 @@ src_pad_mouse_event (GstElement * element, GstPad * pad, gpointer user_data)
   GstGLVideoMixerPad *mix_pad = GST_GL_VIDEO_MIXER_PAD (pad);
   GstCaps *caps = gst_pad_get_current_caps (pad);
   GstStructure *event_st, *caps_st;
-  gint par_n, par_d;
+  gint par_n = 1, par_d = 1;
   gdouble event_x, event_y;
   GstVideoRectangle rect;