[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