<h5 dir="auto">System information</h5>
<ul dir="auto">
<li>OpenCV =&gt; 4.5.5</li>
<li>Operating System / Platform =&gt; Windows 64 Bit lstc</li>
<li>opencv dll Compiler =&gt; MSVC 2017</li>
<li>Devlop IDE Compiler : Qt 6.2.4 MSVC 2019 64Bit</li>
<li>Note: Binary files (dll) obtained using the exe installation package downloaded from the official website</li>
</ul>
<h5 dir="auto">Detailed description</h5>
<p dir="auto">Use the <code class="notranslate">cv::VideoCapture::get()</code> function with a parameter value of <code class="notranslate">cv::CAP_PROP_POS_MSEC</code> to get the time of the current video frame.<br>
The time value obtained on some frames at the end of the video is always 0, and these frames further ahead are normal time values.<br>
I've tried some videos and it's always like this, my local videos are very easy to reproduce this issue.</p>
<ul dir="auto">
<li>OpenCV =&gt; 4.1.1</li>
<li>Operating System / Platform = OpenWrt</li>
<li>Compiler =&gt; GCC9 + uClibc-ng</li>
</ul>
<p dir="auto">uClibc-ng does not export several C++11 functions into the std namespace. As a result, I currently use this patch:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="diff --git a/modules/gapi/include/opencv2/gapi/core.hpp b/modules/gapi/include/opencv2/gapi/core.hpp
index a38d747..f01c0bd 100644
--- a/modules/gapi/include/opencv2/gapi/core.hpp
+++ b/modules/gapi/include/opencv2/gapi/core.hpp
@@ -392,8 +392,8 @@ namespace core {
             {
                 GAPI_Assert(fx != 0. &amp;&amp; fy != 0.);
                 return in.withSize
-                    (Size(static_cast&lt;int&gt;(std::round(in.size.width  * fx)),
-                          static_cast&lt;int&gt;(std::round(in.size.height * fy))));
+                    (Size(static_cast&lt;int&gt;(round(in.size.width  * fx)),
+                          static_cast&lt;int&gt;(round(in.size.height * fy))));
             }
         }
     };
diff --git a/modules/gapi/include/opencv2/gapi/own/saturate.hpp b/modules/gapi/include/opencv2/gapi/own/saturate.hpp
index 207dcde..d716643 100644
--- a/modules/gapi/include/opencv2/gapi/own/saturate.hpp
+++ b/modules/gapi/include/opencv2/gapi/own/saturate.hpp
@@ -81,8 +81,8 @@ static inline DST saturate(SRC x, R round)
 // explicit suffix 'd' for double type
 inline double  ceild(double x) { return std::ceil(x); }
 inline double floord(double x) { return std::floor(x); }
-inline double roundd(double x) { return std::round(x); }
-inline double  rintd(double x) { return std::rint(x); }
+inline double roundd(double x) { return round(x); }
+inline double  rintd(double x) { return rint(x); }
 
 } //namespace own
 } //namespace gapi
diff --git a/modules/gapi/src/backends/fluid/gfluidcore.cpp b/modules/gapi/src/backends/fluid/gfluidcore.cpp
index 49d6d2e..e1821b8 100644
--- a/modules/gapi/src/backends/fluid/gfluidcore.cpp
+++ b/modules/gapi/src/backends/fluid/gfluidcore.cpp
@@ -389,7 +389,7 @@ static void run_arithm_s1(uchar out[], const float in[], int width, const float
     cv::util::suppress_unused_warning(v_op);
     for (; w &lt; width; w++)
     {
-        out[w] = saturate&lt;uchar&gt;(s_op(in[w], scalar[0]), std::roundf);
+        out[w] = saturate&lt;uchar&gt;(s_op(in[w], scalar[0]), roundf);
     }
 }
 
@@ -1954,7 +1954,7 @@ GAPI_FLUID_KERNEL(GFluidCartToPolar, cv::gapi::core::GCartToPolar, false)
         {
             float x = in1[l];
             float y = in2[l];
-            float magnitude = std::hypot(y, x);
+            float magnitude = hypot(y, x);
             float angle_rad = std::atan2(y, x);
             float angle = angleInDegrees?
                           angle_rad * static_cast&lt;float&gt;(180 / CV_PI):"><pre class="notranslate"><code class="notranslate">diff --git a/modules/gapi/include/opencv2/gapi/core.hpp b/modules/gapi/include/opencv2/gapi/core.hpp
index a38d747..f01c0bd 100644
--- a/modules/gapi/include/opencv2/gapi/core.hpp
+++ b/modules/gapi/include/opencv2/gapi/core.hpp
@@ -392,8 +392,8 @@ namespace core {
             {
                 GAPI_Assert(fx != 0. &amp;&amp; fy != 0.);
                 return in.withSize
-                    (Size(static_cast&lt;int&gt;(std::round(in.size.width  * fx)),
-                          static_cast&lt;int&gt;(std::round(in.size.height * fy))));
+                    (Size(static_cast&lt;int&gt;(round(in.size.width  * fx)),
+                          static_cast&lt;int&gt;(round(in.size.height * fy))));
             }
         }
     };
diff --git a/modules/gapi/include/opencv2/gapi/own/saturate.hpp b/modules/gapi/include/opencv2/gapi/own/saturate.hpp
index 207dcde..d716643 100644
--- a/modules/gapi/include/opencv2/gapi/own/saturate.hpp
+++ b/modules/gapi/include/opencv2/gapi/own/saturate.hpp
@@ -81,8 +81,8 @@ static inline DST saturate(SRC x, R round)
 // explicit suffix 'd' for double type
 inline double  ceild(double x) { return std::ceil(x); }
 inline double floord(double x) { return std::floor(x); }
-inline double roundd(double x) { return std::round(x); }
-inline double  rintd(double x) { return std::rint(x); }
+inline double roundd(double x) { return round(x); }
+inline double  rintd(double x) { return rint(x); }
 
 } //namespace own
 } //namespace gapi
diff --git a/modules/gapi/src/backends/fluid/gfluidcore.cpp b/modules/gapi/src/backends/fluid/gfluidcore.cpp
index 49d6d2e..e1821b8 100644
--- a/modules/gapi/src/backends/fluid/gfluidcore.cpp
+++ b/modules/gapi/src/backends/fluid/gfluidcore.cpp
@@ -389,7 +389,7 @@ static void run_arithm_s1(uchar out[], const float in[], int width, const float
     cv::util::suppress_unused_warning(v_op);
     for (; w &lt; width; w++)
     {
-        out[w] = saturate&lt;uchar&gt;(s_op(in[w], scalar[0]), std::roundf);
+        out[w] = saturate&lt;uchar&gt;(s_op(in[w], scalar[0]), roundf);
     }
 }
 
@@ -1954,7 +1954,7 @@ GAPI_FLUID_KERNEL(GFluidCartToPolar, cv::gapi::core::GCartToPolar, false)
         {
             float x = in1[l];
             float y = in2[l];
-            float magnitude = std::hypot(y, x);
+            float magnitude = hypot(y, x);
             float angle_rad = std::atan2(y, x);
             float angle = angleInDegrees?
                           angle_rad * static_cast&lt;float&gt;(180 / CV_PI):
</code></pre></div>