<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello all,</p>
    <p>I have a custom plugin that need to send message.<br>
      The data for this message are an array of basic struct with only
      simple numeric types in it.</p>
    <p>I can store and retrieve any simple thing in GstStructure without
      any issue but after more than 1 day of searching, i cannot manage
      to make an array work.<br>
      Even an array of int does not work at all.</p>
    <p>I tried with a small test program :</p>
    <pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'DejaVu Sans Mono';font-size:10.5pt;">GArray *garray = g_array_new(FALSE<span style="color:#cc7832;">, </span>FALSE<span style="color:#cc7832;">, sizeof</span>(cstruct))<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span>cstruct it = {}<span style="color:#cc7832;">;
</span>it.x = <span style="color:#6897bb;">10</span><span style="color:#cc7832;">;
</span>it.y = <span style="color:#6897bb;">20</span><span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span>cstruct it2 = {}<span style="color:#cc7832;">;
</span>it.x = <span style="color:#6897bb;">30</span><span style="color:#cc7832;">;
</span>it.y = <span style="color:#6897bb;">40</span><span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span>g_array_append_val(garray<span style="color:#cc7832;">, </span>it)<span style="color:#cc7832;">;
</span>g_array_append_val(garray<span style="color:#cc7832;">, </span>it2)<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span>GstStructure *event_struct = gst_structure_new(
        <span style="color:#6a8759;">"teststruct"</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;">        </span><span style="color:#6a8759;">"testint"</span><span style="color:#cc7832;">, </span>G_TYPE_UINT<span style="color:#cc7832;">, </span><span style="color:#6897bb;">1</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;">        </span><span style="color:#6a8759;">"testarr"</span><span style="color:#cc7832;">, </span>G_TYPE_ARRAY<span style="color:#cc7832;">, </span>garray<span style="color:#cc7832;">,
</span><span style="color:#cc7832;">        </span>NULL
)<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span><span style="color:#cc7832;">const </span>GValue *arrval = gst_structure_get_value(event_struct<span style="color:#cc7832;">, </span><span style="color:#6a8759;">"testarr"</span>)<span style="color:#cc7832;">;
</span><span style="color:#808080;">// No idea how to get my array back here
</span>GArray *structarr = (GArray *)arrval<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span>cstruct *t = &g_array_index(structarr<span style="color:#cc7832;">, </span>cstruct<span style="color:#cc7832;">, </span><span style="color:#6897bb;">0</span>)<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">
</span>printf(<span style="color:#6a8759;">"%u</span><span style="color:#cc7832;">\n</span><span style="color:#6a8759;">"</span><span style="color:#cc7832;">, </span>t->y)<span style="color:#cc7832;">;</span></pre>
    <p>The way to get my GArray back is most likely not the right way
      but i haven't found any leads on how to do it.<br>
      I also don't know if i can build the GstStructure that way.</p>
    <p>I tried using a boxed GValue to store my GArray but it doesn't
      matter how i try to do it, it always segfault on
      gst_structure_new.</p>
    <p>GValueArray is deprecated so i tried to do without it, maybe it's
      not currently possible with gstreamer.</p>
    <p>Thanks<br>
    </p>
  </body>
</html>