sorry, I sent the wrong code, this is the right:<div><br></div><div> <br><div><br><div class="gmail_quote">On Tue, Oct 27, 2009 at 8:24 PM, Gabriel Duarte <span dir="ltr"><<a href="mailto:confusosk8@gmail.com">confusosk8@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>hello all, I'm trying to convert this pipeline to C, but I'm having problems....</div><div><br></div><div>
<br></div><div>gst-launch-0.10 dv1394src num-buffers=8192 ! dvdemux ! dvdec ! xvimagesink sync=false</div>
<div><br></div><div><br></div><div>I've wrote this code:</div><div><br></div><div><br></div><div><span style="font-family:'Times New Roman';font-size:medium"><pre>#include <string.h> /* for memset () */
#include <gst/gst.h>
static void
cb_handoff (GstElement *fakesrc,
         GstBuffer *buffer,
         GstPad *pad,
         gpointer user_data)
{
static gboolean white = FALSE;
/* this makes the image black/white */
memset (GST_BUFFER_DATA (buffer), white ? 0xff : 0x0,
         GST_BUFFER_SIZE (buffer));
white = !white;
}
gint
main (gint argc,
gchar *argv[])
{
GstElement *pipeline, *fakesrc, *flt, *conv, *videosink;
GMainLoop *loop;
/* init GStreamer */
gst_init (&argc, &argv);
loop = g_main_loop_new (NULL, FALSE);
/* setup pipeline */
pipeline = gst_pipeline_new ("pipeline");
fakesrc = gst_element_factory_make ("fakesrc", "source");
flt = gst_element_factory_make ("capsfilter", "flt");
conv = gst_element_factory_make ("ffmpegcolorspace", "conv");
videosink = gst_element_factory_make ("xvimagesink", "videosink");
/* setup */
g_object_set (G_OBJECT (flt), "caps",
                gst_caps_new_simple ("video/x-raw-rgb",
                                 "width", G_TYPE_INT, 384,
                                 "height", G_TYPE_INT, 288,
                                 "framerate", GST_TYPE_FRACTION, 1, 1,
                                 "bpp", G_TYPE_INT, 16,
                                 "depth", G_TYPE_INT, 16,
                                 "endianness", G_TYPE_INT, G_BYTE_ORDER,
                                 NULL), NULL);
gst_bin_add_many (GST_BIN (pipeline), fakesrc, flt, conv, videosink, NULL);
gst_element_link_many (fakesrc, flt, conv, videosink, NULL);
/* setup fake source */
g_object_set (G_OBJECT (fakesrc),
                "signal-handoffs", TRUE,
                "sizemax", 384 * 288 * 2,
                "sizetype", 2, NULL);
g_signal_connect (fakesrc, "handoff", G_CALLBACK (cb_handoff), NULL);
/* play */
gst_element_set_state (pipeline, GST_STATE_PLAYING);
g_main_loop_run (loop);
/* clean up */
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (GST_OBJECT (pipeline));
return 0;
}</pre><pre><br></pre><pre><br></pre><pre>Any ideas???</pre><pre>Best regards :D</pre></span></div><div><br></div><div><br></div>
<div><br></div><br clear="all"><br>-- <br>Gabriel Duarte<br>Linux User #471185<br>Rio de Janeiro - RJ<br><a href="http://kinuxlinux.org/gabriel_duarte" target="_blank">http://kinuxlinux.org/gabriel_duarte</a><br><br>Phones:<br>
(55) (21) 9463-7760 /*Mobile*/<br>
(55) (21) 2464-9302 /*Home*/<br>(55) (21) 2529-5080 /*Work*/<br><br><br>-----BEGIN GEEK CODE BLOCK-----<br>Version: 3.12<br>GCS d- s: a--- C++ UL+++ P L++++ E- W+ N++ o++ K++ w--- <br>O- M- V- PS++ PE++ Y PGP- t++ 5-- X+++ R tv++ b++ DI+ D++ <br>
G++ e+ h* r+ y++++ <br>------END GEEK CODE BLOCK------<br>
</blockquote></div><br><br clear="all"><br>-- <br>Gabriel Duarte<br>Linux User #471185<br>Rio de Janeiro - RJ<br><a href="http://kinuxlinux.org/gabriel_duarte">http://kinuxlinux.org/gabriel_duarte</a><br><br>Phones:<br>(55) (21) 9463-7760 /*Mobile*/<br>
(55) (21) 2464-9302 /*Home*/<br>(55) (21) 2529-5080 /*Work*/<br><br><br>-----BEGIN GEEK CODE BLOCK-----<br>Version: 3.12<br>GCS d- s: a--- C++ UL+++ P L++++ E- W+ N++ o++ K++ w--- <br>O- M- V- PS++ PE++ Y PGP- t++ 5-- X+++ R tv++ b++ DI+ D++ <br>
G++ e+ h* r+ y++++ <br>------END GEEK CODE BLOCK------<br>
</div></div>