previous next

Appendix B: Structure List

PixEffectInfo

Contains all the information about the effect the RealPix renderer should perform. This structure is used in the IRMALiveRealPix::SendEffect method.


typedef struct PNEXPORT_CLASS _PixEffectInfo
{
UINT32 m_ulStructLength; /* In */
BYTE m_ucEffectType; /* In */
UINT32 m_ulStart; /* In */
UINT32 m_ulDuration; /* In */
UINT32 m_ulTarget; /* In */
UINT32 m_ulSrcX; /* In */
UINT32 m_ulSrcY; /* In */
UINT32 m_ulSrcW; /* In */
UINT32 m_ulSrcH; /* In */
UINT32 m_ulDstX; /* In */
UINT32 m_ulDstY; /* In */
UINT32 m_ulDstW; /* In */
UINT32 m_ulDstH; /* In */
UINT32 m_ulMaxFps; /* In */
BOOL m_bAspectFlag; /* In */
BYTE m_ucRed; /* In */
BYTE m_ucGreen; /* In */
BYTE m_ucBlue; /* In */
BYTE m_ucWipeDirection; /* In */
BYTE m_ucWipeType; /* In */
char *m_pURL; /* In */
char *m_pExtPackage; /* In */
char *m_pExtName; /* In */
char *m_pExtData; /* In */
char *m_pExtFile; /* In */
BOOL m_bDiscardImage; /* In */
BOOL m_bDisplayImmediately; /* In */
UINT32 m_ulHandle; /* Out */
}
PixEffectInfo;
m_ulStructLength
The size of this structure.

m_ucEffectType
The effect type. One of the following:

m_ulStart
Start time of the effect, in milliseconds.

m_ulDuration
The duration of the effect, in milliseconds.

m_ulTarget
Handle of the image on which to perform the effect.

m_ulSrcX
Horizontal offset of the source rectangle, in pixels. This parameter, and the three "source" parameters that follow, can be used to display just a portion of the original image. To display the entire image, set all of these "source" parameters to 0.

m_ulSrcY
Vertical offset of the source rectangle, in pixels.

m_ulSrcW
Width of the source rectangle, in pixels.

m_ulSrcH
Height of the source rectangle, in pixels.

m_ulDstX
Horizontal offset of the destination rectangle, in pixels. This parameter, and the three "destination" parameters that follow, position and size the image in the presentation space.

m_ulDstY
Vertical offset of the destination rectangle, in pixels.

m_ulDstW
Width of the destination rectangle, in pixels.

m_ulDstH
Height of the destination rectangle, in pixels.

m_ulMaxFps
Maximum frames per second for this effect.

m_bAspectFlag
If TRUE, preserves the aspect ratio on this effect. If FALSE, the aspect ratio is not preserved.

m_ucRed
The red component of a fill or fadeout color.

m_ucGreen
The green component of a fill or fadeout color.

m_cuBlue
The blue component of a fill or fadeout color.

m_ucWipeDirection
The wipe direction. One of the following:

m_ucWipeType
The type of wipe. One of the following:

m_pURL
Pointer to the URL to send the client to when the image is clicked.

m_pExtPackage
Pointer to the name of an external effect package.

m_pExtName
Pointer to the name of an external effect within the package.

m_pExtData
Pointer to the opaque string data for an external effect.

m_pExtFile
Pointer to the file contents of external effect data.

m_bDiscardImage
If TRUE, discard the image after doing effect. If FALSE, don't discard the image.

m_bDisplayImmediately
If TRUE, do the effect immediately. If FALSE, begin the effect at the time specified by m_ulStart.

m_ulHandle
Handle by which the effect can be referenced (returned by IRMALiveRealPix::SendEffect).

PixImageInfo

Contains all the information for images that is sent down the stream. This structure is used in the IRMALiveRealPix::InitImage method.


typedef struct PNEXPORT_CLASS _PixImageInfo
{
UINT32 m_ulStructLength; /* In */
BYTE *m_pImageBuffer; /* In */
UINT32 m_ulImageBufferSize; /* In */
char *m_pImageCodec; /* In */
UINT32 m_ulHandle; /* Out */
UINT32 m_ulNumPackets; /* Out */
UINT32 m_ulTimeToSend; /* Out */
}
PixImageInfo;
m_ulStructLength
The size of this structure.

m_pImageBuffer
Pointer to the buffer holding the image data.

m_ulImageBufferSize
The size of the image buffer pointed to by m_pImageBuffer.

m_pImageCodec
Pointer to the image codec to be used.

m_ulHandle
The image handle.

m_ulNumPackets
The number of packets that comprises this image.

m_ulTimeToSend
The amount of time required to send the image, in milliseconds.

PixInitInfo

Contains initialization information and is passed in the IRMALiveRealPix::StartEncoder method. All of the members of this structure are input variables.


typedef struct PNEXPORT_CLASS _PixInitInfo
{
UINT32 m_ulStructLength;
char *m_pServerAddress;
UINT32 m_ulServerPort;
char *m_pUsername;
char *m_pPassword;
char *m_pFilename;
char *m_pTitle;
char *m_pAuthor;
char *m_pCopyright;
UINT32 m_ulBitrate;
UINT32 m_ulMaxFps;
UINT32 m_ulDisplayWidth;
UINT32 m_ulDisplayHeight;
BOOL m_bPreserveAspect;
char *m_pDefaultURL;
UINT32 m_ulNumImageCodecs;
char **m_ppImageCodec;
UINT32 m_ulNumEffectPackages;
char **m_ppEffectPackage;
}
PixInitInfo;
m_ulStructLength
The length, in bytes, of this structure.

m_pServerAddress
Pointer to the host name or IP address of the server.

m_ulServerPort
The server port on which the broadcast plug-in listens. This parameter is defined by the plug-in's FSMount setting.

m_pUsername
Pointer to the name the application uses to connect to the broadcast plug-in. The name should be encoder if a password is used.

m_pPassword
Pointer to the password the application uses to connect to the broadcast plug-in. This parameter is defined by the plug-in's FSMount setting.

m_pFilename
Pointer to the "file name" that follows the broadcast plug-in's mount point in the URL. For example, in rtsp://www.real.com/encoder/image, the broadcast plug-in has a mount point of /encoder/ and the "file name" is image.

m_pTitle
Pointer to the title of the live presentation.

m_pAuthor
Pointer to the name of the author or organization that created the live presentation.

m_pCopyright
Pointer to the copyright information on the live presentation.

m_ulBitrate
The bit rate, in kilobits per second, of the RealPix stream.

m_ulMaxFp
The maximum number of effect frames to be sent per second.

m_ulDisplayWidth
The size of the presentation window width, in pixels.

m_ulDisplayHeight
The size of the presentation window height, in pixels.

m_bPreserveAspect
If TRUE, preserves the aspect ratio. If FALSE, the aspect ratio is not preserved.

m_pDefaultURL
Pointer to the default URL to send the browser to when clicked.

m_ulNumImageCodecs
The number of image codecs used in this stream.

m_ppImageCodec
Returns a pointer to the string names of the codecs. The string names of codecs currently supported are "image/vndr.rn-realpix.jpeg" (for JPEG images) and "image/vnd.rn-realpix.gif" (for GIF images).

m_ulNumEffectPackages
The number of external effect packages used.

m_ppEffectPackage
Returns a pointer to the string names of the effect packages.

PNxEvent

Contains a cross-platform definition of a event. This structure is sufficiently wide to describe an event in Windows, MacOS, and various versions of X-Windows.


typedef struct PNEXPORT_CLASS _PNxEvent
{
ULONG32 event; /* IN */
void* window; /* IN */
void* param1; /* IN */
void* param2; /* IN */
UINT32 result; /* OUT */
BOOL handled; /* OUT */
} PNxEvent;
event
Platform-specific event ID. This member can also be one of the several PNxMSG_* event IDs that map onto existing platform-specific event IDs. In Unix, this is the X event type.

window
Pointer to a platform-specific window handle. In Unix, this is a pointer to the X window ID.

param1
Pointer to a message-specific parameter. In Unix, this is a pointer to Display*.

param2
Pointer to a message-specific parameter. In Unix, this is a pointer to "Native XEvent*" "RMA_SURFACE_UPDATE PNxWindow*".

result
Information not yet available at publication.

handled
Information not yet available at publication.

PNxPoint

Contains a cross-platform definition of a point.


typedef struct PNEXPORT_CLASS _PNxPoint
{
INT32 x;
INT32 y;
} PNxPoint;
x
The horizontal component of the point.

y
The vertical component of the point.

PNxRect

Contains a cross-platform definition of a rectangle.


typedef struct PNEXPORT_CLASS _PNxRect
{
INT32 left;
INT32 top;
INT32 right;
INT32 bottom;
} PNxRect;
left
Information not yet available at publication.

top
Information not yet available at publication.

right
Information not yet available at publication.

bottom
Information not yet available at publication.

PNxSize

Contains a cross-platform definition of a size.


typedef struct PNEXPORT_CLASS _PNxSize
{
INT32 cx;
INT32 cy;
} PNxSize;
cx
The horizontal size, in pixels.

cy
The vertical size, in pixels.

PNxWindow

Contains a cross-platform definition of a window. This structure is sufficiently wide to describe parent or child windows in Windows, MacOS, and various flavors of X-Windows.

Note
The window parameter is not guaranteed to be unique for every corresponding CPNWindow. Use PNxWindowID (defined in pnwintyp.h) if this is desired.


typedef struct PNEXPORT_CLASS _PNxWindow
{
void* window;
ULONG32 x;
ULONG32 y;
ULONG32 width;
ULONG32 height;
PNxRect clipRect;
#ifdef _UNIX
void * display;
#endif
} PNxWindow;
window
Pointer to a platform-specific window handle.

x
Horizontal position of a point. Together with y, these parameters constitute the position of the top, left corner relative to a client page.

y
Vertical position of a point.

width
The maximum width of the window, in pixels.

height
The maximum height of the window, in pixels.

clipRect
The clipping rectangle, in port coordinates.

display
Information not yet available at publication.

PPVAccessLog

Contains the user authentication access logging information for pay-per-view content.

Additional Information
See the chapters on authenticating RealServer visitors and storing authentication data in the RealServer G2 Administration Guide for information on user authentication.


typedef struct _PPVAccessLog
{
BOOL bAccessGranted;
char* pUserid;
char* pGUID;
char* pIPAddress;
char* pURL;
PPVPermissionType nPermissionType;
PPVAccessPermissionOn nPermOn;
time_t tStartTime;
time_t tStopTime;
UINT32 lTotalTime;
PPVAccessDisconnectType nWhyDisconnect;
} PPVAccessLog;
bAccessGranted
If TRUE, access was granted. If FALSE, access was denied.

pUserid
Pointer to the user ID that indicates which user accessed the content.

pGUID
Pointer to the GUID of the user's player that accessed the content. If the user elects to suppress this information, this parameter will contain a series of zeroes (00000000-0000-0000-0000-000000000000) instead of a unique identifier. There is no way to override the client's setting, should the user choose to send only zeroes. Regardless of the user's setting, RealServer can also be instructed to always show the string of zeroes instead of the actual client identifier. If RealServer has this option set, all access log records show zeroes, rather than the actual client identifiers. See the RealServer Administration Guide for more information.

pIPAddress
Pointer to the IP address of the client that accessed the content.

pURL
Pointer to the URL that was accessed.

nPermissionType
A PPVPermissionType enumerator that describes the type of permission granted. One of the following:

pPermOn
A PPVAccessPermissionOn enumerator that indicates the kind of resource on which the user has permission. One of the following:

tStartTime
The time the pay-per-view session starts, indicated by the time passed since January 1, 1970.

tStopTime
The time the pay-per-view session stops, indicated by the time passed since January 1, 1970.

lTotalTime
The total amount of time allotted for the pay-per-view session.

nWhyDisconnect
A PPVAccessDisconnectType enumerator that describes the reason for disconnecting. One of the following:

PPVPermission

Contains the pay-per-view permission information and URL.


typedef struct _PPVPermission
{
char pURL[PPV_MAX_URL_LEN];
PPVURLType nURLType;
PPVPermissionType nPermissionType;
time_t tExpires;
UINT32 ulDebitTime;
} PPVPermission;
pURL
The pay-per-view URL.

nURLType
A PPVURLType enumerator that describes the type of URL. One of the following:

nPermissionType
A PPVPermissionType enumerator that describes the type of permission granted. One of the following:

tExpires
The time the permission expires, indicated by the time passed since January 1, 1970.

ulDebitTime
If debit permission was given, this is the time given before permission will expire.

PPVRegLog

Contains the pay-per-view player validation logging information for the registration of the GUID.

Additional Information
See the chapters on authenticating RealServer visitors and storing authentication data in the RealServer G2 Administration Guide for information on player validation.


typedef struct _PPVRegLog
{
PPVRegStatus nStatus;
char* pUserid;
char* pGUID;
char* pIPAddress;
time_t tRequestTime;
char* pURLRedirect;
} PPVRegLog;
nStatus
A PPVRegStatus enumerator that describes the status of the operation. One of the following:

pUserid
Pointer to the user ID that indicates which user accessed the content.

pGUID
Pointer to the GUID of the user's player that accessed the content. If the user elects to suppress this information, this parameter will contain a series of zeroes (00000000-0000-0000-0000-000000000000) instead of a unique identifier. There is no way to override the client's setting, should the user choose to send only zeroes. Regardless of the user's setting, RealServer can also be instructed to always show the string of zeroes instead of the actual client identifier. If RealServer has this option set, all player validation log records show zeroes, rather than the actual client identifiers. See the RealServer Administration Guide for more information.

pIPAddress
Pointer to the IP address of the client that accessed the content.

tRequestTime
The start time requested, indicated by the time passed since January 1, 1970.

pURLRedirect
Pointer to a URL that provides extra content if the registration succeeds (for example, a congratulations message).

RMAAudioData

Information not yet available at publication.


typedef struct _RMAAudioData
{
IRMABuffer* pData;
ULONG32 ulAudioTime;
AudioStreamType uAudioStreamType;
} RMAAudioData;
pData
Pointer to an IRMABuffer interface that manages the audio data.

ulAudioTime
The start time, in milliseconds relative to the start of the player timeline for the stream.

uAudioStreamType
An AudioStreamType enumerator that describes the type of audio stream. One of the following:

RMAAudioFormat

Contains the format of the audio device.


typedef struct _RMAAudioFormat
{
UINT16 uChannels;
UINT16 uBitsPerSample;
ULONG32 ulSamplesPerSec;
UINT16 uMaxBlockSize;
} RMAAudioFormat;
uChannels
The number of channels. For example, 1 = monaural, 2 = stereo, and so on.

uBitsPerSample
The number of bits per sample. This member can be 8 or 16.

ulSamplesPerSec
The sampling rate per second.

uMaxBlockSize
The maximum size of an IRMABuffer that will ever be written to an audio stream in a write call.

RMABitmapInfo

Information not yet available at publication.


typedef struct _RMABitmapInfo
{
struct
{
UINT32 biSize;
INT32 biWidth;
INT32 biHeight;
UINT16 biPlanes;
UINT16 biBitCount;
UINT32 biCompression;
UINT32 biSizeImage;
INT32 biXPelsPerMeter;
INT32 biYPelsPerMeter;
UINT32 biClrUsed;
UINT32 biClrImportant;
} bmiHeader;
union
{
UINT32 dwBitMask[3];
UINT32 dwPalette[256];
} un;
} RMABitmapInfo;
biSize
This member is calculated by using the offset to this structure's dwBitMask member , that is OFFSETOF(dwBitMask).

biWidth
The width of the image, in pixels.

biHeight
The height of the image, in pixels

biPlanes
The number of bit planes. This member must always be set to 1.

biBitCount
The average number of bits per pixel.

biCompression
Information not yet available at publication.

biSizeImage
The size of the image. This member is equal to biWidth * biHeight * biBitCount / 8.

biXPelsPerMeter
This member is always 0.

biYPelsPerMeter
This member is always 0.

biClrUsed
Information not yet available at publication.

biClrImportant
Information not yet available at publication.

dwBitMask[3]
The color masks (for BI_BITFIELDS).

dwPalette[256]
The palette (for 8-bit RGB image).

RMABitmapInfoHeader

Contains the dimensions and color format information for a device-independent bitmap (DIB).


typedef struct _RMABitmapInfoHeader
{
UINT32 biSize;
INT32 biWidth;
INT32 biHeight;
UINT16 biPlanes;
UINT16 biBitCount;
UINT32 biCompression;
UINT32 biSizeImage;
INT32 biXPelsPerMeter;
INT32 biYPelsPerMeter;
UINT32 biClrUsed;
UINT32 biClrImportant;
UINT32 rcolor;
UINT32 gcolor;
UINT32 bcolor;
} RMABitmapInfoHeader;
biSize
The size of this structure, in bytes.

biWidth
The width of the bitmap, in pixels.

biHeight
The height of the bitmap, in pixels. If biHeight is positive, the bitmap is a bottom-up DIB and its origin is the lower left corner. If biHeight is negative, the bitmap is a top-down DIB and its origin is the upper left corner.

biPlanes
The number of planes for the target device. This parameter must be set to 1.

biBitCount
The number of bits per pixel. This parameter must be either 1, 4, 8, 16, 24, or 32.

biCompression
The type of compression for a compressed bottom-up bitmap (top-down DIBs can not be compressed). One of the following:

biSizeImage
The size, in bytes, of the image. This can be set to 0 for BI_RGB bitmaps.

biXPelsPerMeter
Specifies the horizontal resolution, in pixels per meter, of the target device for the bitmap. An application can use this value to select a bitmap from a resource group that best matches the characteristics of the current device.

biYPelsPerMeter
Specifies the vertical resolution, in pixels per meter, of the target device for the bitmap.

biClrUsed
Specifies the number of color indices in the color table that are actually used by the bitmap. If this value is zero, the bitmap uses the maximum number of colors corresponding to the value of the biBitCount member for the compression mode specified by biCompression.

If this parameter is nonzero and the biBitCount member is less than 16, this parameter specifies the actual number of colors the graphics engine or device driver accesses. If biBitCount is 16 or greater, then this parameter specifies the size of the color table used to optimize performance of Windows color palettes. If biBitCount equals 16 or 32, the optimal color palette starts immediately following the three doubleword masks.

If the bitmap is a packed bitmap (a bitmap in which the bitmap array immediately follows the BITMAPINFO header and is referenced by a single pointer), this parameter must be either 0 or the actual size of the color table.

biClrImportant
The number of color indices considered important for displaying the bitmap. If this parameter is 0, then all colors are important.

rcolor
Information not yet available at publication.

gcolor
Information not yet available at publication.

bcolor
Information not yet available at publication.

RMATimeval

Contains a time value.


typedef struct _RMATimeval
{
UINT32 tv_sec;
UINT32 tv_usec;
} RMATimeval;
tv_sec
The number of seconds in the current time.

tv_usec
The number of microseconds in the current time.


Copyright © 2000 RealNetworks
For technical support, please contact supportsdk@real.com.
This file last updated on 05/17/00 at 12:50:42.
previous next