gst_pad_push API is flushing

vindi503 vindi503 at gmail.com
Tue Dec 17 23:46:42 PST 2013


Hi Tim,

Thanks for the reply,

Yes, Its one of my avbdemuxer pad i.e video pad.

I will just add few lines of code about what i am doing before calling
gst_pad_push API
 
  stream = g_malloc(sizeof(QtDemuxStream));
  stream->pad = g_malloc(sizeof(GstPad));

  stream->pad =
        gst_pad_new_from_static_template (&gst_qtdemux_videosrc_template,
"video_0");

gst_pad_push(stream->pad, buffer);

here buffer is of size 1024. And gst_qtdemux_videosrc_template is created in
the beginning of my program.

static GstStaticPadTemplate gst_qtdemux_videosrc_template =
GST_STATIC_PAD_TEMPLATE ("video_%u",
    GST_PAD_SRC,
    GST_PAD_SOMETIMES,
    GST_STATIC_CAPS_ANY);

In the Init function, below line is called
gst_element_class_add_pad_template (gstelement_class,
      gst_static_pad_template_get (&gst_qtdemux_videosrc_template));

As you mentioned to call gst_pad_set_active, If I add
gst_pad_set_active(stream->pad, TRUE); I
get error: " Data is not Pushed " which is an indication of not getting
linked itself.

Thanks,
Vinay






Tim Müller wrote
> On Tue, 2013-12-17 at 01:45 -0800, vindi503 wrote:
> 
> Hi Vinay,
> 
>> In my current (GStreamer)project I have an application for source end and
>> destination end where it transmit video data.
>> 
>> Source End:
>> I have integrated source end application to qtmux plugin and I have the
>> below pipeline
>> 
>> gst-launch-1.0 filesrc location=input.mp4 ! qtdemux name=demux
>> demux.video_0
>> ! queue ! h264parse ! qtmux name=mux mux.video_0
>> 
>> Destination End:
>> I have integrated Destination end application to qtdemuxer plugin(renamed
>> to
>> avbdemuxer) and I have the below pipeline
>> 
>> gst-launch-1.0 avbdemuxer ! qtdemux name=demux demux.video_0 ! queue !
>> avdec_h264 ! autovideosink
>> 
>> In avbdemuxer plugin I have used gst_pad_push API to push the video
>> buffer
>> to downstream elements, But I constantly receive the error saying that
>> Pad
>> is Flushing, i.e it returns -2
> 
> First, check the GST_DEBUG log to see which pad exactly is flushing. I
> am going to assume it's one of your avbdemuxer pads.
> 
> Are you adding the pads dynamically after starting up? If yes, you need
> to do gst_pad_set_active() to activate them before pushing events or
> data.
> 
> Hard to say more without seeing some code or debug logs.
> 
> Cheers
>  -Tim
> 
> -- 
> Tim Müller, Centricular Ltd - http://www.centricular.com
> 
> 
> 
> 
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel at .freedesktop

> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gst-pad-push-API-is-flushing-tp4664116p4664135.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list