[gst-devel] Conversion to ARGB32
thaytan at noraisin.net
Tue Apr 11 01:17:02 CEST 2006
On Tue, 2006-04-11 at 08:23 +0200, Zack Rusin wrote:
> I've just been toying around with playing some transformed movies on a
> custom canvas and I need each frame in ARGB32. I'm trying to use
> capsfilter along ffmpegcolorspace to make sure that in my handoff
> callback I'm actually getting the right format.
> The problem is that the code I have in the callback
> for "new-decoded-pad" for it is freezing the pipeline (handoff callback
> is never called). To be more specific setting the caps on the
> capsfilter seems to cause it. If I avoid the g_object_set call the
> handoff callback is called fine (but of course with yuv data which
> doesn't work for me).
> The attached minimal snippet (email always mangles code so that's why
> the attachment) shows what I basically do in the "new-decoded-pad"
> handler. I'm sure it's something silly but I don't see what it could be
> be so I'd really appreciate some insight here. The line marked with
> FIXME looks to be the culprit.
Your problem is that you're asking ffmpegcolorspace to add an alpha
channel, which it won't do. It will transform from one colorspace that
has an alpha channel to a different one, but it won't add a random alpha
channel to an existing video - you need the 'alpha' element for that.
But - since this indicates that your incoming video doesn't have an
alpha channel anyway, you could also just ask ffmpegcolorspace to
convert to 24bpp,32depth, which is RGB packed into 4 bytes, but the
alpha channel will be random.
Jan Schmidt thaytan at noraisin.net
<vickster> we are going to watch red dwarf. i am so excited and tired.
More information about the gstreamer-devel