Comment 14 for bug 141379

Revision history for this message
Mats (matsben) wrote : Re: [Bug 141379] Re: Video conferencing

No worry. I think this is my job to solve since I have more experience
writing such code. Just go on using the SDL library and I'll see what
I can do about it.

On 10/29/07, antoniofcano <email address hidden> wrote:
> > The difficult part with writing a video widget is to do the "bit
> > blitting" to the actual window. In other words, use a raw in memory RGB
> > (or YUV) data and draw this to screen. Tk uses an abstract data type
> >
> > Drawable d;
> >
> > to describe the destination context. Only on X11 is this something real.
> > On Windows it looks like
> >
> > TkWinDrawable *twdPtr = (TkWinDrawable *) d;
> >
> > where TkWinDrawable is a struct which also contains a bitmap.handle.
> > On MacOSX it looks like
> >
> > CGrafPtr port;
> > port = TkMacOSXGetDrawablePort(d);
> >
> > and then it is possible to draw raw image data using something like:
> >
> > PathSetUpCGContext(port, &cgContext);
> > ...
> > provider = CGDataProviderCreateWithData(NULL, block.pixelPtr, size,
> NULL);
> > colorspace = CGColorSpaceCreateDeviceRGB();
> > cgImage = CGImageCreate(block.width, block.height,
> > 8, /*
> bitsPerComponent */
> > block.pixelSize*8, /* bitsPerPixel */
> > block.pitch, /* bytesPerRow */
> > colorspace, /* colorspace */
> > alphaInfo, /* alphaInfo */
> > provider, NULL,
> > 1, /*
> shouldInterpolate */
> > kCGRenderingIntentDefault);
> > ...
> > CGContextDrawImage(context->c, CGRectMake(0.0, 0.0, width, height),
> cgImage);
> >
> > Code from TkPath. I see now that all QuickDraw (CGrafPtr) code need to
> > go away for 8.5 since Daniel has replaced everything with CoreGraphics.
> >
>
> I'm not able to understand this Tk stuff :O. I'll read it calmly this
> weekend.
>
> > Bottom line: This will need a great deal of platform dependent code. The
> > SDL sources contain tons of examples but the problem is to understand
> > them. I guess we only need to implement this for the special case of
> > RGB32 or YUV formats. That should be easier. It is like drawing a tk
> > image in TkPath.
> >
>
> Until next week I've not been able to work again in the video stuff.
> Sorry.
>
> --
> Video conferencing
> https://bugs.launchpad.net/bugs/141379
> You received this bug notification because you are a bug assignee.
>