<br><br><div class="gmail_quote">2011/10/31 Stefan Sauer <span dir="ltr">&lt;<a href="mailto:ensonic@hora-obscura.de">ensonic@hora-obscura.de</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<u></u>

  
    
  
  <div bgcolor="#ffffff" text="#000000"><div class="im">
    On 10/30/2011 02:15 AM, Rossana Guerra wrote:
    <blockquote type="cite">Hi Stefan, I saw and run the code. I noticed the
      differences, mostly in the &quot;on-pad-added&quot; function.<br>
      You create a fakesink where the &quot;flow&quot; doesn&#39;t come from video,
      then you create a bin from the parent element and got the static
      pad from it for linking. I didn&#39;t get the meaning of this
      technique.<br>
    </blockquote>
    <br></div>
    There where two distinct bugs. The first was to use src1 twice for
    the pad-aaded callback if I recall right. </div></blockquote><div><br>or you meant dec1?<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000">The 2nd is that in the
    pad-addded callback you get pads for audio and video. You want to
    terminate the audio-pads with a fakesink and only connect the
    video-pads to videomixer. If you want the adio too, you&#39;ll need to
    use a similar setup like videomixer, but using adder.<br>
    <br>
    You will still need to ensure that both video-outputs are in a
    compatible format for videomxer. I did not had time to analyze
    further. Use the GST_DEBUG_BIN_TO_DOT_FILE to understand whats in
    the resulting pipeline and where it goes wrong.<br><font color="#888888">
    <br>
    Stefan</font><div><div></div><div class="h5"><br></div></div></div></blockquote><div>trying to do this<br><br>thanks <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"><div><div class="h5">
    <br>
    <blockquote type="cite">I have an &quot;internal data flow error&quot; message. Here&#39;s
      the output when I run with debug option as you pointed out.<br>
      <br>
      Debug information:<br>
      <br>
      rossana@Studio:~/CodeBlocks/ctrl/bin/Debug$ GST_DEBUG=&quot;*:2&quot; ./ctrl
      &quot;/home/rossana/video1.avi&quot; &quot;/home/rossana/video2.avi&quot;<br>
      Inicio...<br>
      Creando...<br>
      Creando pipeline...<br>
      Creando 1...<br>
      Playing...<br>
      Dynamic pad created: video/x-raw-rgb<br>
      ... linking video<br>
      Dynamic pad created: audio/x-raw-int<br>
      ... dropping audio<br>
      0:00:00.064628890  4083      0x157f070 <br>
      WARN  basetransform
      gstbasetransform.c:1211:gst_base_transform_setcaps:&lt;alfa1&gt;
      transform could not transform video/x-raw-yuv, width=(int)720, <br>
      height=(int)528, framerate=(fraction)25/1, format=(fourcc)I420,
      interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 in
      anything we support<br>
      Dynamic pad created: video/x-raw-rgb<br>
      ... linking video<br>
      Dynamic pad created: audio/x-raw-int<br>
      ... dropping audio<br>
      0:00:00.076359290  4083      0x1545b80 <br>
      WARN  ffmpeg
      gstffmpegdec.c:2241:gst_ffmpegdec_frame:&lt;ffdec_mpeg40&gt;
      ffdec_mpeg4: decoding error (len: -1, have_data: 0)<br>
      <br>
      <br>
      I am trying to play 2 .avi files, I have no problem to visualize
      them with Banshee or any other player, so I think I got the right
      codecs in my computer.<br>
      Both videos have the same properties values:<br>
      <br>
      *Video:<br>
      <br>
      Dimension 720x528<br>
      Codec DivX MPEG-4 Version 5<br>
      25 fps<br>
      bit rate: N/A<br>
      <br>
      * Sound: <br>
      Codec MPEG1 Audio, layer<br>
      Channels Stereo<br>
      Frec 44100Hz<br>
      bit rate 127 kpbs<br>
      <br>
      I&#39;ll keep trying, and thanks for your suggestions. Nice weekend.<br>
      <br>
      Rossana<br>
      <br>
      <br>
      <br>
      <div class="gmail_quote">2011/10/28 Rossana Guerra <span dir="ltr">&lt;<a href="mailto:guerra.rossana@gmail.com" target="_blank">guerra.rossana@gmail.com</a>&gt;</span><br>
        <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
          Hi Stefan, I didn&#39;t receive the email, I even looked into the
          spam folder, just in case.... <br>
          <br>
          <div class="gmail_quote">
            <div>2011/10/28 Stefan Sauer <span dir="ltr">&lt;<a href="mailto:ensonic@hora-obscura.de" target="_blank">ensonic@hora-obscura.de</a>&gt;</span><br>
              <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
                <div bgcolor="#ffffff" text="#000000">
                  <div> On 10/28/2011 12:40 AM, Rossana Guerra wrote:
                    <blockquote type="cite">Sorry Stefan, where is the
                      code to compare with?</blockquote>
                  </div>
                  I forwarded the mail to your personal address. Out
                  mailing list tried to be super smart and stipped
                  attached *sourcecode*.
                  <div><br>
                    <br>
                    <blockquote type="cite">..I downloaded the doc (pdf)
                      and the order remains the same.<br>
                    </blockquote>
                  </div>
                  I pushed the fix to the API docs to git. That does not
                  regenerate the pdf. To be sure which pdf exactly are
                  you talking about?<br>
                </div>
              </blockquote>
            </div>
            <div><br>
              <br>
              The pdf asociated with the html file, the one that has
              this chapter:<br>
              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dparams-parameters.html" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dparams-parameters.html</a><br>

              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/manual.pdf" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/manual.pdf</a>
              <br>
              <br>
              thanks<br>
              <br>
              <br>
            </div>
            <div>
              <div>
              </div>
              <div>
                <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
                  <div bgcolor="#ffffff" text="#000000"><font color="#888888"> <br>
                      Stefan</font>
                    <div>
                      <div><br>
                        <br>
                        <blockquote type="cite">Regards and thanks<br>
                          <br>
                          <br>
                          <div class="gmail_quote">2011/10/27 Stefan
                            Sauer <span dir="ltr">&lt;<a href="mailto:ensonic@hora-obscura.de" target="_blank">ensonic@hora-obscura.de</a>&gt;</span><br>
                            <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
                              <div bgcolor="#ffffff" text="#000000"> Hi,<br>
                                On 10/27/2011 01:37 AM, Rossana Guerra
                                wrote:
                                <blockquote type="cite">Well the error
                                  type disappeared, it was due where the
                                  place the 
                                  gst_controller_set_control_source
                                  (ctrl, &quot;position&quot;, GST_CONTROL_SOURCE
                                  (csource)) sentence was.<br>
                                  The first time I did it according the
                                  documentation, at the end of the value
                                  sets of the control source. It seems
                                  it isn&#39;t the right place, I changed
                                  the sentences right after creating the
                                  controller, it seems it works. Hope it
                                  helps someone else.<br>
                                </blockquote>
                                I fix the wrong order of calls in the
                                docs.<br>
                                <br>
                                <blockquote type="cite"> In this way:<br>
                                </blockquote>
                                <br>
                                I made a few more fixes - compare your
                                source and mine in a diff viewer (e.g.
                                meld). You still need to do more stuff
                                to ensure both sources can be mixed (run
                                it as GST_DEBUG=&quot;*:2&quot; ./ctrl
                                &lt;file1&gt; &lt;file2&gt; to see the
                                warnings).<br>
                                <br>
                                Stefan<br>
                                <br>
                                <blockquote type="cite"><br>
                                  GstInterpolationControlSource *
                                  csource =
                                  gst_interpolation_control_source_new();<br>
                                  <br>
gst_interpolation_control_source_set_interpolation_mode(csource,GST_INTERPOLATE_LINEAR);<br>
                                  gst_controller_set_control_source
                                  (ctrl, &quot;position&quot;, GST_CONTROL_SOURCE
                                  (csource));<br>
                                  <br>
                                  (Now the runtime is another! but one
                                  less at least)<br>
                                  <br>
                                  Specially thanks to Stefan!<br>
                                  <br>
                                  <br>
                                  Here is the complete code:<br>
                                  <br>
                                  #include &lt;gst.h&gt;<br>
                                  #include
                                  &lt;controller/gstcontroller.h&gt;<br>
                                  <br>
                                  #include &lt;iostream&gt;<br>
                                  #include &lt;string.h&gt;<br>
                                  <br>
                                  using namespace std;<br>
                                  <br>
                                  // Manejador de errores<br>
                                  static gboolean bus_call (GstBus *bus,
                                  GstMessage *msg, gpointer data)<br>
                                  {<br>
                                      GMainLoop *loop = (GMainLoop *)
                                  data;<br>
                                  <br>
                                      switch (GST_MESSAGE_TYPE (msg))<br>
                                      {<br>
                                      case GST_MESSAGE_EOS:<br>
                                          g_print (&quot;Final de stream\n&quot;);<br>
                                          g_main_loop_quit (loop);<br>
                                          break;<br>
                                      case GST_MESSAGE_ERROR:<br>
                                      {<br>
                                          gchar *debug;<br>
                                          GError *error;<br>
                                          gst_message_parse_error (msg,
                                  &amp;error, &amp;debug);<br>
                                          g_free (debug);<br>
                                          g_printerr (&quot;Error: %s\n&quot;,
                                  error-&gt;message);<br>
                                          g_error_free (error);<br>
                                          g_main_loop_quit (loop);<br>
                                          break;<br>
                                      }<br>
                                      default:<br>
                                          break;<br>
                                      }<br>
                                      return TRUE;<br>
                                  }<br>
                                  <br>
                                  static void on_pad_added (GstElement
                                  *element, GstPad *pad, gpointer  data)<br>
                                  {<br>
                                    GstPad *sinkpad = NULL;<br>
                                    GstElement * elemento = (GstElement
                                  *) data;<br>
                                  <br>
                                  <br>
                                    /* Ahora linkeo el pad de comp con
                                  sink pad */<br>
                                    g_print (&quot;Dynamic pad created,
                                  linking queue\n&quot;);<br>
                                    sinkpad = gst_element_get_static_pad
                                  (elemento, &quot;sink&quot;);<br>
                                  <br>
                                  <br>
                                    gst_pad_link (pad, sinkpad);<br>
                                    gst_object_unref(sinkpad);<br>
                                  <br>
                                  }<br>
                                  <br>
                                  int main(int argc, char *argv[])<br>
                                  {<br>
                                  <br>
                                    GMainLoop *loop = NULL;<br>
                                  <br>
                                    GstElement *src1,
                                  *src2,*dec1,*dec2,*alfa1,*color,*smpte,*queue,*sink;<br>
                                    GstBus *bus;<br>
                                  <br>
                                    gdouble duracion = 500.0;<br>
                                    gint transicion = 1;<br>
                                  <br>
                                    cout &lt;&lt; &quot;Inicio...&quot; &lt;&lt;
                                  endl;<br>
                                  <br>
                                      /* init GStreamer */<br>
                                    gst_init (&amp;argc, &amp;argv);<br>
                                    bool iniciado = gst_controller_init
                                  (&amp;argc, &amp;argv);<br>
                                  <br>
                                     loop = g_main_loop_new (NULL,
                                  FALSE);<br>
                                    //gint transicion = 1;<br>
                                  <br>
                                    /* make sure we have input */<br>
                                    if (argc != 3) {<br>
                                      g_print (&quot;Usage: %s
                                  &lt;filename1&gt;
                                  &lt;filename2&gt;\n&quot;, argv[0]);<br>
                                      return -1;<br>
                                    }<br>
                                  <br>
                                    cout &lt;&lt; &quot;Creando...&quot; &lt;&lt;
                                  endl;<br>
                                    src1 =
                                  gst_element_factory_make(&quot;filesrc&quot;,
                                  &quot;src1&quot;);<br>
                                   
                                  g_object_set(G_OBJECT(src1),&quot;location&quot;,argv[1],
                                  NULL);<br>
                                  <br>
                                    src2 =
                                  gst_element_factory_make(&quot;filesrc&quot;,
                                  &quot;src2&quot;);<br>
                                   
                                  g_object_set(G_OBJECT(src1),&quot;location&quot;,argv[2],
                                  NULL);<br>
                                  <br>
                                    GstElement *pipeline =
                                  gst_pipeline_new (&quot;video-player&quot;);<br>
                                  <br>
                                    dec1 =
                                  gst_element_factory_make(&quot;decodebin2&quot;,&quot;dec1&quot;);<br>
                                  <br>
                                    dec2 =
                                  gst_element_factory_make(&quot;decodebin2&quot;,&quot;dec2&quot;);<br>
                                  <br>
                                    cout &lt;&lt; &quot;Creando pipeline...&quot;
                                  &lt;&lt; endl;<br>
                                  <br>
                                    bus = gst_pipeline_get_bus
                                  (GST_PIPELINE (pipeline));<br>
                                    gst_bus_add_watch (bus, bus_call,
                                  loop);<br>
                                    gst_object_unref (bus);<br>
                                  <br>
                                    alfa1   = gst_element_factory_make
                                  (&quot;alpha&quot;,&quot;alfa1&quot;);<br>
                                    smpte  = gst_element_factory_make
                                  (&quot;smptealpha&quot;,&quot;smpte&quot;);<br>
                                    g_object_set(smpte,&quot;type&quot;,
                                  transicion, NULL);<br>
                                    color  = gst_element_factory_make
                                  (&quot;ffmpegcolorspace&quot;, &quot;color&quot;);<br>
                                    GstElement * mixer  =
                                  gst_element_factory_make(&quot;videomixer&quot;,
                                  &quot;mixer&quot;);<br>
                                  <br>
                                    if ((!alfa1) || (!smpte) || (!color)
                                  || (!mixer))<br>
                                    {<br>
                                        g_printerr (&quot;Alguno de los
                                  elementos del Bin no pudo ser creado.
                                  Saliendo\n&quot;);<br>
                                       return 0;<br>
                                    }<br>
                                  <br>
                                  <br>
                                    cout &lt;&lt; &quot;Creando 1...&quot;
                                  &lt;&lt; endl;<br>
                                  <br>
                                    // Agrego Controlador<br>
                                  <br>
                                    GstController * ctrl =
                                  gst_object_control_properties(G_OBJECT(smpte),
                                  &quot;position&quot;,NULL);<br>
                                  <br>
                                    if (ctrl == NULL)<br>
                                    {      <br>
                                          GST_WARNING (&quot;No puede
                                  controlar el elemento fuente\n&quot;);<br>
                                          return 1;<br>
                                    }<br>
                                  <br>
                                    // Todo valor GValue debe
                                  inicializarse en 0<br>
                                    GValue val_double = { 0, };<br>
                                    g_value_init (&amp;val_double,
                                  G_TYPE_DOUBLE);<br>
                                  <br>
                                    // Creo la fuente al controlador y
                                  la asocio al controlador<br>
                                    // Seteo modo de interpolacion<br>
                                  <br>
                                    GstInterpolationControlSource *
                                  csource =
                                  gst_interpolation_control_source_new();<br>
                                  <br>
                                   
gst_interpolation_control_source_set_interpolation_mode(csource,GST_INTERPOLATE_LINEAR);<br>
                                    gst_controller_set_control_source
                                  (ctrl, &quot;position&quot;, GST_CONTROL_SOURCE
                                  (csource));<br>
                                  <br>
                                    // Seteo primer valor<br>
                                    g_value_set_double(&amp;val_double,
                                  0.0);<br>
                                   
                                  gst_interpolation_control_source_set(csource,(0
                                  * GST_MSECOND),&amp;val_double);<br>
                                  <br>
                                    // Seteo segundo valor<br>
                                    g_value_set_double(&amp;val_double,
                                  1.0);<br>
                                   
gst_interpolation_control_source_set(csource,(duracion*GST_MSECOND),&amp;val_double);<br>
                                  <br>
                                    //gst_controller_set_control_source
                                  (ctrl, &quot;position&quot;, GST_CONTROL_SOURCE
                                  (csource));<br>
                                  <br>
                                    g_object_unref (csource);<br>
                                    g_value_unset (&amp;val_double);<br>
                                  <br>
                                    g_signal_connect (G_OBJECT (dec1),
                                  &quot;pad-added&quot;, G_CALLBACK
                                  (on_pad_added),alfa1);<br>
                                    g_signal_connect (G_OBJECT (dec2),
                                  &quot;pad-added&quot;, G_CALLBACK
                                  (on_pad_added),smpte);<br>
                                  <br>
                                    queue =
                                  gst_element_factory_make(&quot;queue&quot;,
                                  &quot;queue&quot;);<br>
                                    sink  =
                                  gst_element_factory_make(&quot;autovideosink&quot;,
                                  &quot;sink&quot;);<br>
                                  <br>
                                    gst_bin_add_many (GST_BIN
                                  (pipeline),src1, src2, dec1, dec2,
                                  alfa1, smpte, mixer, queue, color,
                                  sink, NULL);<br>
                                  <br>
                                    gst_element_link (src1,dec1);<br>
                                    gst_element_link (src2,dec2);<br>
                                    gst_element_link (alfa1,mixer);<br>
                                    gst_element_link (smpte,mixer);<br>
                                    gst_element_link (mixer,queue);<br>
                                    gst_element_link (queue,sink);<br>
                                  <br>
                                  <br>
                                    /* now run */<br>
                                    gst_element_set_state (pipeline,
                                  GST_STATE_PLAYING);<br>
                                    cout &lt;&lt; &quot;Playing...&quot; &lt;&lt;
                                  endl;<br>
                                    g_main_loop_run (loop);<br>
                                  <br>
                                      /* also clean up */<br>
                                    gst_element_set_state (pipeline,
                                  GST_STATE_NULL);<br>
                                    gst_object_unref (GST_OBJECT
                                  (pipeline));<br>
                                  <br>
                                    return 0;<br>
                                  }<br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <div class="gmail_quote">2011/10/26
                                    Rossana Guerra <span dir="ltr">&lt;<a href="mailto:guerra.rossana@gmail.com" target="_blank">guerra.rossana@gmail.com</a>&gt;</span><br>
                                    <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">Sorry,
                                      I had some copy/paste errors.
                                      Here&#39;s the code, the runtime error
                                      is:<br>
                                      <br>
                                       CRITICAL **:
                                      gst_interpolation_control_source_set:
                                      assertion `G_VALUE_TYPE (value) ==
                                      self-&gt;priv-&gt;type&#39; failed.<br>
                                      <br>
                                      I changed the duracion value
                                      variable unit to second (replacing
                                      500 with 5), and I tryed with
                                      GST_SECOND insted, but it didn&#39;t
                                      work.<br>
                                      So I wrote it back to GST_MSECOND.<br>
                                      <br>
                                      The code ΅without&quot; typing errors:
                                      <div><br>
                                        <br>
                                        #include &lt;gst.h&gt;<br>
                                        #include
                                        &lt;controller/gstcontroller.h&gt;<br>
                                        <br>
                                        #include &lt;iostream&gt;<br>
                                      </div>
                                      #include &lt;string.h&gt;<br>
                                      <br>
                                      <br>
                                      using namespace std;<br>
                                      <br>
                                      // Manejador de errores
                                      <div>
                                        <div><br>
                                          static gboolean bus_call
                                          (GstBus *bus, GstMessage *msg,
                                          gpointer data)<br>
                                          {<br>
                                              GMainLoop *loop =
                                          (GMainLoop *) data;<br>
                                          <br>
                                              switch (GST_MESSAGE_TYPE
                                          (msg))<br>
                                              {<br>
                                              case GST_MESSAGE_EOS:<br>
                                                  g_print (&quot;Final de
                                          stream\n&quot;);<br>
                                                  g_main_loop_quit
                                          (loop);<br>
                                                  break;<br>
                                              case GST_MESSAGE_ERROR:<br>
                                              {<br>
                                                  gchar *debug;<br>
                                                  GError *error;<br>
                                                 
                                          gst_message_parse_error (msg,
                                          &amp;error, &amp;debug);<br>
                                                  g_free (debug);<br>
                                                  g_printerr (&quot;Error:
                                          %s\n&quot;, error-&gt;message);<br>
                                                  g_error_free (error);<br>
                                                  g_main_loop_quit
                                          (loop);<br>
                                                  break;<br>
                                              }<br>
                                              default:<br>
                                                  break;<br>
                                              }<br>
                                              return TRUE;<br>
                                          }<br>
                                          <br>
                                          static void on_pad_added
                                          (GstElement *element, GstPad
                                          *pad, gpointer  data)<br>
                                          {<br>
                                            GstPad *sinkpad = NULL;<br>
                                            GstElement * elemento =
                                          (GstElement *) data;<br>
                                          <br>
                                          <br>
                                            /* Ahora linkeo el pad de
                                          comp con sink pad */<br>
                                            g_print (&quot;Dynamic pad
                                          created, linking queue\n&quot;);<br>
                                            sinkpad =
                                          gst_element_get_static_pad
                                          (elemento, &quot;sink&quot;);<br>
                                          <br>
                                          <br>
                                            gst_pad_link (pad, sinkpad);<br>
                                            gst_object_unref(sinkpad);<br>
                                          <br>
                                          }<br>
                                          <br>
                                          <br>
                                          int main(int argc, char
                                          *argv[])<br>
                                          {<br>
                                          <br>
                                            GMainLoop *loop = NULL;<br>
                                          <br>
                                            GstElement *src1,
                                          *src2,*dec1,*dec2,*alfa1,*color,*smpte,*queue,*sink;<br>
                                            GstBus *bus;<br>
                                          <br>
                                        </div>
                                      </div>
                                        guint duracion = 500;<br>
                                        gint transicion = 1;<br>
                                      <br>
                                        cout &lt;&lt; &quot;Inicio...&quot;
                                      &lt;&lt; endl;
                                      <div><br>
                                        <br>
                                            /* init GStreamer */<br>
                                          gst_init (&amp;argc,
                                        &amp;argv);<br>
                                          bool iniciado =
                                        gst_controller_init (&amp;argc,
                                        &amp;argv);<br>
                                         <br>
                                          loop = g_main_loop_new (NULL,
                                        FALSE);<br>
                                         <br>
                                      </div>
                                      <div>  if (argc != 3) {<br>
                                            g_print (&quot;Usage: %s
                                        &lt;filename1&gt;
                                        &lt;filename2&gt;\n&quot;, argv[0]);<br>
                                            return -1;<br>
                                          }<br>
                                        <br>
                                      </div>
                                        cout &lt;&lt; &quot;Creando...&quot;
                                      &lt;&lt; endl;
                                      <div> <br>
                                          src1 =
                                        gst_element_factory_make(&quot;filesrc&quot;,
                                        &quot;src1&quot;);<br>
                                         
                                        g_object_set(G_OBJECT(src1),&quot;location&quot;,argv[1],
                                        NULL);<br>
                                        <br>
                                          src2 =
                                        gst_element_factory_make(&quot;filesrc&quot;,
                                        &quot;src2&quot;);<br>
                                         
                                        g_object_set(G_OBJECT(src1),&quot;location&quot;,argv[2],
                                        NULL);<br>
                                        <br>
                                          GstElement *pipeline =
                                        gst_pipeline_new
                                        (&quot;video-player&quot;);<br>
                                        <br>
                                          dec1 =
                                        gst_element_factory_make(&quot;decodebin2&quot;,&quot;dec1&quot;);<br>
                                        <br>
                                          dec2 =
                                        gst_element_factory_make(&quot;decodebin2&quot;,&quot;dec2&quot;);<br>
                                        <br>
                                          cout &lt;&lt; &quot;Creando
                                        pipeline...&quot; &lt;&lt; endl;<br>
                                        <br>
                                          bus = gst_pipeline_get_bus
                                        (GST_PIPELINE (pipeline));<br>
                                          gst_bus_add_watch (bus,
                                        bus_call, loop);<br>
                                          gst_object_unref (bus);<br>
                                        <br>
                                          alfa1   =
                                        gst_element_factory_make
                                        (&quot;alpha&quot;,&quot;alfa1&quot;);<br>
                                          smpte  =
                                        gst_element_factory_make
                                        (&quot;smptealpha&quot;,&quot;smpte&quot;);<br>
                                          g_object_set(smpte,&quot;type&quot;,
                                        transicion, NULL);<br>
                                          color  =
                                        gst_element_factory_make
                                        (&quot;ffmpegcolorspace&quot;, &quot;color&quot;);<br>
                                          GstElement * mixer  =
                                        gst_element_factory_make(&quot;videomixer&quot;,
                                        &quot;mixer&quot;);<br>
                                        <br>
                                          if ((!alfa1) || (!smpte) ||
                                        (!color) || (!mixer))<br>
                                          {<br>
                                              g_printerr (&quot;Alguno de los
                                        elementos del Bin no pudo ser
                                        creado. Saliendo\n&quot;);<br>
                                             return 0;<br>
                                          }<br>
                                          <br>
                                        <br>
                                      </div>
                                        // Agrego Controlador
                                      <div><br>
                                        <br>
                                          GstController * ctrl =
                                        gst_object_control_properties(G_OBJECT(smpte),
                                        &quot;position&quot;,NULL);<br>
                                        <br>
                                          if (ctrl == NULL)<br>
                                          {<br>
                                                GST_WARNING (&quot;No puede
                                        controlar el elemento
                                        fuente\n&quot;);<br>
                                                return 1;<br>
                                          }<br>
                                        <br>
                                          // Todo valor GValue debe
                                        inicializarse en 0<br>
                                      </div>
                                        GValue val_int = { 0, };<br>
                                        g_value_init (&amp;val_int,
                                      G_TYPE_INT);
                                      <div><br>
                                        <br>
                                          // Set interpolation mode<br>
                                        <br>
                                          GstInterpolationControlSource
                                        * csource =
                                        gst_interpolation_control_source_new();<br>
                                        <br>
                                         
gst_interpolation_control_source_set_interpolation_mode(csource,GST_INTERPOLATE_LINEAR);<br>
                                        <br>
                                          // Seteo primer valor<br>
                                      </div>
                                        g_value_set_int(&amp;val_int,
                                      0);<br>
                                       
                                      gst_interpolation_control_source_set(csource,(0
                                      * GST_MSECOND),&amp;val_int);<br>
                                      <br>
                                        // Seteo segundo valor<br>
                                        g_value_set_int (&amp;val_int,
                                      1);<br>
                                       
                                      gst_interpolation_control_source_set(csource,(duracion*GST_MSECOND),&amp;val_int);


                                      <div><br>
                                        <br>
                                         
                                        gst_controller_set_control_source
                                        (ctrl, &quot;position&quot;,
                                        GST_CONTROL_SOURCE (csource));<br>
                                        <br>
                                          g_object_unref (csource);<br>
                                      </div>
                                        g_value_unset (&amp;val_int);
                                      <div><br>
                                        <br>
                                          g_signal_connect (G_OBJECT
                                        (dec1), &quot;pad-added&quot;, G_CALLBACK
                                        (on_pad_added),alfa1);<br>
                                          g_signal_connect (G_OBJECT
                                        (dec2), &quot;pad-added&quot;, G_CALLBACK
                                        (on_pad_added),smpte);<br>
                                        <br>
                                          queue =
                                        gst_element_factory_make(&quot;queue&quot;,
                                        &quot;queue&quot;);<br>
                                          sink  =
                                        gst_element_factory_make(&quot;autovideosink&quot;,
                                        &quot;sink&quot;);<br>
                                        <br>
                                          gst_bin_add_many (GST_BIN
                                        (pipeline),src1, src2, dec1,
                                        dec2, alfa1, smpte, mixer,
                                        queue, color, sink, NULL);<br>
                                        <br>
                                          gst_element_link (src1,dec1);<br>
                                          gst_element_link (src2,dec2);<br>
                                          gst_element_link
                                        (alfa1,mixer);<br>
                                          gst_element_link
                                        (smpte,mixer);<br>
                                          gst_element_link
                                        (mixer,queue);<br>
                                          gst_element_link (queue,sink);<br>
                                        <br>
                                        <br>
                                          /* now run */<br>
                                          gst_element_set_state
                                        (pipeline, GST_STATE_PLAYING);<br>
                                          cout &lt;&lt; &quot;Playing...&quot;
                                        &lt;&lt; endl;<br>
                                          g_main_loop_run (loop);<br>
                                        <br>
                                            /* also clean up */<br>
                                          gst_element_set_state
                                        (pipeline, GST_STATE_NULL);<br>
                                          gst_object_unref (GST_OBJECT
                                        (pipeline));<br>
                                        <br>
                                          return 0;<br>
                                        }<br>
                                        <br>
                                        <br>
                                        <br>
                                        <br>
                                        <br>
                                        <br>
                                        <br>
                                        <br>
                                      </div>
                                      <div>
                                        <div>
                                          <div class="gmail_quote">2011/10/26
                                            Rossana Guerra <span dir="ltr">&lt;<a href="mailto:guerra.rossana@gmail.com" target="_blank">guerra.rossana@gmail.com</a>&gt;</span><br>
                                            <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">Where
                                              it says guint duration =
                                              500.0 it should say guint
                                              duration = 500.
                                              Nonetheless, the error
                                              persists.
                                              <div>
                                                <div><br>
                                                  <br>
                                                  <div class="gmail_quote">2011/10/26

                                                    Rossana Guerra <span dir="ltr">&lt;<a href="mailto:guerra.rossana@gmail.com" target="_blank">guerra.rossana@gmail.com</a>&gt;</span><br>
                                                    <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">HI Stefan,
                                                      thanks for your
                                                      help, I changed
                                                      the variable type
                                                      from gdouble to
                                                      guint, same error.
                                                      <br>
                                                      <br>
                                                      Here&#39;s the whole
                                                      code example:<br>
                                                      <br>
                                                      <br>
                                                      #include
                                                      &lt;gst.h&gt;<br>
                                                      #include
                                                      &lt;controller/gstcontroller.h&gt;<br>
                                                      #include
                                                      &lt;iostream&gt;<br>
                                                      <br>
                                                      <br>
                                                      using namespace
                                                      std;<br>
                                                      <br>
                                                      // Error handler<br>
                                                      static gboolean
                                                      bus_call (GstBus
                                                      *bus, GstMessage
                                                      *msg, gpointer
                                                      data)<br>
                                                      {<br>
                                                          GMainLoop
                                                      *loop = (GMainLoop
                                                      *) data;<br>
                                                      <br>
                                                          switch
                                                      (GST_MESSAGE_TYPE
                                                      (msg))<br>
                                                          {<br>
                                                          case
                                                      GST_MESSAGE_EOS:<br>
                                                              g_print
                                                      (&quot;Final de
                                                      stream\n&quot;);<br>
                                                             
                                                      g_main_loop_quit
                                                      (loop);<br>
                                                              break;<br>
                                                          case
                                                      GST_MESSAGE_ERROR:<br>
                                                          {<br>
                                                              gchar
                                                      *debug;<br>
                                                              GError
                                                      *error;<br>
                                                             
                                                      gst_message_parse_error
                                                      (msg, &amp;error,
                                                      &amp;debug);<br>
                                                              g_free
                                                      (debug);<br>
                                                              g_printerr
                                                      (&quot;Error: %s\n&quot;,
                                                      error-&gt;message);<br>
                                                             
                                                      g_error_free
                                                      (error);<br>
                                                             
                                                      g_main_loop_quit
                                                      (loop);<br>
                                                              break;<br>
                                                          }<br>
                                                          default:<br>
                                                              break;<br>
                                                          }<br>
                                                          return TRUE;<br>
                                                      }<br>
                                                      <br>
                                                      static void
                                                      on_pad_added
                                                      (GstElement
                                                      *element, GstPad
                                                      *pad, gpointer 
                                                      data)<br>
                                                      {<br>
                                                        GstPad *sinkpad
                                                      = NULL;<br>
                                                        GstElement *
                                                      elemento =
                                                      (GstElement *)
                                                      data;<br>
                                                      <br>
                                                      <br>
                                                        /* Ahora linkeo
                                                      el pad de comp con
                                                      sink pad */<br>
                                                        g_print
                                                      (&quot;Dynamic pad
                                                      created, linking
                                                      queue\n&quot;);<br>
                                                        sinkpad =
                                                      gst_element_get_static_pad
                                                      (elemento,
                                                      &quot;sink&quot;);<br>
                                                      <br>
                                                      <br>
                                                        gst_pad_link
                                                      (pad, sinkpad);<br>
                                                       
                                                      gst_object_unref(sinkpad);<br>
                                                      <br>
                                                      }<br>
                                                      <br>
                                                      <br>
                                                      int main(int argc,
                                                      char *argv[])<br>
                                                      {<br>
                                                      <br>
                                                        GMainLoop *loop
                                                      = NULL;<br>
                                                      <br>
                                                        GstElement
                                                      *src1,
                                                      *src2,*dec1,*dec2,*alfa1,*color,*smpte,*queue,*sink;<br>
                                                        GstBus *bus;<br>
                                                      <br>
                                                        guint duracion =
                                                      500.0;<br>
                                                        guint transicion
                                                      = 1;<br>
                                                       <br>
                                                      <br>
                                                          /* init
                                                      GStreamer */<br>
                                                        gst_init
                                                      (&amp;argc,
                                                      &amp;argv);<br>
                                                        bool iniciado =
                                                      gst_controller_init

                                                      (&amp;argc,
                                                      &amp;argv);<br>
                                                      <br>
                                                        <br>
                                                      <br>
                                                        loop =
                                                      g_main_loop_new
                                                      (NULL, FALSE);  <br>
                                                      <br>
                                                        /* make sure we
                                                      have input */<br>
                                                        if (argc != 3) {<br>
                                                          g_print
                                                      (&quot;Usage: %s
                                                      &lt;filename1&gt;
                                                      &lt;filename2&gt;\n&quot;,
                                                      argv[0]);<br>
                                                          return -1;<br>
                                                        }<br>
                                                      <br>
                                                        src1 =
                                                      gst_element_factory_make(&quot;filesrc&quot;,
                                                      &quot;src1&quot;);<br>
                                                       
                                                      g_object_set(G_OBJECT(src1),&quot;location&quot;,argv[1],
                                                      NULL);<br>
                                                      <br>
                                                        src2 =
                                                      gst_element_factory_make(&quot;filesrc&quot;,
                                                      &quot;src2&quot;);<br>
                                                       
                                                      g_object_set(G_OBJECT(src1),&quot;location&quot;,argv[2],
                                                      NULL);<br>
                                                      <br>
                                                        GstElement
                                                      *pipeline =
                                                      gst_pipeline_new
                                                      (&quot;video-player&quot;);<br>
                                                      <br>
                                                        dec1 =
                                                      gst_element_factory_make(&quot;decodebin2&quot;,&quot;dec1&quot;);<br>
                                                      <br>
                                                        dec2 =
                                                      gst_element_factory_make(&quot;decodebin2&quot;,&quot;dec2&quot;);<br>
                                                      <br>
                                                        cout &lt;&lt;
                                                      &quot;Creando
                                                      pipeline...&quot;
                                                      &lt;&lt; endl;<br>
                                                      <br>
                                                        bus =
                                                      gst_pipeline_get_bus
                                                      (GST_PIPELINE
                                                      (pipeline));<br>
                                                       
                                                      gst_bus_add_watch
                                                      (bus, bus_call,
                                                      loop);<br>
                                                        gst_object_unref
                                                      (bus);<br>
                                                      <br>
                                                        alfa1   =
                                                      gst_element_factory_make
                                                      (&quot;alpha&quot;,&quot;alfa1&quot;);<br>
                                                        smpte  =
                                                      gst_element_factory_make
                                                      (&quot;smptealpha&quot;,&quot;smpte&quot;);
                                                      <br>
                                                       
                                                      g_object_set(smpte,&quot;type&quot;,
                                                      transicion, NULL);<br>
                                                        color  =
                                                      gst_element_factory_make
                                                      (&quot;ffmpegcolorspace&quot;,
                                                      &quot;color&quot;);<br>
                                                        GstElement *
                                                      mixer  =
                                                      gst_element_factory_make(&quot;videomixer&quot;,
                                                      &quot;mixer&quot;);<br>
                                                      <br>
                                                        if ((!alfa1) ||
                                                      (!smpte) ||
                                                      (!color) ||
                                                      (!mixer))<br>
                                                        {<br>
                                                            g_printerr
                                                      (&quot;Alguno de los
                                                      elementos del Bin
                                                      no pudo ser
                                                      creado.
                                                      Saliendo\n&quot;);<br>
                                                           return 0;<br>
                                                        }<br>
                                                       <br>
                                                      <br>
                                                        // Controller
                                                      creation
                                                      <div><br>
                                                        <br>
                                                          GstController
                                                        * ctrl =
                                                        gst_object_control_properties(G_OBJECT(smpte),
&quot;position&quot;,NULL);<br>
                                                        <br>
                                                          if (ctrl ==
                                                        NULL)<br>
                                                          {<br>
                                                               
                                                        GST_WARNING (&quot;No
                                                        puede controlar
                                                        el elemento
                                                        fuente\n&quot;);<br>
                                                                return
                                                        1;<br>
                                                          }<br>
                                                        <br>
                                                          // Todo valor
                                                        GValue debe
                                                        inicializarse en
                                                        0<br>
                                                          GValue
                                                        val_double = {
                                                        0, };<br>
                                                          g_value_init
                                                        (&amp;val_double,
                                                        G_TYPE_DOUBLE);<br>
                                                          <br>
                                                      </div>
                                                        // Set
                                                      interpolation mode
                                                      <div> <br>
                                                        <br>
                                                         
                                                        GstInterpolationControlSource
                                                        * csource =
                                                        gst_interpolation_control_source_new();<br>
                                                        <br>
                                                         
gst_interpolation_control_source_set_interpolation_mode(csource,GST_INTERPOLATE_LINEAR);<br>
                                                        <br>
                                                          // Seteo
                                                        primer valor<br>
                                                         
                                                        g_value_set_double(&amp;val_double,
                                                        0.0);<br>
                                                         
                                                        gst_interpolation_control_source_set(csource,(0
                                                        *
                                                        GST_MSECOND),&amp;val_double);<br>
                                                        <br>
                                                          // Seteo
                                                        segundo valor<br>
                                                         
                                                        g_value_set_double
                                                        (&amp;val_double,
                                                        1.0);<br>
                                                         
gst_interpolation_control_source_set(csource,(duracion*GST_MSECOND),&amp;val_double);<br>
                                                        <br>
                                                         
                                                        gst_controller_set_control_source
                                                        (ctrl,
                                                        &quot;position&quot;,
                                                        GST_CONTROL_SOURCE
                                                        (csource));<br>
                                                        <br>
                                                          g_object_unref
                                                        (csource);<br>
                                                          g_value_unset
(&amp;val_double);<br>
                                                          <br>
                                                      </div>
                                                        g_signal_connect
                                                      (G_OBJECT (dec1),
                                                      &quot;pad-added&quot;,
                                                      G_CALLBACK
                                                      (on_pad_added),alfa1);<br>
                                                        g_signal_connect
                                                      (G_OBJECT (dec2),
                                                      &quot;pad-added&quot;,
                                                      G_CALLBACK
                                                      (on_pad_added),smpte);<br>
                                                      <br>
                                                        queue =
                                                      gst_element_factory_make(&quot;queue&quot;,
                                                      &quot;queue&quot;);<br>
                                                        sink  =
                                                      gst_element_factory_make(&quot;autovideosink&quot;,
                                                      &quot;sink&quot;);<br>
                                                      <br>
                                                        gst_bin_add_many
                                                      (GST_BIN
                                                      (pipeline),src1,
                                                      src2, dec1, dec2,
                                                      alfa1, smpte,
                                                      mixer, queue,
                                                      color, sink,
                                                      NULL);<br>
                                                      <br>
                                                        gst_element_link
                                                      (src1,dec1);<br>
                                                        gst_element_link
                                                      (src2,dec2);<br>
                                                        gst_element_link
                                                      (alfa1,mixer);<br>
                                                        gst_element_link
                                                      (smpte,mixer);<br>
                                                        gst_element_link
                                                      (mixer,queue);<br>
                                                        gst_element_link
                                                      (queue,sink);<br>
                                                      <br>
                                                      <br>
                                                        /* now run */<br>
                                                       
                                                      gst_element_set_state
                                                      (pipeline,
                                                      GST_STATE_PLAYING);<br>
                                                        cout &lt;&lt;
                                                      &quot;Playing...&quot;
                                                      &lt;&lt; endl;<br>
                                                        g_main_loop_run
                                                      (loop);<br>
                                                      <br>
                                                          /* also clean
                                                      up */<br>
                                                       
                                                      gst_element_set_state
                                                      (pipeline,
                                                      GST_STATE_NULL);<br>
                                                        gst_object_unref
                                                      (GST_OBJECT
                                                      (pipeline));<br>
                                                      <br>
                                                        return 0;
                                                      <div>
                                                        <div><br>
                                                          }<br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          <div class="gmail_quote">2011/10/26

                                                          Stefan Sauer <span dir="ltr">&lt;<a href="mailto:ensonic@hora-obscura.de" target="_blank">ensonic@hora-obscura.de</a>&gt;</span><br>
                                                          <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
                                                          <div bgcolor="#ffffff" text="#000000">
                                                          <div> On
                                                          10/26/2011
                                                          03:12 AM,
                                                          Rossana Guerra
                                                          wrote:
                                                          <blockquote type="cite">
                                                          <pre>Hi I trying to control the position property of a smptealpha element. It
controls the opacity of the alpha channel,</pre>
                                                          </blockquote>
                                                          </div>
                                                          no, position
                                                          controls the
                                                          transition of
                                                          the fade.
                                                          0.0:input1,
                                                          1.0:input2.
                                                          <div><br>
                                                          <blockquote type="cite">
                                                          <pre> it varies from 0.0 to 1.0.
The duration of this setting is 500ms.

I am working around this problem, it happens at runtime, I can&#39;t figure out
what it&#39;s wrong.
</pre>
                                                          </blockquote>
                                                          <br>
                                                          </div>
                                                          What is not
                                                          working? The
                                                          code snippet
                                                          looks more of
                                                          less okay.
                                                          Maybe you can
                                                          post a full
                                                          standalone
                                                          example.<br>
                                                          <br>
                                                          Stefan
                                                          <div><br>
                                                          <blockquote type="cite">
                                                          <pre>Thanks and regards,

Rossana


Here&#39;s the code;
_____________


gst_interpolation_control_source_set: assertion `G_VALUE_TYPE (value) ==
self-&gt;priv-&gt;type&#39; failed

// Agrego Controlador

  gdouble duracion = 500;
</pre>
                                                          </blockquote>
                                                          </div>
                                                          guint64
                                                          duracion =
                                                          500;<br>
                                                          <blockquote type="cite">
                                                          <div>
                                                          <pre>  GstController * ctrl = gst_object_control_properties(G_OBJECT(smpte),
&quot;position&quot;,NULL);

  if (ctrl == NULL)
  {
        GST_WARNING (&quot;No puede controlar el elemento fuente\n&quot;);
        return 0;
  }


  // Todo valor GValue debe inicializarse en 0
  GValue val_double = { 0, };
  g_value_init (&amp;val_double, G_TYPE_DOUBLE);


  // Seteo modo de interpolacion

  GstInterpolationControlSource * csource =
gst_interpolation_control_source_new();


gst_interpolation_control_source_set_interpolation_mode(csource,GST_INTERPOLATE_LINEAR);

  // Seteo primer valor
  g_value_set_double(&amp;val_double, 0.0);
  gst_interpolation_control_source_set(csource,(0 *
GST_MSECOND),&amp;val_double);

  // Seteo segundo valor
  g_value_set_double (&amp;val_double, 1.0);

gst_interpolation_control_source_set(csource,(duracion*GST_MSECOND),&amp;val_double);

  gst_controller_set_control_source (ctrl, &quot;position&quot;, GST_CONTROL_SOURCE
(csource));

  g_object_unref (csource);
  g_value_unset (&amp;val_double);

</pre>
                                                          </div>
                                                          <pre><fieldset></fieldset>
_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
                                                          </blockquote>
                                                          <br>
                                                          </div>
                                                          <br>
_______________________________________________<br>
                                                          gstreamer-devel
                                                          mailing list<br>
                                                          <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
                                                          <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
                                                          <br>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                        </div>
                                                      </div>
                                                    </blockquote>
                                                  </div>
                                                  <br>
                                                </div>
                                              </div>
                                            </blockquote>
                                          </div>
                                          <br>
                                        </div>
                                      </div>
                                    </blockquote>
                                  </div>
                                  <br>
                                  <pre><fieldset></fieldset>
_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
                                </blockquote>
                                <br>
                              </div>
                              <br>
_______________________________________________<br>
                              gstreamer-devel mailing list<br>
                              <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
                              <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
                              <br>
                            </blockquote>
                          </div>
                          <br>
                          <pre><fieldset></fieldset>
_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
                        </blockquote>
                        <br>
                      </div>
                    </div>
                  </div>
                  <br>
                  _______________________________________________<br>
                  gstreamer-devel mailing list<br>
                  <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
                  <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
                  <br>
                </blockquote>
              </div>
            </div>
          </div>
          <br>
        </blockquote>
      </div>
      <br>
      <pre><fieldset></fieldset>
_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br>