gst-plugins-bad nvdec element doesn't work

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

gst-plugins-bad nvdec element doesn't work

bronstein87

Hi! Thank you very much for your answer. What about version:

system: gstreamer version 1.16.2, win10 x64, compiler msvc 2015 x64


I did like you said, and changed pipeline like this:

filesrc location=D:/test_nvdec/jumanji.mp4 ! qtdemux ! h264parse ! nvdec ! gldownload ! videoconvert ! appsink sync = false


But there are still errors, something wrong with cuda... Do you have any idea how to resolve this

0:00:00.167429000 24124 000002E149570940 WARN nvdec gstnvdec.c:58:cuda_OK: CUDA call failed: CUDA_ERROR_INVALID_HANDLE, invalid resource handle

0:00:00.167571000 24124 000002E149570940 WARN nvdec gstnvdec.c:1010:gst_nvdec_drain:<nvdec0> parser failed

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

0:00:00.331173000 24124 000002E149570940 WARN basetransform gstbasetransform.c:992:gst_base_transform_do_bufferpool:<gldownloadelement0> Subclass failed to decide allocation

0:00:00.331488000 24124 000002E149570940 WARN GST_PADS gstpad.c:4231:gst_pad_peer_query:<nvdec0:src> could not send sticky events

0:00:00.360713000 24124 000002E149570940 ERROR nvdec gstnvdec.c:1054:gst_nvdec_decide_allocation:<nvdec0> failed to create OpenGL context

0:00:00.378002000 24124 000002E149570940 WARN videodecoder gstvideodecoder.c:3783:gst_video_decoder_negotiate_pool:<nvdec0> Subclass failed to decide allocation

0:00:00.378244000 24124 000002E149570940 WARN nvdec gstnvdec.c:819:handle_pending_frames:<nvdec0> failed to negotiate with downstream

0:00:00.378474000 24124 000002E149570940 WARN qtdemux qtdemux.c:6605:gst_qtdemux_loop:<qtdemux0> error: Internal data stream error.

0:00:00.378600000 24124 000002E149570940 WARN qtdemux qtdemux.c:6605:gst_qtdemux_loop:<qtdemux0> error: streaming stopped, reason not-negotiated (-4)


(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_element_get_bus: assertion 'GST_IS_ELEMENT (element)' failed


(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_bus_have_pending: assertion 'GST_IS_BUS (bus)' failed


(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_object_unref: assertion 'object != NULL' failed


(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_element_send_event: assertion 'GST_IS_ELEMENT (element)' failed


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst-plugins-bad nvdec element doesn't work

Matthew Waters
I think the system memory output for nvdec is only in GStreamer master.

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.

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.

gst-launch-1.0.exe gltestsrc ! glimagesink
gst-launch-1.0.exe gltestsrc ! gldownload ! queue ! videoconvert ! d3dvideosink
gst-launch-1.0.exe gltestsrc ! gleffects_identity ! gldownload ! queue ! videoconvert ! d3dvideosink

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 https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/new.

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.

Cheers
-Matt

On 16/6/20 5:13 pm, Борис wrote:

Hi! Thank you very much for your answer. What about version:

system: gstreamer version 1.16.2, win10 x64, compiler msvc 2015 x64

I did like you said, and changed pipeline like this:

filesrc location=D:/test_nvdec/jumanji.mp4 ! qtdemux ! h264parse ! nvdec ! gldownload ! videoconvert ! appsink sync = false

But there are still errors, something wrong with cuda... Do you have any idea how to resolve this

0:00:00.167429000 24124 000002E149570940 WARN nvdec gstnvdec.c:58:cuda_OK: CUDA call failed: CUDA_ERROR_INVALID_HANDLE, invalid resource handle

0:00:00.167571000 24124 000002E149570940 WARN nvdec gstnvdec.c:1010:gst_nvdec_drain:<nvdec0> parser failed

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

0:00:00.331173000 24124 000002E149570940 WARN basetransform gstbasetransform.c:992:gst_base_transform_do_bufferpool:<gldownloadelement0> Subclass failed to decide allocation

0:00:00.331488000 24124 000002E149570940 WARN GST_PADS gstpad.c:4231:gst_pad_peer_query:<nvdec0:src> could not send sticky events

0:00:00.360713000 24124 000002E149570940 ERROR nvdec gstnvdec.c:1054:gst_nvdec_decide_allocation:<nvdec0> failed to create OpenGL context

0:00:00.378002000 24124 000002E149570940 WARN videodecoder gstvideodecoder.c:3783:gst_video_decoder_negotiate_pool:<nvdec0> Subclass failed to decide allocation

0:00:00.378244000 24124 000002E149570940 WARN nvdec gstnvdec.c:819:handle_pending_frames:<nvdec0> failed to negotiate with downstream

0:00:00.378474000 24124 000002E149570940 WARN qtdemux qtdemux.c:6605:gst_qtdemux_loop:<qtdemux0> error: Internal data stream error.

0:00:00.378600000 24124 000002E149570940 WARN qtdemux qtdemux.c:6605:gst_qtdemux_loop:<qtdemux0> error: streaming stopped, reason not-negotiated (-4)

(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_element_get_bus: assertion 'GST_IS_ELEMENT (element)' failed

(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_bus_have_pending: assertion 'GST_IS_BUS (bus)' failed

(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_object_unref: assertion 'object != NULL' failed

(gametrack_modules.exe:24124): GStreamer-CRITICAL **: 10:07:54.808: gst_element_send_event: assertion 'GST_IS_ELEMENT (element)' failed



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (499 bytes) Download Attachment