Nvdrmvideosink python error handling

Hi i am using this pipeline, for showing a livestream over hdmi:

“appsrc ! videoconvert ! nvvidconv ! video/x-raw(memory:NVMM),width=”+str(displaywidth)+",height="+str(displayheight)+",format=NV12 ! nvdrmvideosink sync=false "

everything works as expected. But if i restart the hdmi monitor, the python scripts continues, but gstreamer showing this warning. monitor screen is black with some (unnecessary) mc.errors.

[ WARN:0] global /home/nvidia/host/build_opencv/nv_opencv/modules/videoio/src/cap_gstreamer.cpp (1663) writeFrame OpenCV | GStreamer warning: Error pushing buffer to GStreamer pipeline

How to handle this warning / restart the script ?

try:

        stream.write(vis)

    except cv2.error as error:

        print("[Error]: {}".format(error)) 

        break

    except Exception:

        break

    except Warning:

        break

Best Regards
Martin

1 Like

Hi,
Please share your release version:

$ head -1 /etc/nv_tegra_release

And we would need your help to provide steps so that we follow to reproduce the issue. Please check if you can make a test app based on this simple test app:
Nvoverlaysink ignores properties when pipeline is restarted - #6 by DaneLLL

I have easily reproduced that :

  1. Swicth to virtual console with Alt-Ctrl-F3 and login
  2. Run the pipeline:
gst-launch-1.0 videotestsrc ! nvvidconv ! nvdrmvideosink
  1. Power off monitor
  2. Power on monitor
  3. The pipeline has been stopped by an error with the following messages:
Failed to set plane
Failed to display frame buffer 

It works fine with nvoverlaysink instead of nvdrmvideosink.

Hi,
This use-case may not be verified. We expect the screen is on for running the gstreamer command. Will try to reproduce it and check if we can support this use-case.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.