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

Rosfran Lins Borges rosfran.borges at indt.org.br
Fri Aug 25 19:42:26 CEST 2006


   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