mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 05:29:54 +08:00
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-pop Signed-off-by: Christopher N. Hesse <raymanfx@gmail.com>
This commit is contained in:
parent
d2f70f61aa
commit
796b0fec7d
@ -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));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user