<div>Hi All,</div>
<div>          This is regarding dynamic resolution change while decoding a stream. For Example CIF to D1.</div>
<div>I am using the following:</div>
<div>IL client                : gst-openmax.10.1 </div>
<div>Openmax Core   : libomxil-bellagio-0.9.3</div>
<div>Video decoder component : libomxffmpegdist-0.1</div>
<div>In my setup, the IL client is allocating the openmax buffers(i.e port->omx_allocate = false) and this is my requirement.</div>
<div> </div>
<div> </div>
<div>Dynamic resolution change is currrently not working.  Hence, I tried the following:</div>
<div>Step 1 : In Video Decoder component, returning the Output buffer. Changing the inPort and outPort settings.</div>
<div>               Changed the WxH in both the ports and the outPort's buffer size. </div>
<div>Step 2:  Send the "OMX_EventPortSettingsChanged" using the event handler callback.</div>
<div>Step 3:  As a result, the IL client(gst-openmax)  settings_changed_cb() is called. In this function,</div>
<div>              I am doing the following, before gst_pad_set_caps (omx_base->srcpad, new_caps) :</div>
<div>          {</div>
<div>             port = get_port (core, 1);</div>
<div>             GST_INFO_OBJECT (omx_base, "Calling  g_omx_port_disable(port) in %s\n",__func__);<br>             g_omx_port_disable(port);<br>             GST_INFO_OBJECT (omx_base, "g_omx_port_disable(port) completed in %s\n",__func__);</div>

<div>             port->buffer_size = 352*288*1.5;</div>
<div>             GST_INFO_OBJECT (omx_base, "Calling  g_omx_port_enable(port) in %s\n",__func__);<br>             g_omx_port_enable(port);<br>             GST_INFO_OBJECT (omx_base, "g_omx_port_enable(port) completed in %s\n",__func__);</div>

<div>         }</div>
<div> </div>
<div>The result of this change is, after  g_omx_port_disable(port),  gstreamer is hanging.  The ending logs is as shown below:</div>
<div> </div>
<div>0:00:00.163039163 24012 0xb3d73400 DEBUG                    omx gstomx_util.c:848:EventHandler:<omxh264dec0> OMX_EventPortSettingsChanged<br>0:00:00.163082596 24012 0xb3d73400 DEBUG                    omx gstomx_base_videodec.c:119:settings_changed_cb:<omxh264dec0> settings changed<br>
0:00:00.163098457 24012 0xb3d73400 INFO                     omx gstomx_base_videodec.c:153:settings_changed_cb:<omxh264dec0> Calling  g_omx_port_disable(port) in settings_changed_cb<br>
0:00:00.163165246 24012  0x949c8c0 LOG                      omx gstomx_base_filter.c:347:output_loop:<omxh264dec0> omx_buffer: (nil)<br>0:00:00.163267648 24012  0x949c8c0 WARN                     omx gstomx_base_filter.c:350:output_loop:<omxh264dec0> null buffer: leaving<br>
0:00:00.163283411 24012  0x949c8c0 INFO                     omx gstomx_base_filter.c:504:output_loop:<omxh264dec0> pause task, reason:  wrong-state<br>0:00:00.163299207 24012  0x949c8c0 LOG                      omx gstomx_base_filter.c:508:output_loop:<omxh264dec0> end<br>
</div>
<div> </div>
<div>Please let me know, how to get the dynamic resolution change work. Let me know if you need additional details.</div>
<div> </div>
<div>Thanking you,</div>
<div>Deepak T Y</div>
<div> </div>
<div> </div>