[gst-devel] filesink problem with some colorspaces

Georg Holzmann grh at mur.at
Thu Aug 16 20:25:16 CEST 2007


Hallo!

I am using the following simply pipeline:
appsrc ! decodebin ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink
and try to write some frames of my application as oggfiles to the harddisk.

However, with e.g. RGBA data this is not possible and I only get files 
with size 0, although I setup the caps right in appsrc (see [1]) and 
ffmpegcolorspace is used.

In debug mode (GST_DEBUG=3) I get the following error:

-------------8<--------------
0:00:13.927316000 11165 0x8896270 WARN               basesrc 
gstbasesrc.c:1816:gst_base_src_loop:<source_> error: Interner Fehler im 
Datanfluss
0:00:13.927555000 11165 0x8896270 WARN               basesrc 
gstbasesrc.c:1816:gst_base_src_loop:<source_> error: streaming task 
paused, reason not-negotiated (-4)
0:00:13.927857000 11165 0x8896270 INFO      GST_ERROR_SYSTEM 
gstelement.c:1654:gst_element_message_full:<source_> posting message: 
Interner Fehler im Datanfluss
0:00:13.928232000 11165 0x8896270 INFO      GST_ERROR_SYSTEM 
gstelement.c:1677:gst_element_message_full:<source_> posted error 
message: Interner Fehler im Datanfluss
-------------8<--------------

Maybe someone has an idea what I am making wrong or how I can try to 
debug the further ?

Many thanks for any hints,
LG
Georg


[1] caps setup:
   switch(cs)
   {
     case GRAY:
       gst_app_src_set_caps ( GST_APP_SRC(source_),
                        gst_caps_new_simple ("video/x-raw-gray",
	     "width", G_TYPE_INT, xsize,
	     "height", G_TYPE_INT, ysize,
	     "bpp", G_TYPE_INT, 8,
	     "depth", G_TYPE_INT, 8,
              "framerate", GST_TYPE_FRACTION, fr1, fr2,
				     NULL)
                        );
       break;

     case YUV422:
       gst_app_src_set_caps ( GST_APP_SRC(source_),
                        gst_caps_new_simple ("video/x-raw-yuv",
	     "width", G_TYPE_INT, xsize,
	     "height", G_TYPE_INT, ysize,
              "format", GST_TYPE_FOURCC,
              GST_MAKE_FOURCC('U', 'Y', 'V', 'Y'),
              "framerate", GST_TYPE_FRACTION, fr1, fr2,
				     NULL)
                        );

     case RGB:
       gst_app_src_set_caps ( GST_APP_SRC(source_),
                        gst_caps_new_simple ("video/x-raw-rgb",
	     "width", G_TYPE_INT, xsize,
	     "height", G_TYPE_INT, ysize,
	     "bpp", G_TYPE_INT, 24,
	     "depth", G_TYPE_INT, 24,
	     "red_mask",   G_TYPE_INT, 0x00ff0000,
	     "green_mask", G_TYPE_INT, 0x0000ff00,
	     "blue_mask",  G_TYPE_INT, 0x000000ff,
              "framerate", GST_TYPE_FRACTION, fr1, fr2,
				     NULL)
                        );
       break;

     case RGBA:
     default:
       gst_app_src_set_caps ( GST_APP_SRC(source_),
                        gst_caps_new_simple ("video/x-raw-rgb",
	     "width", G_TYPE_INT, xsize,
	     "height", G_TYPE_INT, ysize,
	     "bpp", G_TYPE_INT, 32,
	     "depth", G_TYPE_INT, 32,
	     "red_mask",   G_TYPE_INT, 0xff000000,
	     "green_mask", G_TYPE_INT, 0x00ff0000,
	     "blue_mask",  G_TYPE_INT, 0x0000ff00,
	     "alpha_mask", G_TYPE_INT, 0x000000ff,
              "framerate", GST_TYPE_FRACTION, fr1, fr2,
				     NULL)
                        );
       break;
   }




More information about the gstreamer-devel mailing list