Need to send timestamp metadata with H264 buffers across shmsink -> shmsrc
We have a need to send buffers of H264 video data between two different processes using
Process 1 is receiving H264 RTP packets and
depayloading via Live555, doing some parsing of the H264, and writing the H264 data to disk. In parallel, the H264 frames received via Live555 are pushed to a
GStreamerappsrc pipeline with a
shmsink that sends the frames to Process 2.
Process 2 receives the frames via shmsrc and does some analytics that need to be run in a different process (we need process isolation between the disk writing and the analytics). However, we need to preserve
identical timestamp information for buffers in both processes. The pipeline in Process 2 looks like:
shmsrc ! h264parse ! queue ! avdec_h264 !
videoconvert ! videoscale !
appsink (where it gets shipped to the video analytics and we would need access to the timestamp data).
The shmsrc/shmsink elements don’t appear to preserve buffer timestamps across the shared memory interface. Is it possible to use
GstMeta for this timestamp metadata across the
shm interface? I’d like to know if this is possible before trying to implement the