Commit 796b0fec authored by Christopher N. Hesse's avatar Christopher N. Hesse

videoio: gst: Fix gst assertion on null msg

According to the gstreamer docs [1], the GstMessage pointer returned by
gst_bus_pop() is nullable, meaning NULL is a valid return value.

Previously, gst_is_missing_plugin_message would throw an assert when its
message object parameter would fail the GST_IS_MESSAGE macro check,
crashing the entire process (unless running in a try-catch block of course).

Instead of relying on valid messages, check if the message object itself is
valid before passing it to other gstreamer functions.

[1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-popSigned-off-by: 's avatarChristopher N. Hesse <raymanfx@gmail.com>
parent d2f70f61
......@@ -1811,6 +1811,10 @@ void handleMessage(GstElement * pipeline)
while(gst_bus_have_pending(bus)) {
msg = gst_bus_pop(bus);
if (!msg || !GST_IS_MESSAGE(msg))
{
continue;
}
//printf("\t\tGot %s message\n", GST_MESSAGE_TYPE_NAME(msg));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment