during my test with gstreamer app for win32 I've used a fakesrc with an handoff function in which I obtain some mpeg4 fragment that is put into a gstbuffer.
I've also used the right plugin to visualize the mpeg4 packet on my directdraw sink.
It works weel only for the first 2-3 packets received and then the refresh of the images stops and, if I run in debug mode, I can see that some thread stop its execution but there isn't gstreamer thread.
This is main part of may handoff:

static void cb_handoff (GstElement *fakesrc,
        GstBuffer  *buffer,
        GstPad     *pad,
        gpointer    user_data)
       MyClass* dlg=(MyClass*)user_data;

        //fg_image is the object that contains the corretc (I've checked it...) mpeg4 fragment
       //dt contains the time of the fragment
       //dlg->t is a struct tm that allows to obtain time_t

        dlg->t.tm_hour=dt.hour ;

        buffer->timestamp = mktime(&dlg->t);//GST_CLOCK_TIME_NONE;
        buffer->duration = GST_CLOCK_TIME_NONE;

        //fg_image->pixel_ptr contains the mpeg4 image buffer

       //I've also tried withot this unref/ref but nothing to do...



So, all I see is the first frame, sometimes 2 or 3 and then all is stop but I can't catch any error message in my bus_call (I've set this function with gst_bus_add_watch).Moreover if I send an eof message then gstreamer stop nicely like it was always in execution.
My question is about the general usage of fakesrc: there's the need of some kind of buffering or some kind of buffer control?

Thank's and best regards.

Riccardo Corona