[gst-devel] Problem creating second pad on ffmpeg 3GP muxer

Ronald S. Bultje rbultje at ronald.bitfreak.net
Fri Aug 25 20:12:39 CEST 2006


Hey,

queues help during dataflow and are indeed required. However, here, even
linking doesn't work, so the queue cannot possibly be the problem yet.

I don't know what is. I'd think that ffmux doesn't properly deal with
multiple pads, so look there for bugs.

Cheers,
Ronald

On Fri, 25 Aug 2006, Rosfran Lins Borges wrote:

>
>    Try to link your ffdemux to a queue, and so to the ffmux. Just add a
> queue element between FFMPEG demux and mux, this will help you on
> dealing with the huge amount of buffers that gstffmpeg generate.
>
> --
> Rosfran Borges
>
> ext Geraldine Rougier wrote:
> > Hi,
> >
> > I am using 3GP muxer plugin from gstffmpeg and trying the following
> > pipeline :
> >
> > filesrc ! 3GP demux ! 3GP mux ! filesink
> >
> > When the source file is audio or video only I have no problem, but with
> > audio/video files I can not link the second pad created by the demuxer
> > to the muxer.
> > The "gst_pad_link" function returns the following error :
> > GST_PAD_LINK_NOFORMAT.
> >
> > I tried two scenarii in order to link demuxer and muxer pads (the same
> > is applied for audio pad):
> >
> > 1- pl_sinkpad_mux = gst_element_get_request_pad (pl_ctx->p_mux, "video_0");
> >     if (pl_sinkpad_mux==NULL)
> >     {
> >       g_print("Video sink pad is not available\n");
> >       return;
> >     }
> >
> >   vl_status = gst_pad_link (srcpad, pl_sinkpad_mux);
> >   if(vl_status != GST_PAD_LINK_OK)
> >   {
> >     g_print ("Could not link src pad and muxer sink pad, vl_status =
> > %d\n", vl_status);
> >     return;
> >   }
> >   gst_object_unref( pl_sinkpad_mux );
> >
> >
> > 2- GstCaps *pl_caps = NULL;
> >     pl_caps = gst_caps_new_simple ("video/x-h263",
> >             NULL);
> >     if (!pl_caps)
> >     {
> >       g_print("could not gst_caps_new_simple\n");
> >       return;
> >     }
> >     //Request new video muxer sinkpad.
> >     pl_sinkpad_mux = gst_element_get_compatible_pad(pl_ctx->p_mux,
> > srcpad, pl_caps);
> >     if (pl_sinkpad_mux==NULL)
> >     {
> >       g_print("Video sink pad is not available\n");
> >       return;
> >     }
> >     if ((gst_pad_set_caps(pl_sinkpad_mux, pl_caps)) == FALSE)
> >     {
> >       fprintf(stderr, "could not gst_pad_set_caps\n");
> >       return;
> >     }
> >     gst_caps_unref(pl_caps);
> >
> >   vl_status = gst_pad_link (srcpad, pl_sinkpad_mux);
> >   if(vl_status != GST_PAD_LINK_OK)
> >   {
> >     g_print ("Could not link src pad and muxer sink pad, vl_status =
> > %d\n", vl_status);
> >     return;
> >   }
> >   gst_object_unref( pl_sinkpad_mux );
> >
> >
> > The problem always appears when linking the second pad, no matter if it
> > is the audio one or the video one.
> >
> > I don't know what I'm missing :(
> > Any help is welcome :)
> >
> > Thanks,
> >
> > GG
> >
> >
> > -------------------------------------------------------------------------
> > Using Tomcat but need to do more? Need to support web services, security?
> > Get stuff done quickly with pre-integrated technology to make your job easier
> > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>




More information about the gstreamer-devel mailing list