<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=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","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=blue vlink=purple><div class=WordSection1><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white'><span style='font-family:"Helvetica","sans-serif";color:#555555'>Greetings,<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white'><span style='font-family:"Helvetica","sans-serif";color:#555555'>I’ve run into an issue I’m hoping someone can shed light on. I’m using two pipelines – one for decoding H.264 video with imxvpudec, and the other for rendering video with imxeglvivsink.  I suppose this could be something specific about the i.MX6 GStreamer elements but I suspect that it is not particular to those.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white'><span style='font-family:"Helvetica","sans-serif";color:#555555'>The decoder pipeline terminates in an appsink and the rendering pipeline starts with an appsrc. I’m using gst_app_sink_pull_sample () to pull samples from the appsink and gst_app_src_push_sample () to push them to the appsrc.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-family:"Helvetica","sans-serif";color:#555555'>All works fine if the video being received (via RTP) and decoded is 30 fps. But if the video is 15 fps then it is rendered in slow motion.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-family:"Helvetica","sans-serif";color:#555555'>If I use a single GStreamer pipeline with the same stream of H.264 video then all is well at 30 and 15 fps.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-family:"Helvetica","sans-serif";color:#555555'>I have debugged extensively (and learned a lot more about GStreamer doing it) and have confirmed that when the video is 15 fps the GST_BUFFER_DURATION() and GST_BUFFER_PTS() show the correct values for the buffers contained in the samples being pushed to the appsink.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-family:"Helvetica","sans-serif";color:#555555'>I have also gotten the caps from the samples and from the imxeglvivsink sink pad and both show the correct frame rate.<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-family:"Helvetica","sans-serif";color:#555555'>I have also verified that the decoded frames are delivered to the render pipeline at 15 fps (via time stamped log messages from my application).<o:p></o:p></span></p><p style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:15.75pt;margin-left:0in;line-height:18.0pt;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-family:"Helvetica","sans-serif";color:#555555'>So clearly there is something happening under the hood with a single GStreamer pipeline that is still missing with this split pipeline scenario in spite of the caps being relayed correctly between the two pipelines via the samples.<o:p></o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px'><span style='font-family:"Helvetica","sans-serif";color:#555555'>Help would be greatly appreciated. I may have to use the single pipeline if I can’t solve it but it just doesn’t fit as nicely into our existing architecture.<o:p></o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white'><span style='font-family:"Helvetica","sans-serif";color:#555555'><o:p> </o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white'><span style='font-family:"Helvetica","sans-serif";color:#555555'>Regards,<o:p></o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white'><span style='font-family:"Helvetica","sans-serif";color:#555555'><o:p> </o:p></span></p><p style='margin:0in;margin-bottom:.0001pt;line-height:18.0pt;background:white'><span style='font-family:"Helvetica","sans-serif";color:#555555'>Mike<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>