<div dir="ltr"><div>Hello, </div><div><br></div><div>I have tried to follow the way described here. </div><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html</a><div><br></div><div><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:14px"><b><i>If state in PLAYING, a unlink happened there, gst_pad_push_buffer may return GST_FLOW_NOT_LINKED, this depends on how the plugin handle NOT_LINKED message.</i></b></span><br></div><div><br></div>From this I understand that, we actually do not know how vaapipostproc handles the NOT_LINKED message, do not we? However, the unlinked element is not the vaapipostproc element, it is the queue3 (just before the bin that contains matroskamux and filesink) in first pipeline below.<div><br></div><div>I have tried two pipelines:</div><div>videotestsrc -> queue1 -> vaapipostproc -> queue2 -> vaapiencode_h264 -> queue3 -> (bin)(matroskamux -> filesink) : Successfully running for first time period but it fails whenever placing a new bin</div><div>videotestsrc -> queue1 -> x264enc -> queue2 -> (bin)(matroskamux -> filesink) : Successfully running and changing the file location</div><div><br></div><div><br></div><div>1. I do not want to pause the whole pipeline since I do not want to lose any data.</div><div>2. I assume queueBeforeBin (gst element queue) make the appropriate buffering while the pads are unlinked. <br><div><br></div><div>I am suspicious on vaapipostproc element. According to debug messages below (attached in very first post), it seems there is a problem with internal memory management on this element when trying to adding a new bin to pipeline. However I cannot understand how do we trigger this problem on this element.</div></div><div><br></div><div><div><b><i>vaapipostproc gstvaapipluginbase.c:532:gst_vaapi_plugin_base_decide_allocation:<GPUPostProcessing>[00m no pool or doesn't support GstVaapiVideoMeta, making new pool</i></b></div><div><b><i>vaapivideomemory gstvaapivideomemory.c:627:gst_vaapi_video_allocator_new:[00m has direct-rendering for NV12 surfaces: no</i></b></div><div><b><i>vaapipostproc gstvaapipostproc.c:412:create_output_buffer:[00m failed to create output video buffer</i></b></div></div><div><b><i><br></i></b></div>Regards.<div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 16 December 2014 at 12:13, Yuan, Feng <span dir="ltr"><<a href="mailto:feng.yuan@intel.com" target="_blank">feng.yuan@intel.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="ZH-CN" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> I’m not sure this is the right way to unlink the pad in a playing state. If state in PLAYING, a unlink happened there, gst_pad_push_buffer
may return GST_FLOW_NOT_LINKED, this depends on how the plugin handle NOT_LINKED message. Normally may cause enter unstable state.<u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:9.6pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Maybe
<u></u><u></u></span></p>
<p style="margin-left:27.6pt">
<u></u><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><span>1.<span style="font:7.0pt "Times New Roman"">
</span></span></span><u></u><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">you can try pause the whole pipeline then destroy the mux bin. This may depend on all plugins can handle pause correctly.<u></u><u></u></span></p>
<p style="margin-left:27.6pt">
<u></u><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><span>2.<span style="font:7.0pt "Times New Roman"">
</span></span></span><u></u><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Add a appsink before muxbin. If unlink happened, , make appsink to queue them for a while, then push_data after relink done.<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:9.6pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Wind<u></u><u></u></span></p>
<p class="MsoNormal"><a name="14a5296c236a5129__MailEndCompose"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></a></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Libva [mailto:<a href="mailto:libva-bounces@lists.freedesktop.org" target="_blank">libva-bounces@lists.freedesktop.org</a>]
<b>On Behalf Of </b>Engin Firat<br>
<b>Sent:</b> Tuesday, December 16, 2014 5:12 PM<br>
<b>To:</b> <a href="mailto:libva@lists.freedesktop.org" target="_blank">libva@lists.freedesktop.org</a><br>
<b>Subject:</b> Re: [Libva] Problem with vaapipostproc element<u></u><u></u></span></p>
</div>
</div><div><div class="h5">
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">Hello,</span><span lang="EN-US"><u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">It is a typo. Sorry for mistake. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">An updated implementation.c is attached to this mail. Also I have been setting the <b><i>format </i></b>attribute to vaapipostproc element. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">There is no problem getting and encoding a video by using vaapi elements. The problem is occurred whenever I remove the bin and create a new one to update filesink's location. ie. I have been
encoding the video and writing to disk successfully for specified time period (10 seconds in implementation.c line 217). After this period I need to remove the bin (consists of muxer and filesink, creating by using CreateNewBin function in implementation.c)
create the new one and then try to continue play. At that time, vaapipostproc element halts the whole pipeline. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">The problem still continues and I cannot find a way to handle this problem. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">Thank you so much for your consideration.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.0pt">Regards.<u></u><u></u></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">On 16 December 2014 at 09:36, Yuan, Feng <<a href="mailto:feng.yuan@intel.com" target="_blank">feng.yuan@intel.com</a>> wrote:<u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:21.0pt">
<span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">From your attachment implementation.c, found</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:21.0pt;text-indent:21.0pt">
<span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">vaapiencoder = gst_element_factory_make ("x264enc", NULL);</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:21.0pt">
<span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Maybe typo. Suppose you want “vaapiencode_h264”. Anyway, I just tried</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:21.0pt">
<span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">$ gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=320,height=240,framerate=30/1 ! vaapipostproc ! queue ! vaapiencode_h264 ! fakesink
</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:21.0pt">
<span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Failed in latest master branch. This issue caused by gstvaapiencoder need strict format check but vaapipostproc with format ‘Encoded’(VASurface). After adding a specific
‘format’ for vaapipostproc, encoder works. You can take a try .</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:21.0pt">
<span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">$ gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=320,height=240,framerate=30/1 ! vaapipostproc format=nv12 ! queue ! vaapiencode_h264 ! fakesink</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><a name="14a5296c236a5129_14a5206ab34a1026__MailEndCompose"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></a><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks,</span><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1f497d">Wind</span><span lang="EN-US"><u></u><u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Libva
[mailto:<a href="mailto:libva-bounces@lists.freedesktop.org" target="_blank">libva-bounces@lists.freedesktop.org</a>]
<b>On Behalf Of </b>Engin Firat<br>
<b>Sent:</b> Friday, December 12, 2014 11:48 PM<br>
<b>To:</b> <a href="mailto:libva@lists.freedesktop.org" target="_blank">libva@lists.freedesktop.org</a><br>
<b>Subject:</b> [Libva] Problem with vaapipostproc element</span><span lang="EN-US"><u></u><u></u></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">Hello,<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I have a problem related to element called vaapipostproc. The problem is as follows:<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I have a pipeline and for specified time intervals I attempt to change pipeline dynamically in order to change write location of the filesink. I have implemented
this functionality and everything works well in case I do not use vaapipostproc element. If I use vaapipostproc element, the pipeline crashes unexpectedly. An error message is thrown from the element vaapipostproc: "failed to create output video buffer" at
the immediate point the pipeline is changed dynamically. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">My pipeline change strategy is as follows:<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">0. Create a bin and place mux and filesink elements inside it. Moreover create a queue element before this bin.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">1. For specified intervals, fire a clock event and catch it in a handler<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">2. In clock handler place a blocking probe to queue's source pad and register a blocking data handler<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">3. In blocking data handler unlink queue and bin and send an EOS event to bin's sink pad. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">4. Handle EOS event on bin element. In this handler, destroy bin, create a new bin with an updated filesink location connect bin with queue. And remove the blocking
probe. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">This strategy for dynamic pipeline changing works well when I do not use vaapipostproc element. But I want to do encoding process on GPU and using vaapipostproc
is a mandatory. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I have inspected the source code gstvaapipostproc.c for element vaapipostproc and It seem the problem is related to function named as
<b><i>GstBuffer * create_output_buffer(GstVaapiPostproc*)</i></b>. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">You can find output messages when GST_DEBUG environment variable is set to 4. In addition to this, you can also find my implementation to change the pipeline
dynamically. The implementation won't compile, I just want to share a pseudo-code for your well understanding of the implementation. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I want to share the most interesting part of the out.log file:<u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">0:00:11.075920072 [334m11325 [00m 0x1dcc720 [36mINFO [00m
<b><i>[00m vaapipostproc gstvaapipluginbase.c:532:gst_vaapi_plugin_base_decide_allocation:<GPUPostProcessing> [00m no pool or doesn't support GstVaapiVideoMeta, making new pool</i></b><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">0:00:11.076231088 [334m11325 [00m 0x1dcc720 [36mINFO [00m [00m vaapivideomemory gstvaapivideomemory.c:627:gst_vaapi_video_allocator_new: [00m has direct-rendering
for NV12 surfaces: no<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><b><i><span lang="EN-US">0:00:11.076568949 [334m11325 [00m 0x1dcc720 [31;01mERROR [00m [00m vaapipostproc gstvaapipostproc.c:412:create_output_buffer: [00m failed to
create output video buffer</span></i></b><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">0:00:11.076723161 [334m11325 [00m 0x1dcc720 [33;01mWARN [00m [00m basetransform gstbasetransform.c:2130:gst_base_transform_handle_buffer:<GPUPostProcessing>
[00m could not get buffer from pool: error<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">0:00:11.076773273 [334m11325 [00m 0x1dcc720 [36mINFO [00m
<b><i>[00m task gsttask.c:300:gst_task_func:<queue0:src> [00m Task going to paused</i></b><u></u><u></u></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">How can I solve this problem? Any help will be appreciated. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Regards.<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"><br>
Engin FIRAT<u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><br clear="all">
<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US">-- <u></u><u></u></span></p>
<div>
<div>
<div>
<p class="MsoNormal"><b><span lang="EN-US" style="font-family:"Arial","sans-serif"">Engin FIRAT</span></b><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:7.5pt">Adoniss Yaz</span><span style="font-size:7.5pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:7.5pt">l</span><span style="font-size:7.5pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:7.5pt">m
Bili</span><span style="font-size:7.5pt;font-family:"MS Mincho"">ş</span><span lang="EN-US" style="font-size:7.5pt">im </span><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:7.5pt">Elektronik </span><span lang="EN-US" style="font-size:10.0pt">Ara</span><span style="font-size:10.0pt;font-family:"MS Mincho"">ş</span><span lang="EN-US" style="font-size:10.0pt">t</span><span style="font-size:10.0pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:10.0pt">rma
Geli</span><span style="font-size:10.0pt;font-family:"MS Mincho"">ş</span><span lang="EN-US" style="font-size:10.0pt">tirme </span><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:7.5pt">Limited </span><span style="font-size:7.5pt;font-family:"MS Mincho"">Ş</span><span lang="EN-US" style="font-size:7.5pt">irketi</span><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p style="margin:0cm;margin-bottom:.0001pt"><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#222222"><a href="tel:%2B90%20506%20884%2082%2007" value="+905068848207" target="_blank">+90 506 884 82 07</a> (Mobile)</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:7.5pt">ODTÜ Teknokent, </span><span lang="EN-US" style="font-size:10.0pt">ODTÜ-Hal</span><span style="font-size:10.0pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:10.0pt">c</span><span style="font-size:10.0pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:10.0pt">
Yaz</span><span style="font-size:10.0pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:10.0pt">l</span><span style="font-size:10.0pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:10.0pt">mevi </span><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"MS Mincho"">İ</span><span lang="EN-US" style="font-size:10.0pt">nön</span><span style="font-size:10.0pt">ü<span lang="EN-US"> Bulvar</span></span><span style="font-size:10.0pt;font-family:"MS Mincho"">ı</span><span lang="EN-US" style="font-size:10.0pt">
/ ANKARA (Address)</span><span lang="EN-US"><u></u><u></u></span></p>
</div>
<div>
<p style="margin:0cm;margin-bottom:.0001pt"><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#222222"><img border="0" src="http://gdurl.com/hml0"></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#222222"><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
</div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><b style="font-family:arial,helvetica,sans-serif"><span style="border-collapse:collapse;font-family:arial,sans-serif">Engin FIRAT</span></b></div><span><div><font size="1">Adoniss Yazılım Bilişim </font></div><div><font size="1">Elektronik </font><span style="font-size:x-small">Araştırma Geliştirme </span></div><div><font size="1">Limited Şirketi</font></div><div><p style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;margin:0px"><font size="1">+90 506 884 82 07 (Mobile)</font></p><font size="1">ODTÜ Teknokent, </font><span style="font-size:x-small">ODTÜ-Halıcı Yazılımevi </span></div><div><span style="font-size:x-small">İnönü Bulvarı / ANKARA (Address)</span></div><div><p style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;margin:0px"><font size="1"><img src="http://gdurl.com/hml0"><br></font></p></div></span></div></div>
</div>