gst_capsfilter_prepare_buf....assertion failed

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

gst_capsfilter_prepare_buf....assertion failed

nikhil almalkar
Hi all,

I'm facing a problem in a pipeline that uses ffenc_mpeg2video and ffdec_mpeg2video plugins.

I have used a capsfilter to link a filesrc that reads a raw yuv file to be encoded. But whenever i run the app it says

gst_capsfilter_prepare_buf: assertion `out_caps != NULL' failed
basetransform gstbasetransform.c:1372:gst_base_transform_prepare_output_buffer:<flt1> pad-alloc failed: error
basetransform gstbasetransform.c:1925:gst_base_transform_handle_buffer:<flt1> could not get buffer from pool:

any and all inputs are appreciated.

Thanks in advance.

Regards,
Nikhil.

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_capsfilter_prepare_buf....assertion failed

ved kpl
Did you specify caps after the filesrc element.?
Can you tell us, what you pipeline looks like?

~Regards
Ved

On Mon, Apr 13, 2009 at 12:32 PM, nikhil almalkar
<[hidden email]> wrote:

> Hi all,
>
> I'm facing a problem in a pipeline that uses ffenc_mpeg2video and
> ffdec_mpeg2video plugins.
>
> I have used a capsfilter to link a filesrc that reads a raw yuv file to be
> encoded. But whenever i run the app it says
>
> gst_capsfilter_prepare_buf: assertion `out_caps != NULL' failed
> basetransform
> gstbasetransform.c:1372:gst_base_transform_prepare_output_buffer:<flt1>
> pad-alloc failed: error
> basetransform
> gstbasetransform.c:1925:gst_base_transform_handle_buffer:<flt1> could not
> get buffer from pool:
>
> any and all inputs are appreciated.
>
> Thanks in advance.
>
> Regards,
> Nikhil.
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> High Quality Requirements in a Collaborative Environment.
> Download a free trial of Rational Requirements Composer Now!
> http://p.sf.net/sfu/www-ibm-com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_capsfilter_prepare_buf....assertion failed

nikhil almalkar
i did..
caps after filesrc :

g_object_set (G_OBJECT (flt1), "caps", gst_caps_new_simple ("video/x-raw-yuv",
                                                                    "format",GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
                                                                    "width",G_TYPE_INT,(gint)value2,
                                                                    "height",G_TYPE_INT,(gint)value1,"framerate", GST_TYPE_FRACTION, 25, 1,
                                    NULL),NULL);

i think i hv gotten rid of that problem ... but now there is another exception

::gst_ffmpegenc_chain_video: assertion `frame_size == GST_BUFFER_SIZE (inbuf)' failed

the pipeline :::


pipeline = gst_pipeline_new ("player");
source = gst_element_factory_make ("filesrc", "source");
g_object_set (G_OBJECT (source), "location", Inputfile, NULL);
 
    flt1 = gst_element_factory_make ("capsfilter","flt1");   
   g_object_set (G_OBJECT (flt1), "caps", gst_caps_new_simple ("video/x-raw-yuv",
                                                                    "format",GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
                                                                     "width",G_TYPE_INT,(gint)value2,
                                                                    "height",G_TYPE_INT,(gint)value1,"framerate", GST_TYPE_FRACTION, 25, 1,
                                    NULL),NULL);
       

    encoder = gst_element_factory_make ("ffenc_mpeg2video", "encoder");
        //g_print("%f  %f", value4,value3 );
    g_object_set (G_OBJECT (encoder), "bitrate", (glong)value4,"buffer-size", (glong)value3, NULL);

/////////////////////////////////

the capsfilter element is linked between the filesrc and the encoder as you would've guessed.

there also is a decoder following this.. but first i need to figure this out...
i have specified the buffer size as the standard yuv 4:2:0 cif framesize.. still the exception is ther. (i.e. 152064)...


thank you for your time,

Regards,
Nikhil.

On Mon, Apr 13, 2009 at 5:34 PM, ved kpl <[hidden email]> wrote:
Did you specify caps after the filesrc element.?
Can you tell us, what you pipeline looks like?

~Regards
Ved

On Mon, Apr 13, 2009 at 12:32 PM, nikhil almalkar
<[hidden email]> wrote:
> Hi all,
>
> I'm facing a problem in a pipeline that uses ffenc_mpeg2video and
> ffdec_mpeg2video plugins.
>
> I have used a capsfilter to link a filesrc that reads a raw yuv file to be
> encoded. But whenever i run the app it says
>
> gst_capsfilter_prepare_buf: assertion `out_caps != NULL' failed
> basetransform
> gstbasetransform.c:1372:gst_base_transform_prepare_output_buffer:<flt1>
> pad-alloc failed: error
> basetransform
> gstbasetransform.c:1925:gst_base_transform_handle_buffer:<flt1> could not
> get buffer from pool:
>
> any and all inputs are appreciated.
>
> Thanks in advance.
>
> Regards,
> Nikhil.
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> High Quality Requirements in a Collaborative Environment.
> Download a free trial of Rational Requirements Composer Now!
> http://p.sf.net/sfu/www-ibm-com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_capsfilter_prepare_buf....assertion failed

nikhil almalkar
It worked...
Thanks anyway.

Regards,

Nikhil.

On Mon, Apr 13, 2009 at 6:45 PM, nikhil almalkar <[hidden email]> wrote:
i did..
caps after filesrc :

g_object_set (G_OBJECT (flt1), "caps", gst_caps_new_simple ("video/x-raw-yuv",
                                                                    "format",GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
                                                                    "width",G_TYPE_INT,(gint)value2,
                                                                    "height",G_TYPE_INT,(gint)value1,"framerate", GST_TYPE_FRACTION, 25, 1,
                                    NULL),NULL);

i think i hv gotten rid of that problem ... but now there is another exception

::gst_ffmpegenc_chain_video: assertion `frame_size == GST_BUFFER_SIZE (inbuf)' failed

the pipeline :::


pipeline = gst_pipeline_new ("player");
source = gst_element_factory_make ("filesrc", "source");
g_object_set (G_OBJECT (source), "location", Inputfile, NULL);
 
    flt1 = gst_element_factory_make ("capsfilter","flt1");   
   g_object_set (G_OBJECT (flt1), "caps", gst_caps_new_simple ("video/x-raw-yuv",
                                                                    "format",GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
                                                                     "width",G_TYPE_INT,(gint)value2,
                                                                    "height",G_TYPE_INT,(gint)value1,"framerate", GST_TYPE_FRACTION, 25, 1,
                                    NULL),NULL);
       

    encoder = gst_element_factory_make ("ffenc_mpeg2video", "encoder");
        //g_print("%f  %f", value4,value3 );
    g_object_set (G_OBJECT (encoder), "bitrate", (glong)value4,"buffer-size", (glong)value3, NULL);

/////////////////////////////////

the capsfilter element is linked between the filesrc and the encoder as you would've guessed.

there also is a decoder following this.. but first i need to figure this out...
i have specified the buffer size as the standard yuv 4:2:0 cif framesize.. still the exception is ther. (i.e. 152064)...


thank you for your time,

Regards,
Nikhil.


On Mon, Apr 13, 2009 at 5:34 PM, ved kpl <[hidden email]> wrote:
Did you specify caps after the filesrc element.?
Can you tell us, what you pipeline looks like?

~Regards
Ved

On Mon, Apr 13, 2009 at 12:32 PM, nikhil almalkar
<[hidden email]> wrote:
> Hi all,
>
> I'm facing a problem in a pipeline that uses ffenc_mpeg2video and
> ffdec_mpeg2video plugins.
>
> I have used a capsfilter to link a filesrc that reads a raw yuv file to be
> encoded. But whenever i run the app it says
>
> gst_capsfilter_prepare_buf: assertion `out_caps != NULL' failed
> basetransform
> gstbasetransform.c:1372:gst_base_transform_prepare_output_buffer:<flt1>
> pad-alloc failed: error
> basetransform
> gstbasetransform.c:1925:gst_base_transform_handle_buffer:<flt1> could not
> get buffer from pool:
>
> any and all inputs are appreciated.
>
> Thanks in advance.
>
> Regards,
> Nikhil.
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> High Quality Requirements in a Collaborative Environment.
> Download a free trial of Rational Requirements Composer Now!
> http://p.sf.net/sfu/www-ibm-com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gst_capsfilter_prepare_buf....assertion failed

nikhil almalkar
Hi all,

Im using following pipeline ::

gst_element_link_many (source, flt1, encoder, decoder, ffmpegcolorcon,  scale, videosink, NULL);

source is a filesrc, with blocksize and location specified.. the flt1 specifies the height, width, yuv format, (for input is a raw stream), framerate. Everything seems to be normal to me.

But when i try to run it... it stops after 3 frames saying unexpected end of stream.... ive checked the file and there are 300 odd frames and there isn't any prob with that.

There are a few warnings as these two frames are decoded.:::::

gst_base_transform_acceptcaps:<scale> transform could not transform video/x-raw-yuv, width=(int)352, height=(int)288, framerate=(fraction)5/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)1/1 in anything we support (othercaps (NULL))

gst_base_transform_acceptcaps:<colorconversion> transform could not transform video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)512, height=(int)256, framerate=(fraction)5/1, pixel-aspect-ratio=(fraction)1/1 in anything we support (othercaps (NULL))

gst_base_transform_acceptcaps:<colorconversion> transform could not transform video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)512, height=(int)256, framerate=(fraction)5/1, pixel-aspect-ratio=(fraction)1/1 in anything we support (othercaps (NULL))
 
in that order...

also .. the log says
ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (4)
 ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (4)
ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (5)
ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (6)
  ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (7)
ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (8)
 ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (9)
ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (10)
  ffmpeg :0:: Warning: AVFrame.pts=? trying to guess (11)
and so on to the last frame....

what do you reccon the problem is?

Regards
Nikhil.
On Mon, Apr 13, 2009 at 7:17 PM, nikhil almalkar <[hidden email]> wrote:
It worked...
Thanks anyway.

Regards,

Nikhil.


On Mon, Apr 13, 2009 at 6:45 PM, nikhil almalkar <[hidden email]> wrote:
i did..
caps after filesrc :

g_object_set (G_OBJECT (flt1), "caps", gst_caps_new_simple ("video/x-raw-yuv",
                                                                    "format",GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
                                                                    "width",G_TYPE_INT,(gint)value2,
                                                                    "height",G_TYPE_INT,(gint)value1,"framerate", GST_TYPE_FRACTION, 25, 1,
                                    NULL),NULL);

i think i hv gotten rid of that problem ... but now there is another exception

::gst_ffmpegenc_chain_video: assertion `frame_size == GST_BUFFER_SIZE (inbuf)' failed

the pipeline :::


pipeline = gst_pipeline_new ("player");
source = gst_element_factory_make ("filesrc", "source");
g_object_set (G_OBJECT (source), "location", Inputfile, NULL);
 
    flt1 = gst_element_factory_make ("capsfilter","flt1");   
   g_object_set (G_OBJECT (flt1), "caps", gst_caps_new_simple ("video/x-raw-yuv",
                                                                    "format",GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
                                                                     "width",G_TYPE_INT,(gint)value2,
                                                                    "height",G_TYPE_INT,(gint)value1,"framerate", GST_TYPE_FRACTION, 25, 1,
                                    NULL),NULL);
       

    encoder = gst_element_factory_make ("ffenc_mpeg2video", "encoder");
        //g_print("%f  %f", value4,value3 );
    g_object_set (G_OBJECT (encoder), "bitrate", (glong)value4,"buffer-size", (glong)value3, NULL);

/////////////////////////////////

the capsfilter element is linked between the filesrc and the encoder as you would've guessed.

there also is a decoder following this.. but first i need to figure this out...
i have specified the buffer size as the standard yuv 4:2:0 cif framesize.. still the exception is ther. (i.e. 152064)...


thank you for your time,

Regards,
Nikhil.


On Mon, Apr 13, 2009 at 5:34 PM, ved kpl <[hidden email]> wrote:
Did you specify caps after the filesrc element.?
Can you tell us, what you pipeline looks like?

~Regards
Ved

On Mon, Apr 13, 2009 at 12:32 PM, nikhil almalkar
<[hidden email]> wrote:
> Hi all,
>
> I'm facing a problem in a pipeline that uses ffenc_mpeg2video and
> ffdec_mpeg2video plugins.
>
> I have used a capsfilter to link a filesrc that reads a raw yuv file to be
> encoded. But whenever i run the app it says
>
> gst_capsfilter_prepare_buf: assertion `out_caps != NULL' failed
> basetransform
> gstbasetransform.c:1372:gst_base_transform_prepare_output_buffer:<flt1>
> pad-alloc failed: error
> basetransform
> gstbasetransform.c:1925:gst_base_transform_handle_buffer:<flt1> could not
> get buffer from pool:
>
> any and all inputs are appreciated.
>
> Thanks in advance.
>
> Regards,
> Nikhil.
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> High Quality Requirements in a Collaborative Environment.
> Download a free trial of Rational Requirements Composer Now!
> http://p.sf.net/sfu/www-ibm-com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel