<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">I think the system memory output for
nvdec is only in GStreamer master.<br>
<br>
On start up there is a normal cuda warning when draining that you
see there. I think the actual error is that an OpenGL context
could not be created. This warning: 'error: glGetString not
defined or returned invalid value' generally means that the
platform specific code created an OpenGL context but the attempt
to retrieve necessary function pointers failed.<br>
<br>
Can you try a couple of other pipelines like so to check if
GStreamer OpenGL on windows requires using glimagesink as a video
sink? It does sound weird to me if true.<br>
<br>
gst-launch-1.0.exe gltestsrc ! glimagesink<br>
gst-launch-1.0.exe gltestsrc ! gldownload ! queue ! videoconvert !
d3dvideosink<br>
gst-launch-1.0.exe gltestsrc ! gleffects_identity ! gldownload !
queue ! videoconvert ! d3dvideosink<br>
<br>
For the pipelines in the above list that fail, can you grab a
debug log with the following environment variables
GST_DEBUG_FILE=/path/to/file GST_DEBUG=3,gl*:7 and create a new
issue on gitlab at <a moz-do-not-send="true"
href="https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/new">https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/new</a>.<br>
<br>
P.S. for your pipeline there is a glcolorconvert element that you
could replace the videoconvert with if that would help. The
gldownload element would need to go after the glcolorconvert
element of course.<br>
<br>
Cheers<br>
-Matt<br>
<br>
On 16/6/20 5:13 pm, Борис wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGjmWh6BqHHdOdmuB8u16nApqEzTMsYMuypKGR_rU035p2ZDTQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<p style="margin:0px;white-space:pre-wrap"><font color="#000000">Hi! Thank you very much for your answer. What about version:</font></p>
<p style="margin:0px;white-space:pre-wrap"><span style="white-space:normal">system: </span>gstreamer version 1.16.2, <span style="white-space:normal">win10 x64, compiler msvc 2015 x64</span>
</p>
<p style="margin:0px;white-space:pre-wrap"><span style="white-space:normal">
</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="white-space:normal">I did like you said, and changed pipeline like this:</span></p>
<p style="margin:0px;white-space:pre-wrap">
</p>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(0,128,0)">filesrc</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">location=D:/test_nvdec/jumanji.mp4</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">!</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">qtdemux</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">!</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">h264parse</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">!</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">nvdec</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">!</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">gldownload</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">!</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">videoconvert</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">!</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">appsink</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">sync</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">false</span></pre>
<p style="margin:0px;white-space:pre-wrap"><span style="white-space:normal">
</span></p>
<p style="margin:0px">But there are still errors, something
wrong with cuda... Do you have any idea how to resolve this</p>
<p style="margin:0px;white-space:pre-wrap">
</p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.167429000 24124 000002E149570940 WARN nvdec gstnvdec.c:58:cuda_OK: CUDA call failed: CUDA_ERROR_INVALID_HANDLE, invalid resource handle</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.167571000 24124 000002E149570940 WARN nvdec gstnvdec.c:1010:gst_nvdec_drain:<nvdec0> parser failed</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.330955000 24124 000002E149570940 WARN glbasefilter gstglbasefilter.c:491:gst_gl_base_filter_find_gl_context:<gldownloadelement0> error: glGetString not defined or returned invalid value</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.331173000 24124 000002E149570940 WARN basetransform gstbasetransform.c:992:gst_base_transform_do_bufferpool:<gldownloadelement0> Subclass failed to decide allocation</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.331488000 24124 000002E149570940 WARN GST_PADS gstpad.c:4231:gst_pad_peer_query:<nvdec0:src> could not send sticky events</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.360713000 24124 000002E149570940 ERROR nvdec gstnvdec.c:1054:gst_nvdec_decide_allocation:<nvdec0> failed to create OpenGL context</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.378002000 24124 000002E149570940 WARN videodecoder gstvideodecoder.c:3783:gst_video_decoder_negotiate_pool:<nvdec0> Subclass failed to decide allocation</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.378244000 24124 000002E149570940 WARN nvdec gstnvdec.c:819:handle_pending_frames:<nvdec0> failed to negotiate with downstream</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.378474000 24124 000002E149570940 WARN qtdemux qtdemux.c:6605:gst_qtdemux_loop:<qtdemux0> error: Internal data stream error.</span></p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">0:00:00.378600000 24124 000002E149570940 WARN qtdemux qtdemux.c:6605:gst_qtdemux_loop:<qtdemux0> error: streaming stopped, reason not-negotiated (-4)</span></p>
<p style="margin:0px;color:rgb(170,0,0);white-space:pre-wrap">
</p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_element_get_bus: assertion 'GST_IS_ELEMENT (element)' failed</span></p>
<p style="margin:0px;color:rgb(170,0,0);white-space:pre-wrap">
</p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_bus_have_pending: assertion 'GST_IS_BUS (bus)' failed</span></p>
<p style="margin:0px;color:rgb(170,0,0);white-space:pre-wrap">
</p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_object_unref: assertion 'object != NULL' failed</span></p>
<p style="margin:0px;color:rgb(170,0,0);white-space:pre-wrap">
</p>
<p style="margin:0px;white-space:pre-wrap"><span style="color:rgb(170,0,0)">(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_element_send_event: assertion 'GST_IS_ELEMENT (element)' failed</span></p>
</div>
</blockquote>
<br>
</body>
</html>