Cannot build gstreamer pipeline with tee, appsink and file sink

Hi,

using:
Jetson Orin Nano
Jetpack 5.1.2
L4T 35.4.1
Ubuntu 20.04

I am attempting to build the following pipeline:
video source → tee → video sink
|__-> appsink

each of the pipeline with just one sink, even with the tee works:

# TEE videotestsrc - filesink
gst-launch-1.0 videotestsrc ! tee name=t ! \
queue ! nvvidconv ! 'video/x-raw, format=(string)RGBA' ! nvvidconv ! 'video/x-raw, format=(string)NV12' ! x264enc speed-preset=fast ! h264parse ! qtmux ! filesink location=demoVideos/videotestsrc.mov -e

# TEE videotestsrc - appsink
gst-launch-1.0 videotestsrc ! tee name=t ! \
queue ! nvvidconv ! 'video/x-raw, format=(string)RGBA' ! appsink -e

However, when attaching both sinks to the tee, i’m getting ‘queue_dataflow gstqueue.c:1516:gst_queue_loop: queue is empty’ using GST_DEBUG=3,queue_dataflow:5

gst-launch-1.0 videotestsrc ! tee name=t ! \
queue ! nvvidconv ! 'video/x-raw, format=(string)RGBA' ! nvvidconv ! 'video/x-raw, format=(string)NV12' ! x264enc speed-preset=fast ! h264parse ! qtmux ! filesink location=demoVideos/videotestsrc.mov t. ! \
queue ! nvvidconv ! 'video/x-raw, format=(string)RGBA' ! appsink -e

i’ve tried:

  1. appsink drop=true
  2. increasing queue max-size-buffer
  3. fakesink instead of app sink

Thank you

Hi,
The nvvidconv supports the use-cases:

video/x-raw(memory:NVMM) ! nvvidconv ! video/x-raw
video/x-raw ! nvvidconv ! video/x-raw(memory:NVMM)
video/x-raw(memory:NVMM) ! nvvidconv ! video/x-raw(memory:NVMM)

In your use-case, you don’t need frame data in NVMM buffer, so you may use videoconvert plugin.

good to know to use videoconvert, if i don’t need the buffer to stay in the NVMM

However, this still doesn’t solve the problem, changing the pipeline to the following still doesn’t work

gst-launch-1.0 videotestsrc ! tee name=t ! \
queue ! videoconvert ! 'video/x-raw, format=(string)RGBA' ! videoconvert ! 'video/x-raw, format=(string)NV12' ! x264enc speed-preset=fast ! h264parse ! qtmux ! filesink location=test/videotestsrc.mov t. ! \
queue ! videoconvert ! 'video/x-raw, format=(string)RGBA' ! appsink -e

Hi,
Not sure if appsink works in gst-launch-1.0 command. Generally it is used in C/python code for accessing GstBuffer. Please try with fakesink.

Hi, i tried in python as well, both fakesink and appsink did not work, could you please try on your end

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Is this still an issue to support? Any result can be shared?