openexr-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-user] Reading from a stream (not a file)


From: Paul Schneider
Subject: Re: [Openexr-user] Reading from a stream (not a file)
Date: Mon, 27 Aug 2007 11:39:22 -0400


Hi, Brad,

it's true that the IStream constructor requires a "filename", but it's possible to make a subclass that doesn't need the filename to point to an actual file on disk. Generally, the "filename" is only used to build the error string when an exception is thrown. I imagine that the problem is not that there is no file on disk named "", but that the data in your stream is malformed, or not what the IMF library is expecting (maybe there is some metadata before the EXR file information).

The Photoshop plugin uses an IStream subclass to read EXR data from an already-open file, and passes a dummy file name to the constructor. You can check out the source here:

http://download.savannah.gnu.org/releases/openexr/ OpenEXR_Photoshop-1.2.1.Source.tar.gz

- Paul

PS: the openexr-devel group might be more appropriate for code-level questions.


On Aug 27, 2007, at 11:25 AM, Brad Hards wrote:

G'day,

I'm trying to update the KDE metadata plugin for EXR format files, and have
run into a problem.

KDE4 has some fairly substantial changes in the way metadata gets managed, and
one of those changes is that we no longer work on files, but only on a
stream. The reason for this is so we can index into archives and so on.

However this is causing a problem with using OpenEXR, where the constructors appear to insist on having a filename. I tried to build a little adapter
class, but I still needed a filename.

class ExrIStream : public Imf::IStream
{
public:
    ExrIStream (Strigi::InputStream *in):
        Imf::IStream (""), m_strigiStream(in) {}

  // other features omitted
}

but it throws:
terminate called after throwing an instance of 'Iex::ArgExc'
what(): Cannot read image file "". Invalid pixel aspect ratio in image
header.
Aborted

Any suggestions?

Brad
_______________________________________________
Openexr-user mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/openexr-user





reply via email to

[Prev in Thread] Current Thread [Next in Thread]