<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: iMX8 Gstreamer, pointer to access to overlay rectangle, GstBuffer data</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX8-Gstreamer-pointer-to-access-to-overlay-rectangle-GstBuffer/m-p/1486860#M192334</link>
    <description>&lt;P&gt;Found the answer to my question in the gstreamer 0.10 to 1.0 porting guide&lt;/P&gt;&lt;P&gt;&lt;A href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/master/docs/random/porting-to-1.0.txt" target="_blank"&gt;docs/random/porting-to-1.0.txt · master · GStreamer / gstreamer · GitLab&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 08 Jul 2022 13:28:10 GMT</pubDate>
    <dc:creator>Keith_RL</dc:creator>
    <dc:date>2022-07-08T13:28:10Z</dc:date>
    <item>
      <title>iMX8 Gstreamer, pointer to access to overlay rectangle, GstBuffer data</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX8-Gstreamer-pointer-to-access-to-overlay-rectangle-GstBuffer/m-p/1486129#M192287</link>
      <description>&lt;P&gt;Using an iMX8MPLUS-BB, Yocto honister,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Gstreamer plugin that can write initially static data (RGBA)&amp;nbsp; that is overlaid on video. Similar to what is described in&lt;/P&gt;&lt;P&gt;&lt;A href="https://gstreamer.freedesktop.org/documentation/tutorials/basic/short-cutting-the-pipeline.html?gi-language=c" target="_blank"&gt;Basic tutorial 8: Short-cutting the pipeline (gstreamer.freedesktop.org)&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The overlay on video will be a gst_video_overlay_rectangle&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Gst_video_overlay_rectangle_new_raw(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GstBuffer * pixels,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gint render_x, render_y&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gint render_width, render_height&lt;BR /&gt;GstVideoOVerlayFormatFlags flags)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In old Gstreamer 0.10 the GstBuffer structure was as follows and contained a pointer to the actual data, *data. And a Macro for access the pointer. Looks like what I need. But is old gstreamer&lt;/P&gt;&lt;P&gt;struct _GstBuffer {&lt;BR /&gt;&amp;nbsp; GstMiniObject&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mini_object;&lt;BR /&gt;&amp;nbsp; /*&amp;lt; public &amp;gt;*/ /* with COW */&lt;BR /&gt;&amp;nbsp; /* pointer to data and its size */&lt;/P&gt;&lt;P&gt;&amp;nbsp; guint8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *data;&lt;BR /&gt;&amp;nbsp; guint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* timestamp */&lt;BR /&gt;&amp;nbsp; GstClockTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timestamp;&lt;BR /&gt;&amp;nbsp; GstClockTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; duration;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* the media type of this buffer */&lt;BR /&gt;&amp;nbsp; GstCaps&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *caps;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* media specific offset */&lt;BR /&gt;&amp;nbsp; guint64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; offset;&lt;BR /&gt;&amp;nbsp; guint64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; offset_end;&lt;BR /&gt;&amp;nbsp; guint8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *malloc_data;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* ABI Added */&lt;BR /&gt;&amp;nbsp; GFreeFunc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; free_func;&lt;BR /&gt;&amp;nbsp; GstBuffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *parent;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /*&amp;lt; private &amp;gt;*/&lt;BR /&gt;&amp;nbsp; gpointer _gst_reserved[GST_PADDING - 2];&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GST_BUFFER_DATA (buffer)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The iMX8 used GStreamer Core Library version 1.18.5, where the structure of GstBuffer is a follows&lt;/P&gt;&lt;P&gt;struct _GstBuffer {&lt;BR /&gt;GstMiniObject&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mini_object;&lt;BR /&gt;&amp;nbsp; /*&amp;lt; public &amp;gt;*/ /* with COW */&lt;BR /&gt;&amp;nbsp; GstBufferPool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *pool;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* timestamp */&lt;BR /&gt;&amp;nbsp; GstClockTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pts;&lt;BR /&gt;&amp;nbsp; GstClockTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dts;&lt;BR /&gt;&amp;nbsp; GstClockTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; duration;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* media specific offset */&lt;BR /&gt;&amp;nbsp; guint64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; offset;&lt;BR /&gt;&amp;nbsp; guint64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; offset_end;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It no longer provides the data pointer and uses GstBufferPool, I have investigated the GstBufferPool but have not found an obvious method to get the memory address, so &amp;nbsp;is there a mechanism for obtaining a pointer to the memory address from the GstBufferPool ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 09:29:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX8-Gstreamer-pointer-to-access-to-overlay-rectangle-GstBuffer/m-p/1486129#M192287</guid>
      <dc:creator>Keith_RL</dc:creator>
      <dc:date>2022-07-07T09:29:49Z</dc:date>
    </item>
    <item>
      <title>Re: iMX8 Gstreamer, pointer to access to overlay rectangle, GstBuffer data</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX8-Gstreamer-pointer-to-access-to-overlay-rectangle-GstBuffer/m-p/1486860#M192334</link>
      <description>&lt;P&gt;Found the answer to my question in the gstreamer 0.10 to 1.0 porting guide&lt;/P&gt;&lt;P&gt;&lt;A href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/master/docs/random/porting-to-1.0.txt" target="_blank"&gt;docs/random/porting-to-1.0.txt · master · GStreamer / gstreamer · GitLab&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Jul 2022 13:28:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX8-Gstreamer-pointer-to-access-to-overlay-rectangle-GstBuffer/m-p/1486860#M192334</guid>
      <dc:creator>Keith_RL</dc:creator>
      <dc:date>2022-07-08T13:28:10Z</dc:date>
    </item>
  </channel>
</rss>

