From 02f2e51c2e5f0708bd80faecda7b0e299155a6a0 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Wed, 12 Jul 2023 15:26:25 +0800 Subject: [PATCH] FIX: pass error from gstreamer to wxMediaCtrl Change-Id: If275d0ebeb7089f67ad366811dc48009b86af564 --- src/slic3r/GUI/Printer/gstbambusrc.c | 6 ++++-- src/slic3r/GUI/wxMediaCtrl2.cpp | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Printer/gstbambusrc.c b/src/slic3r/GUI/Printer/gstbambusrc.c index 14f2476f2..316432fd0 100644 --- a/src/slic3r/GUI/Printer/gstbambusrc.c +++ b/src/slic3r/GUI/Printer/gstbambusrc.c @@ -365,14 +365,16 @@ gst_bambusrc_start (GstBaseSrc * bsrc) return FALSE; } + int rv = 0; BAMBULIB(Bambu_SetLogger)(src->tnl, _log, (void *)src); - if (BAMBULIB(Bambu_Open)(src->tnl) != Bambu_success) { + if ((rv = BAMBULIB(Bambu_Open)(src->tnl)) != Bambu_success) { BAMBULIB(Bambu_Destroy)(src->tnl); src->tnl = NULL; + gst_bambu_last_error = rv; return FALSE; } - int rv, n = 0; + int n = 0; while ((rv = BAMBULIB(Bambu_StartStream)(src->tnl, 1 /* video */)) == Bambu_would_block) { usleep(100000); } diff --git a/src/slic3r/GUI/wxMediaCtrl2.cpp b/src/slic3r/GUI/wxMediaCtrl2.cpp index ab0a2f3ac..a4b020460 100644 --- a/src/slic3r/GUI/wxMediaCtrl2.cpp +++ b/src/slic3r/GUI/wxMediaCtrl2.cpp @@ -177,7 +177,7 @@ void wxMediaCtrl2::Stop() } #ifdef __LINUX__ -extern int gst_bambu_last_error; +extern "C" int gst_bambu_last_error; #endif int wxMediaCtrl2::GetLastError() const