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. I9;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 createdn"); 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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">gstreamer-devel lists.sourceforge.net >
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
-- Riccardo Corona
|