[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-devel
Subject:    [gst-devel] Fwd: Re:  Internal data flow error
From:       Stefan Kost <ensonic () hora-obscura ! de>
Date:       2007-03-29 9:12:12
Message-ID: 20070329111212.7nzxx09egw8gkwgs () horde ! hora-obscura ! de
[Download RAW message or body]

This message is in MIME format.


Riccardo,

please write to the list :)

Stefan

----- Weitergeleitete Nachricht von coronariccardo@gmail.com -----
      Datum: Tue, 27 Mar 2007 12:13:33 +0200
        Von: Riccardo Corona <coronariccardo@gmail.com>
Antwort an: Riccardo Corona <coronariccardo@gmail.com>
    Betreff: Re: [gst-devel] Internal data flow error
         An: Stefan Kost <ensonic@hora-obscura.de>

I've solved the internal data flow error, it was a stupid mistake : simply
miss an element into the "gst_element_link_many" function.
But now I've a nother problem.
I'm writing a gst application in which I'm trying to decode mpeg4 packet
received from a net source, I've already done the methods to connect to the
mpe4 source and get the compressed data, now I'm only find a way to decode
this stream with gst.
  I've the function to obtain a mpeg4 packet and I would use it into the
fakesrc callback.
Here some snippet of code, note that the callback actually do nothing;

............................

pipeline = gst_pipeline_new ("pipeline");
     fakesrc = gst_element_factory_make ("fakesrc", "source");
     decoder = gst_element_factory_make
("ffdec_mpeg4","mpeg4-decoder");/*("theoradec",
"theora-decoder");*/
     videoscale = gst_element_factory_make ("videoscale", "scaling-video");
     par = gst_element_factory_make ("capsfilter", "dimens");

     g_object_set (G_OBJECT(par), "caps",
       gst_caps_new_simple( "video/x-raw-yuv",
         "width", G_TYPE_INT, 720,
         "height", G_TYPE_INT, 576,NULL),
       NULL );

     conv = gst_element_factory_make ("ffmpegcolorspace", "converter");
     videosink = gst_element_factory_make ("directdrawsink", "directdraw");
     if (!pipeline || !fakesrc || !decoder || !videoscale || !par || !conv ||
!videosink) {
         g_print ("One element could not be created\n");
         return -1;
     }

     /* put all elements in a bin */
     gst_bin_add_many (GST_BIN (pipeline),
             fakesrc, decoder,videoscale ,par, conv, videosink, NULL);

     /* link together */
     gst_element_link_many (fakesrc,decoder,videoscale, par, conv, videosink,
NULL);

//this's for information message about errors
     bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
     gst_bus_add_watch (bus, bus_call, loop);
     gst_object_unref (bus);

     g_object_set (G_OBJECT (fakesrc),
         "signal-handoffs", TRUE,
         "sizemax", 720 * 288 * 2,
         "sizetype", 2, NULL);

//cb_handoff is my callback
     g_signal_connect (fakesrc, "handoff", G_CALLBACK (cb_handoff), pParam);

............................

When I execute this code gst return this message "Internal GStreamer Error:
negotiation problem".


2007/3/19, Stefan Kost <ensonic@hora-obscura.de >:
>
> Hi Riccardo,
>
> you need to start you app using
> GST_DEBUG="*:3" ./app
>
> then it look for lines with WARN. A bit above should be the cause. If it
> does
> not show anything you can raise the log level ("*:4", it goes up to 5).
> The
> reason can be anything from missing conversion elements, to real bugs. It
> would
> help if you can tell what you are doing.
>
> Stefan
>
> Riccardo Corona wrote:
> > Hi,
> > someone knows the most common sources for the error "Internal data flow
> > error"?
> >
> > --
> > Riccardo Corona
> >
> >
> > ------------------------------------------------------------------------
> >
> >
> -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share
> your
> > opinions on IT & business topics through brief surveys-and earn cash
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


-- 
Riccardo Corona


----- Ende der weitergeleiteten Nachricht -----


[Attachment #3 (multipart/alternative)]
This message is in MIME format.


I've solved the internal data flow error, it was a stupid mistake : simply
miss an element into the "gst_element_link_many" function.
But now I've a nother problem.
I'm writing a gst application in which I'm trying to decode mpeg4 packet
received from a net source, I've already done the methods to connect to the
mpe4 source and get the compressed data, now I'm only find a way to decode
this stream with gst.
 I've the function to obtain a mpeg4 packet and I would use it into the
fakesrc callback.
Here some snippet of code, note that the callback actually do nothing;

............................

pipeline = gst_pipeline_new ("pipeline");
    fakesrc = gst_element_factory_make ("fakesrc", "source");
    decoder = gst_element_factory_make
("ffdec_mpeg4","mpeg4-decoder");/*("theoradec",
"theora-decoder");*/
    videoscale = gst_element_factory_make ("videoscale", "scaling-video");
    par = gst_element_factory_make ("capsfilter", "dimens");

    g_object_set (G_OBJECT(par), "caps",
      gst_caps_new_simple( "video/x-raw-yuv",
        "width", G_TYPE_INT, 720,
        "height", G_TYPE_INT, 576,NULL),
      NULL );

    conv = gst_element_factory_make ("ffmpegcolorspace", "converter");
    videosink = gst_element_factory_make ("directdrawsink", "directdraw");
    if (!pipeline || !fakesrc || !decoder || !videoscale || !par || !conv ||
!videosink) {
        g_print ("One element could not be created\n");
        return -1;
    }

    /* put all elements in a bin */
    gst_bin_add_many (GST_BIN (pipeline),
            fakesrc, decoder,videoscale ,par, conv, videosink, NULL);

    /* link together */
    gst_element_link_many (fakesrc,decoder,videoscale, par, conv, videosink,
NULL);

//this's for information message about errors
    bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
    gst_bus_add_watch (bus, bus_call, loop);
    gst_object_unref (bus);

    g_object_set (G_OBJECT (fakesrc),
        "signal-handoffs", TRUE,
        "sizemax", 720 * 288 * 2,
        "sizetype", 2, NULL);

//cb_handoff is my callback
    g_signal_connect (fakesrc, "handoff", G_CALLBACK (cb_handoff), pParam);

............................

When I execute this code gst return this message "Internal GStreamer Error:
negotiation problem".


2007/3/19, Stefan Kost <ensonic@hora-obscura.de >:
>
> Hi Riccardo,
>
> you need to start you app using
> GST_DEBUG="*:3" ./app
>
> then it look for lines with WARN. A bit above should be the cause. If it
> does
> not show anything you can raise the log level ("*:4", it goes up to 5).
> The
> reason can be anything from missing conversion elements, to real bugs. It
> would
> help if you can tell what you are doing.
>
> Stefan
>
> Riccardo Corona wrote:
> > Hi,
> > someone knows the most common sources for the error "Internal data flow
> > error"?
> >
> > --
> > Riccardo Corona
> >
> >
> > ------------------------------------------------------------------------
> >
> >
> -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share
> your
> > opinions on IT & business topics through brief surveys-and earn cash
> >
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


-- 
Riccardo Corona

[Attachment #6 (text/html)]

I&#39;ve solved the internal data flow error, it was a stupid mistake : simply miss \
an element into the &quot;gst_element_link_many&quot; function.<br>But now I&#39;ve a \
nother problem.<br>I&#39;m writing a gst application in which I&#39;m trying to \
decode mpeg4 packet received from a net source, I&#39;ve already done the methods to \
connect to the mpe4 source and get the compressed data, now I&#39;m only find a way \
to decode this stream with gst.<br>&nbsp;I&#39;ve the function to obtain a mpeg4 \
packet and I would use it into the fakesrc callback.
<br>Here some snippet of code, note that the callback actually do \
nothing;<br><br>............................<br><br>pipeline = gst_pipeline_new \
(&quot;pipeline&quot;);<br>&nbsp;&nbsp;&nbsp; fakesrc = gst_element_factory_make \
(&quot;fakesrc&quot;, &quot;source&quot;); <br>&nbsp;&nbsp;&nbsp; decoder = \
gst_element_factory_make (&quot;ffdec_mpeg4&quot;,&quot;mpeg4-decoder&quot;<div \
id="mb_2">);/*(&quot;theoradec&quot;, \
&quot;theora-decoder&quot;);*/<br>&nbsp;&nbsp;&nbsp; videoscale = \
gst_element_factory_make (&quot;videoscale&quot;, &quot;scaling-video&quot;); \
<br>&nbsp;&nbsp;&nbsp; par = gst_element_factory_make (&quot;capsfilter&quot;, \
&quot;dimens&quot;);<br><br>&nbsp;&nbsp;&nbsp; g_object_set (G_OBJECT(par), \
&quot;caps&quot;,<br>&nbsp;&nbsp;&nbsp; &nbsp; gst_caps_new_simple( \
&quot;video/x-raw-yuv&quot;,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; \
&quot;width&quot;, G_TYPE_INT, 720, <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; \
&quot;height&quot;, G_TYPE_INT, 576,NULL),<br>&nbsp;&nbsp;&nbsp; &nbsp; NULL \
);<br><br>&nbsp;&nbsp;&nbsp; conv = gst_element_factory_make \
(&quot;ffmpegcolorspace&quot;, &quot;converter&quot;);<br>&nbsp;&nbsp;&nbsp; \
videosink = gst_element_factory_make (&quot;directdrawsink&quot;, \
&quot;directdraw&quot;); <br>&nbsp;&nbsp;&nbsp; if (!pipeline || !fakesrc || !decoder \
|| !videoscale || !par || !conv || !videosink) {<br>&nbsp;&nbsp;&nbsp; \
&nbsp;&nbsp;&nbsp; g_print (&quot;One element could not be \
created\n&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return \
-1;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; /* put all elements in a bin */ \
<br>&nbsp;&nbsp;&nbsp; gst_bin_add_many (GST_BIN (pipeline),<br>&nbsp;&nbsp;&nbsp; \
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fakesrc, decoder,videoscale ,par, conv, \
videosink, NULL);<br><br>&nbsp;&nbsp;&nbsp; /* link together */<br>&nbsp;&nbsp;&nbsp; \
gst_element_link_many (fakesrc,decoder,videoscale, par, conv, videosink, NULL); \
<br><br>//this&#39;s for information message about errors<br>&nbsp;&nbsp;&nbsp; bus = \
gst_pipeline_get_bus (GST_PIPELINE (pipeline));<br>&nbsp;&nbsp;&nbsp; \
gst_bus_add_watch (bus, bus_call, loop);<br>&nbsp;&nbsp;&nbsp; gst_object_unref \
(bus);<br><br>&nbsp;&nbsp;&nbsp; g_object_set (G_OBJECT (fakesrc), \
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &quot;signal-handoffs&quot;, \
TRUE,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &quot;sizemax&quot;, 720 * 288 * \
2,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &quot;sizetype&quot;, 2, \
NULL);<br><br>//cb_handoff is my callback<br>&nbsp;&nbsp;&nbsp; g_signal_connect \
(fakesrc, &quot;handoff&quot;, G_CALLBACK (cb_handoff), pParam); \
<br><br>............................<br><br>When I execute this code gst return this \
message &quot;Internal GStreamer Error: negotiation \
problem&quot;.</div><br><br><div><span class="gmail_quote">2007/3/19, Stefan Kost \
&lt; <a href="mailto:ensonic@hora-obscura.de" target="_blank" onclick="return \
top.js.OpenExtLink(window,event,this)">ensonic@hora-obscura.de \
</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid \
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi \
Riccardo,<br><br>you need to start you app using<br> GST_DEBUG=&quot;*:3&quot; ./app \
<br><br>then it look for lines with WARN. A bit above should be the cause. If it \
does<br>not show anything you can raise the log level (&quot;*:4&quot;, it goes up to \
5). The<br>reason can be anything from missing conversion elements, to real bugs. It \
would <br>help if you can tell what you are doing.<br><br>Stefan<br><br>Riccardo \
Corona wrote:<br>&gt; Hi,<br>&gt; someone knows the most common sources for the error \
&quot;Internal data flow<br>&gt; error&quot;?<br>&gt;<br>&gt; -- <br>&gt; Riccardo \
Corona<br>&gt;<br>&gt;<br>&gt; \
------------------------------------------------------------------------<br>&gt;<br>&gt; \
-------------------------------------------------------------------------<br>&gt; \
Take Surveys. Earn Cash. Influence the Future of IT <br>&gt; Join \
SourceForge.net&#39;s Techsay panel and you&#39;ll get the chance to share \
your<br>&gt; opinions on IT &amp; business topics through brief surveys-and earn \
cash<br>&gt; <a href="http://www.techsay.com/default.php?page=join.php&amp;p=sourceforge&amp;CID=DEVDEV" \
target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://www.techsay.com/default.php?page=join.php&amp;p=sourceforge&amp;CID=DEVDEV</a><br>&gt;<br>&gt;<br>&gt; \
------------------------------------------------------------------------<br>&gt;<br>&gt; \
_______________________________________________ <br>&gt; gstreamer-devel mailing \
list<br>&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net" target="_blank" \
onclick="return top.js.OpenExtLink(window,event,this)">gstreamer-devel@lists.sourceforge.net</a><br>&gt; \
 <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" \
target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> \
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br><br></blockquote></div><br><br \
clear="all"><br>-- <br>Riccardo Corona



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic