<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Found this in the logs:<br>
</p>
<p>0:00:13.756895364 11417 0x55ae8c7540 WARN
ipcpipelinecomm
gstipcpipelinecomm.c:483:build_meta:<ipcpipelinesink0>
Ignoring GstMeta type GstReferenceTimestampMetaAPI<br>
</p>
<p>Looks like ipcpipelinesink does ignore
GstReferenceTimestampMetaAPI, I'll have to do some more research<br>
</p>
<div class="moz-cite-prefix">On 8/27/20 5:42 PM, Wilkins White
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:1598575344507-0.post@n4.nabble.com">
<pre class="moz-quote-pre" wrap="">I would like to send metadata, specifically GstReferenceTimestampMeta, from
my C/C++ application to a Python application. It seems like I should be able
to accomplish this with `appsrc ! ipcpipelinesink` and `ipcpipelinesrc !
appsink` but the metadata isn't showing up on the Python side. Am I missing
something obvious, or will metadata not travel through
ipcpipelinesink/ipcpipelinesrc?
On my C++ application I am loading an appsrc with data from a CUDA pipeline
which feeds an ipcpipelinesink. I am using
`gst_buffer_add_reference_timestamp_meta` to add the reference timestamp for
when the frame was captured. I was able to read the value back using
`gst_buffer_get_reference_timestamp_meta` so I know it is there.
// Allocate a new GstBuffer
GstBuffer *gstbuf = gst_buffer_new_allocate(nullptr, buffer_size,
nullptr);
// Add reference timestamp to metadata
GstClockTime timestamp = static_cast<uint64_t>(ctx->m_frame.m_ts);
GstCaps *reference =
gst_caps_from_string("timestamp/x-metavision-stream");
gst_buffer_add_reference_timestamp_meta(
gstbuf, reference, timestamp, GST_CLOCK_TIME_NONE);
// Set pipeline timestamp
if(ctx->m_init_ts == 0)
ctx->m_init_ts = timestamp;
gstbuf->pts = timestamp - ctx->m_init_ts; // ns
gstbuf->dts = gstbuf->pts;
// Map GstBuffer (output)
GstMapInfo map;
memset(&map, 0, sizeof(GstMapInfo));
gst_buffer_map(gstbuf, &map, GST_MAP_WRITE);
// Copy NvBuffer to GstBuffer
...
// Unmap
gst_buffer_unmap(gstbuf, &map);
// Push buffer
gst_app_src_push_buffer(GST_APP_SRC(ctx->m_appsrc), gstbuf);
On the Python side I create an ipcslavepipeline with an ipcpipelinesrc
feeding an appsink. Caps are negotiated properly and I am able to convert
the Gst.Buffer into a numpy array, but
`Gst.Buffer.buf.get_reference_timestamp_meta` is returning None:
buf = sample.get_buffer()
reference = Gst.Caps.from_string('timestamp/x-metavision-stream')
ts_meta = buf.get_reference_timestamp_meta(reference) #
Gst.ReferenceTimestampMeta
print(ts_meta) # None
Am I barking up the wrong tree here? I would appreciate any input.
--
Sent from: <a class="moz-txt-link-freetext" href="http://gstreamer-devel.966125.n4.nabble.com/">http://gstreamer-devel.966125.n4.nabble.com/</a>
_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
</blockquote>
<div class="moz-signature">-- <br>
<table style="width:100%">
<tbody>
<tr>
<td width="110px"> <a href="http://www.novadynamics.com"> <img
src="https://static1.squarespace.com/static/5e7fbc86d5867b7bafcd461c/t/5ebf18433fa26a39d1da1fae/1589581891493/Nova-dynamics-logo-small.png"
alt="Nova Dynamics" width="100px"> </a> </td>
<td>
<p style="font-size: 10pt;"> <strong style="color:
#1679b2;">Wilkins White</strong> <strong
style="color: #1679b2;"> | </strong> <em
style="color: #00aeef" ;="">Firmware Engineer</em> <strong
style="color: #1679b2;"> | </strong> <a
href="mailto:ww@novadynamics.com">ww@novadynamics.com</a>
<br>
<span style="color: #666666;">517 N 19th St, Philomath,
OR</span> <strong style="color: #1679b2;"> | </strong>
<a href="tel:+15038050762">503.805.0762</a> </p>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>