We have the socket code, it is the mostly-finished code from a former GSoC
student. It may be extremely close to working, just needs a little cleanup,
but I'm not sure. IIRC, we were waiting for one last round of post-summer
cleanup, but the student never quite got back to it. But I think it's in
strong shape to be resurrected.
The sender (the socket ImageOutput) should be used in exactly the same manner
as you would write any image -- you can send scanlines, tiles, or rectangles.
The receiver/reader is a little nonstandard, by necessity. IIRC, we had worked
out some kind of protocol where you could query the reader about if another
chunk of data was ready, and if so, what pixels it covered. Let me dust off my
brain tomorrow, poke around the code, and see if I can remember what we decided
should be the way it works.
I'm very interested in somebody picking up this work and finishing it. It's
something I've wanted in OIIO (and in iv in particular -- to let it act as a
receiver for live renders) since the very beginning of the project.
-- lg
On Mar 19, 2012, at 11:19 PM, Chad Dombrova wrote:
> Hi all,
> I'm looking into adding socket streaming support to iv. Before I begin I
> would love any advice on how to approach this task. I've read through the
> socket.imageio code and I see that SocketInput is a server and SocketOutput
> is a client. Despite the fact that SocketInput/Output are implemented as
> ImageInput/Output subclasses, they are somewhat non-standard -- for starters,
> there is no file on disk and the file "name" is actually the host/port -- so
> it seems that socket "images" will likely need special treatment within iv.
> For example, we'll probably want a menu item to start the server to listen
> for incoming renders.
>
> I'm wondering how compatible the socket.imageio format is with the other
> formats displayed by iv. Typically the entirety of an image is expected to
> exist prior to loading, so iv can call read_native_scanline/read_native_tile
> at its discretion to read in the image. however, in the case of
> SocketOutput/Input I assume that we will have to convey to iv that tiles are
> ready as they are produced, or is that already handled by the
> ImageInput/Output API already?
>
> thanks!
>
> -chad
>
--
Larry Gritz
[email protected]
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org