Dear all,<br><br>I have the next problem.
<br><br>When 3 contents are played and afterwards only 1 is performed using gnlcomposition an error appears, but if i remove one by one it works:
<br>
Content A start 0 dur 10
<br>
Content B start 0 dur 10
<br>
Content C start 0 dur 10
<br>
Content D start 10 dur 10
<br>
-&gt; Seek Error
<br>
ERROR         gnlcomposition gnlcomposition.c:1724:no_more_pads_object_cb:&lt;video-composition&gt; Sending seek event failed!
<br><br>
Content A start 0 dur 10
<br>
Content B start 0 dur 9
<br>
Content C start 0 dur 8
<br>
Content D start 10 dur 10
<br>
-&gt; Ok!
<br>
<br>In my case I have a gnloperation that places each content
through the xpos, ypos and zorder attributes of the sinkpad of the
videomixer.
<br><br>gnloperation         = gst_element_factory_make (&quot;gnloperation&quot;, &quot;general-video-composition&quot;);
<br>videomixer                = gst_element_factory_make (&quot;videomixer&quot;, &quot;general-video-adder&quot;);
<br><br>gst_bin_add (GST_BIN (gnloperation), videomixer);
<br>g_object_set(G_OBJECT (gnloperation),
<br>                    &quot;expandable&quot;, TRUE,
<br>                    &quot;priority&quot;, 0,
<br>    NULL);
<br>gst_bin_add (GST_BIN (gnlcomposition), gnloperation);
<br><br>g_signal_connect(gnloperation, &quot;input-priority-changed&quot;, G_CALLBACK (onPriorityChange), data);
<br><br>In the onPriorityChange function I assign to each video/image content the xpos, ypos and zorder parameters mentioned before.
<br><br>So, as far as i understood it is supposed that the videomixer
should manage properly the request_new_pad and release_request_pad
calls, and no redefinition would be needed.
<br><br>However, depending on the number of performed contents the Seek Error appears or not.<br><br>After trying to understand the problem from the code of videomixer,
gnlcomposition and gnloperation, I think that the problem could be the
&quot;gnloperation&quot; element.
<br><br>In the code of of the function &quot;synchronize_sinks&quot; there is a call to:
<br>    /* Remove pad */
<br>    /* FIXME, which one do we remove ? :) */
<br>    remove_sink_pad (operation, NULL);
<br><br>I think that this is the tricky point, because this function seems not be prepared to remove several sinks at once, so gstreamer try to seek a sinkpad that in fact doesn&#39;t have any source &quot;connected&quot;.
<br><br>So a loop inside &quot;synchronize_sinks&quot; could fix it.
<br>    /* Find unlinked sinkpads */
<br>    GstPad * sinkpad;
<br>    while ((sinkpad = get_unlinked_sink_ghost_pad (operation)) != NULL) {
<br>       remove_sink_pad (operation, sinkpad);
<br>    }
<br><br>According to the GST_DEBUG log I think that the function
&quot;synchronize_sinks&quot; is not called for each multimedia content removed
by the composition, but once, so this code could fix it.
<br><br>But, again the Content D try to find a videomixer sink pad and it can&#39;t be found, so the pipeline freezes.<br><br>Could someone provide any idea to fix this situation?<br><br>Thank you in advance.
<br><br>Best Regards,
<br><br>Angel
                
                
        
        <br clear="all"><br>-- <br><pre>Ángel Martín Navas<br>Investigador / Researcher<br>Televisión Digital y Servicios Multimedia / Digital TV &amp; Multimedia Services<br><br>Vicomtech - Visual Interaction Communication Technologies<br>
Mikeletegi Pasealekua, 57 - Parque Tecnológico<br>20009 Donostia - San Sebastián - Spain<br>Tel: +[34] 943 30 92 30<br>Fax: +[34] 943 30 93 93<br>e-mail: <a href="mailto:amartin@vicomtech.org" target="_blank">amartin@vicomtech.org</a><br>
<a href="http://www.vicomtech.org" target="_blank">www.vicomtech.org</a><br><br>*** member of IK4 Research Alliance ****<br><a href="http://www.ik4.es/" target="_blank">www.ik4.es</a><br>*** member of GraphicsMedia.net ****<br>
<a href="http://www.graphicsmedia.net">www.graphicsmedia.net</a><br><br><br><br>-----------------------------------------------------<br>Vicomtech is an ISO 9001:2000 certified institute<br>-----------------------------------------------------<br>
<br>Este mensaje se dirige exclusivamente a su destinatario. <br>La información incluida en el presente correo es confidencial sometida a <br>secreto profesional, especialmente en lo que respecta a los datos de <br>carácter personal, cuya divulgación está prohibida, en virtud de la <br>
legislación vigente. Si usted no es el destinatario legítimo y lo ha <br>recibido por error o tiene conocimiento del mismo por cualquier motivo, <br>le rogamos que nos lo comunique por este medio y proceda a destruirlo o <br>
borrarlo. En todo caso abstengase de utilizar, reproducir, alterar, <br>archivar o comunicar a terceros el presente mensaje así como los ficheros <br>anexos, todo ello bajo pena de incurrir en responsabilidades legales. <br>
Cualquier opinión contenida en este correo es exclusiva de su autor y no <br>representa necesariamente la opinión de ASOCIACIÓN CENTRO DE TECNOLOGÍAS <br>DE INTERACCIÓN VISUAL Y COMUNICACIONES VICOMTECH (en adelante Vicomtech-IK4) <br>
El emisor no garantiza la integridad, rapidez o seguridad del presente correo, <br>ni se responsabiliza de posibles perjuicios derivados de la captura, <br>incorporaciones de virus o cualesquiera otras manipulaciones efectuadas por terceros.<br>
Con motivo de la entrada en vigor de la Ley 34/2002, de 11 de julio, de <br>Servicios de la Sociedad de la Información y de Comercio Electrónico, le <br>informamos que pueden revocar en cualquier momento, de forma sencilla y gratuita, <br>
el consentimiento para la recepción de mensajes de <a href="http://vicomtech.org" target="_blank">vicomtech.org</a> en <a href="mailto:info.lopd@vicomtech.org" target="_blank">info.lopd@vicomtech.org</a>.<br></pre><br>