MMA_DataFormat
MMA_DataFormat (V51.3) [..G.Q], STRPTR
DESCRIPTION
Returns read-only textual NULL-terminated description of decoded format. This class returns "Windows Icon" string
MMA_MimeType
MMA_MimeType (V51.4) [..G.Q], STRPTR
DESCRIPTION
Returns read-only NULL-terminated MIME type string. All instances of winicon.demuxer return "image/vnd.microsoft.icon
MMA_Video_BitsPerPixel
MMA_Video_BitsPerPixel (V50) [....Q], ULONG
DESCRIPTION
Returns image colour depth. Possible values for winicon.demuxer are 4, 8, 24 or 32
MMA_Video_FrameCount
MMA_Video_FrameCount (V50) [....Q], UQUAD*
DESCRIPTION
As Windows icon format does not support multiframe images, this attribute returns 1 always
NOTES
As every 64-bit attribute, MMA_Video_FrameCount is passed by pointer to a 64-bit value.
MMA_Video_Height
MMA_Video_Height (V50) [....Q], ULONG
DESCRIPTION
Returns height of image frame in pixels
MMA_Video_Width
MMA_Video_Width (V50) [....Q], ULONG
DESCRIPTION
Returns width of image frame in pixels
MMM_Pull
Writes Windows BitMap data to specified buffer. (V50)
SYNOPSIS
ULONG DoMethod(Object *obj, MMM_Pull, ULONG port, APTR buffer, ULONG length);
DESCRIPTION
Pulls needed amount of stream data from input, processes them to extract raw Windows BitMap data and places them in the specified buffer. The demuxer is pass-through for image data (no data copying
INPUTS
obj - object to perform method on.
port - number of port, (1 to N, where N is the number of images in the
stream).
buffer - destination buffer for bitmap data.
length - amount of data to be pulled in bytes
RESULT
Number of bytes pulled, secondary error information via MMA_ErrorCode
SEE ALSO
multimedia.class/MMA_ErrorCode
background
HISTORY
51.5 (08.11.2021) - Fixed to handle width/height of 0 as 256. - Fixed a memory leak if image type is not detected. - Build with gcc 9 now. 51.4 (28.06.2015) - Implemented MMA_MimeType. 51.3 (02.08.2007) - Implemented OM_GET. - Implemented MMA_DataFormat. - Added 'fake' MMA_BlockAlign (returning 14) for bmp.decoder. - Fixed small bug (variable duplicated) in recognize routine. 51.2 (08.01.2006) - Fixed Setup(), now returns TRUE when called on any output port. - Bugfix: icon counter was not incremented in LoadDirectory(). 51.1 (13.06.2005) - Updated to the new Reggae API. 50.2 (11.10.2004) - Query tags are accessible via the class base. 50.1 (12.09.2004) - Initial revision.
DESCRIPTION
The class is a Reggae demultiplexer for Windows icon format (*.ico files). The demuxer supports 4 and 8-bit icons with palette and 24-bit and 32-bit truecolor icons. Any size up to 256 x 256 is handled, not neccesarily square. Icon image mask is supported as well as alpha channel in 32-bit icons. The demuxer handles multiple icon images by creating separate output for every image. Then every output can be queried about image size and colour depth, and image data fetched. Number of outputs may be obtained by getting MMA_Ports attribute and substracting one. The object input is port 0 always and accepts MMF_STREAM format. Ports 1 to N (where N is the number of images in the stream) are outputs and produce MMF_VIDEO_BMP format. The class is a direct subclass of multimedia.class.
NEW ATTRIBUTES
Attributes applicability:
I - may be set at creation time.
S - may be set on an existing object.
G - may be get from an object.
P - may be set for an object's port.
Q - may be queried from an object's port.
MMA_Video_Width (V50) [....Q], ULONG
MMA_Video_Height (V50) [....Q], ULONG
MMA_Video_BitsPerPixel (V50) [....Q], ULONG
MMA_Video_FrameCount (V50) [....Q], UQUAD*
MMA_DataFormat (V51.3) [..G.Q], STRPTR
MMA_MimeType (V51.4) [..G.Q], STRPTR
NEW METHODS
MMM_Pull(port, buffer, length) (V50)