<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Hello! I’m writing a custom element that, depending on which element it is connected to, I get the following error:<o:p></o:p></b></p>
<p class="MsoNormal"><b><o:p> </o:p></b></p>
<p class="MsoNormal"><b>0:00:00.146996442  2491 0xaaaafa871000 ERROR          basetransform gstbasetransform.c:482:gst_base_transform_transform_caps:<custom_element> transform_caps returned caps video/x-raw, format=(string){ RGB, NV12, I420, YV12, NV21, YUYV,
 YVYU, UYVY, VYUY, NV16, NV61, YUY2 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] which are not a real subset of the filter caps video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080<o:p></o:p></b></p>
<p class="MsoNormal"><b><o:p> </o:p></b></p>
<p class="MsoNormal"><b>** (gst-launch-1.0:2491): WARNING **: 20:26:35.991: customelement0 : transform_caps returned caps which are not a real subset of the filter caps<o:p></o:p></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">But the pipeline doesn’t break, it works just fine.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For this custom element I wrote the following transform_caps function:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">static GstCaps*<o:p></o:p></p>
<p class="MsoNormal">transform_caps(GstBaseTransform* trans,<o:p></o:p></p>
<p class="MsoNormal">               GstPadDirection   direction,<o:p></o:p></p>
<p class="MsoNormal">               GstCaps*          caps,<o:p></o:p></p>
<p class="MsoNormal">               GstCaps*          filter)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    if (direction == GST_PAD_SINK) {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">        filter = gst_caps_from_string(<o:p></o:p></p>
<p class="MsoNormal">            GST_TENSOR_CAP_DEFAULT<o:p></o:p></p>
<p class="MsoNormal">            ";" GST_TENSORS_CAP_MAKE("{ static, flexible }"));<o:p></o:p></p>
<p class="MsoNormal">    } else if (direction == GST_PAD_SRC) {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">        filter = gst_caps_from_string(<o:p></o:p></p>
<p class="MsoNormal">            GST_VIDEO_CAPS_MAKE("{ RGB, NV12, I420, YV12, NV21, YUYV, YVYU, "<o:p></o:p></p>
<p class="MsoNormal">                                "UYVY, VYUY, NV16, NV61, YUY2 }"));<o:p></o:p></p>
<p class="MsoNormal">    }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    return filter;<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The element is used in a machine learning pipeline, and it should receive video frames with the caps referred in the code snippet, and it will output tensors, that’s why I used  the NNStreamer defines (namely GST_TENSOR_CAP_DEFAULT, GST_TENSORS_CAP_MAKE
 ) when the direction is GST_PAD_SINK.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I want to know if there’s something wrong in that transform_caps, because the error doesn’t break the pipeline nor it always happens. Or can I just ignore this error?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
</div>
</body>
</html>