16.10 OEOpenIStream

oeistream *OEOpenIStream(const char *source)

Creates and returns an oeistream capable of reading the input specified by the source parameter. The source parameter is initially parsed to determine whether a colon delimited protocol was specified. If no protocol was specified, it is assumed that the source parameter refers to a filename. If a protocol was specified, the function checks to see whether an input stream allocator and deallocator have been registered to handle to the appropriate protocol. If the specified protocol has been registered, the appropriate input stream will be created and returned, otherwise the function will return 0. Allocators and deallocators for specific protocols can be registered using the OEPlatform::OERegisterIStream function.

Example:

oeistream *is = OEOpenIStream("pipe: echo \"hello world\"");

In addition, this function will attempt to assess whether or not the input data is compressed. If the data is compressed in a supported format, the appropriate decompression wrapper stream will be used to dynamically decompress the data.

All streams created with this function MUST be closed with the OEPlatform::OECloseIStream function.