Hello, when setting a pipeline that uses nvdrmvideo to the NULL state I’m finding that the hdmi output shuts down. This is on L4T 32.7.1, it doesn’t do it with L4T 32.6.1. Here’s a short piece of code that illustrates the issue:
/* Initialise GStreamer */
gst_init(&argc, &argv);
/* Build the pipeline */
pipeline = gst_parse_launch(
"videotestsrc ! ""video/x-raw, width=(int)1280, height=(int)720"" ! nvdrmvideosink",
NULL
);
/* Start playing */
gst_element_set_state(pipeline, GST_STATE_PLAYING);
g_print("Pipe state: PLAYING\n");
getchar();
/* Set pipeline state to NULL */
gst_element_set_state(pipeline, GST_STATE_NULL);
g_print("Pipe state: NULL\n");
getchar();
After hitting ‘enter’ at the first getchar() on L4T 32.6.1 the display blanks but remains stable. But on L4T 32.7.1 the display disconnects. This is making dynamically re-configuring a pipeline that use nvdrmvideo sink difficult.
Is this an intended change in behaviour? If so is there any way to modify the behaviour?
Hi,
Thanks for the suggested solution. It works quite well. I was thinking it would just wake the hdmi output up again after disconnect but in fact issuing the echo immediately after setting the pipeline to NULL stops it disconnecting.
It seems that I spoke too soon. Having tried a different monitor the hdmi output does indeed briefly shut down. This is an issue for us as we have a menu on plane 2 and some osd on plane 1 (nvdrmvideosink is on plane 0) and of course the whole display briefly blanks.
Is there any other way around this? Will this be fixed in the next L4T release?
Hi,
I tried the sample and it does indeed work although I’m struggling to see the relevance of this as regards the gstreamer plugin nvdrmvideosink causing the hdmi output to turn off when it is set to NULL state.
This is a distinct difference in behaviour between L4T 32.6.1 and L4T 32.7.1, easily reproducible with the simple test app in my first post.
System is booting to a text prompt - no X11 or Wayland running.