RidgeRun / gst-interpipe

GStreamer plug-in for interpipeline communication
Other
140 stars 63 forks source link

losing dmabuf video meta data on multiple interpipesrc #128

Open pradeephyd opened 2 years ago

pradeephyd commented 2 years ago

observed interpipesrc is losing dmauf video metadata if we use stream-sync=compensate-ts or stream-sync=restart-ts, but this happens only for one pipeline.

First pipeline: "qcarcamsrc input=0 from-app=true err-handle-mode=2 ! video/x-raw,format=NV12 ! interpipesink name=test"

Second pipeline: "interpipesrc name=srctest listen-to=test is-live=true accept-eos-event=true stream-sync=compensate-ts format=time ! qvconv ! video/x-raw,format=NV12 ! waylandsink sync=false"

Thrid pipeline is RTSP: "interpipesrc is-live=true accept-eos-event=true format=time " "stream-sync=compensate-ts listen-to=test ! qvconv ! " "video/x-raw, format=NV12 ! queue ! omxh264enc ! h264parse ! " "queue ! rtph264pay config-interval=-1 name=pay0 pt=96"

problem observed only in the second pipeline, if we didn't pass stream-sync option the buffer is ok, but due to timestamp issues waylandsink is not playing. if we pass stream-sync option in interpipesrc gst_buffer_make_writable the buffer losing dmabuf video metadata. it happens only in this pipeline, RTSP pipeline is working fine.

losing GstVideoMeta where dmabuf information saved as below saved in GstVideoMeta offset and stride fields