![]() |
Additional Information |
---|
Some information in the reference chapters was not yet available before publishing. If you require more information about any of the interfaces and methods, structures, functions, or return values, continue to watch the DevZone at http://www.realnetworks.com/devzone for future updates to this documentation. |
Purpose: | Informs a file format plug-in of the RealSystem client's Adaptive Stream Management (ASM) rule choices |
Implemented by: | File format plug-in |
Used by: | RealServer |
Header file: | rmaasm.h |
A file format plug-in implements this interface to receive rule subscription and unsubscription information for Adaptive Stream Management (ASM). RealServer calls this interface's methods to transmit the RealSystem client's rule subscription choices to the file format plug-in.
![]() |
Additional Information |
---|
See "Chapter 11: Adaptive Stream Management". |
The IRMAASMSource
interface contains the following methods:
As with all COM interfaces, the IRMAASMSource
interface inherits the following IUnknown
methods:
Informs a file format plug-in that a subscription has occurred to the supplied rule number and stream number.
STDMETHOD(Subscribe) (
THIS_
UINT16 uStreamNumber,
UINT16 uRuleNumber
) PURE;
Informs a file format plug-in that a unsubscription has occurred to the supplied rule number and stream number.
STDMETHOD(Unsubscribe) (
THIS_
UINT16 uStreamNumber,
UINT16 uRuleNumber
) PURE;
Purpose: | Informs RealServer of Adaptive Stream Management (ASM) rule subscription; adds stream sink objects |
Implemented by: | Stream object (RealSystem architecture) |
Used by: | Client and rendering plug-ins |
Header file: | rmaasm.h |
The RealSystem Client uses the IRMAASMStream::Subscribe
and IRMAASMStream::Unsubscribe
methods to inform RealServer of its Adaptive Stream Management subscription choices. A rendering plug-in can use the IRMAASMStream::AddStreamSink
method to define itself as a stream sink object that receives notice of rule subscriptions and unsubscriptions through IRMAASMStreamSink
.
![]() |
Additional Information |
---|
See "Chapter 11: Adaptive Stream Management". |
The IRMAASMStream
interface contains the following methods:
IRMAASMStream::AddStreamSink
IRMAASMStream::RemoveStreamSink
IRMAASMStream::Subscribe
IRMAASMStream::Unsubscribe
As with all COM interfaces, the IRMAASMStream
interface inherits the following IUnknown
methods:
Adds a stream sink to get subscribe and unsubscribe notifications.
STDMETHOD(AddStreamSink) (
THIS_
IRMAASMStreamSink* pASMStreamSink
) PURE;
IRMAASMStreamSink
interface that contains the rule subscriptions and unsubscriptions.
Removes an advise sink for getting subscribe and unsubscribe notifications.
STDMETHOD(RemoveStreamSink) (
THIS_
IRMAASMStreamSink* pASMStreamSink
) PURE;
IRMAASMStreamSink
interface to be removed.
Informs the RealServer core to subscribe to a particular rule number for this stream.
STDMETHOD(Subscribe) (
THIS_
UINT16 uRuleNumber
) PURE;
Informs the RealServer core to unsubscribe to a particular rule number for this stream.
STDMETHOD (Unsubscribe) (
THIS_
UINT16 uRuleNumber
) PURE;
Purpose: | Informs the renderer of Adaptive Stream Management (ASM) rule subscription and unsubscription |
Implemented by: | Rendering plug-in |
Used by: | RealSystem Client |
Header file: | rmaasm.h |
A rendering plug-in implements this interface if it sets itself up as a Adaptive Stream Management stream sink object with IRMAASMStream
. RealSystem then uses the IRMAASMStreamSink
::OnSubscribe
and IRMAASMStreamSink::OnUnsubscribe
methods to inform the renderer of stream rule subscription and unsubscription, respectively. This lets the renderer monitor for conditions not known to RealSystem architecture.
![]() |
Additional Information |
---|
See "Chapter 11: Adaptive Stream Management". |
The IRMAASMStreamSink
interface contains the following methods:
As with all COM interfaces, the IRMAASMStreamSink
interface inherits the following IUnknown
methods:
Informs a renderer that a stream rule subscription has occurred.
STDMETHOD (OnSubscribe) (
THIS_
UINT16 uRuleNumber
) PURE;
Informs a renderer that a stream rule unsubscription has occurred.
STDMETHOD (OnUnsubscribe) (
THIS_
UINT16 uRuleNumber
) PURE;
Purpose: | Information not yet available at publication. |
Implemented by: | Information not yet available at publication. |
Used by: | Information not yet available at publication. |
Header file: | rmamon.h |
An IRMAActivePropUser
interface can be set as the active user of a property in an IRMAActiveRegistry
interface. This causes the IRMAActivePropUser
interface to be consulted every time someone wants to change a property. The difference between this and a property watch is that this is asynchronous and can call a "done" method with a failure to cause the property to not be set, and this gets called instead of calling into the IRMAPNRegistry
interface. The response interface is IRMAActivePropUserResponse
.
The IRMAActivePropUser
interface contains the following methods:
IRMAActivePropUser::DeleteActiveProp
IRMAActivePropUser::SetActiveBuf
IRMAActivePropUser::SetActiveInt
IRMAActivePropUser::SetActiveStr
As with all COM interfaces, the IRMAActivePropUser
interface inherits the following IUnknown
methods:
Provides an asynchronous request to delete the active property.
STDMETHOD(DeleteActiveProp) (
THIS_
const char* pName,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMAActivePropUserResponse
interface that manages the response to this method.
Provides an asynchronous request to set the property to the specified buffer.
STDMETHOD(SetActiveBuf) (
THIS_
const char* pName,
IRMABuffer* pBuffer,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMABuffer
interface that manages the buffer with which the property is set.
IRMAActivePropUserResponse
interface that manages the response to this method.
Provides an asynchronous request to set the property to the specified integer value.
STDMETHOD(SetActiveInt) (
THIS_
const char* pName,
UINT32 ul,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMAActivePropUserResponse
interface that manages the response to this method.
Provides an asynchronous request to set the property to the specified string.
STDMETHOD(SetActiveStr) (
THIS_
const char* pName,
IRMABuffer* pBuffer,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMABuffer
interface that manages the string with which the property is set.
IRMAActivePropUserResponse
interface that manages the response to this method.
Purpose: | Responds to queries to set properties |
Implemented by: | Information not yet available at publication. |
Used by: | Information not yet available at publication. |
Header file: | rmamon.h |
The IRMAActivePropUserResponse
interface contains the following methods:
IRMAActivePropUserResponse::DeleteActivePropDone
IRMAActivePropUserResponse::SetActiveBufDone
IRMAActivePropUserResponse::SetActiveIntDone
IRMAActivePropUserResponse::SetActiveStrDone
As with all COM interfaces, the IRMAActivePropUserResponse
interface inherits the following IUnknown
methods:
Reports the status of the request to delete the active property.
STDMETHOD(DeleteActivePropDone) (
THIS_
PN_RESULT res,
const char* pName,
IRMABuffer* pInfo[],
UINT32 ulNumInfo
) PURE;
PNR_OK
indicates the operation has completed successfully.
Reports the status of the request to set the property to a specified buffer.
STDMETHOD(SetActiveBufDone) (
THIS_
PN_RESULT res,
const char* pName,
IRMABuffer* pBuffer,
IRMABuffer* pInfo[],
UINT32 ulNumInfo
) PURE;
PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the buffer to which the property was set.
Report the status of the request to set the property to an integer value.
STDMETHOD(SetActiveIntDone) (
THIS_
PN_RESULT res,
const char* pName,
UINT32 ul,
IRMABuffer* pInfo[],
UINT32 ulNumInfo
) PURE;
PNR_OK
indicates the operation has completed successfully.
Reports the status of the request to set the property to a specified string.
STDMETHOD(SetActiveStrDone) (
THIS_
PN_RESULT res,
const char* pName,
IRMABuffer* pBuffer,
IRMABuffer* pInfo[],
UINT32 ulNumInfo
) PURE;
PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the string to which the property was set.
Purpose: | Information not yet available at publication. |
Implemented by: | Information not yet available at publication. |
Used by: | Information not yet available at publication. |
Header file: | rmamon.h |
The IRMAActiveRegistry
interface contains the following methods:
IRMAActiveRegistry::DeleteActiveProp
IRMAActiveRegistry::IsActive
IRMAActiveRegistry::SetActiveBuf
IRMAActiveRegistry::SetActiveInt
IRMAActiveRegistry::SetActiveStr
IRMAActiveRegistry::SetAsActive
IRMAActiveRegistry::SetAsInactive
As with all COM interfaces, the IRMAActiveRegistry
interface inherits the following IUnknown
methods:
Provides an asynchronous request to delete the active property.
STDMETHOD(DeleteActiveProp) (
THIS_
const char* pName,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMAActivePropUserResponse
interface that manages the response to this method.
Returns TRUE
if a property has an active user that must be queried to change the value. Returns FALSE
if the value can just be set.
STDMETHOD_(BOOL, IsActive) (
THIS_
const char* pName
) PURE;
Provides an asynchronous request to set a property to a specified buffer.
STDMETHOD(SetActiveBuf) (
THIS_
const char* pName,
IRMABuffer* pBuffer,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMABuffer
interface that manages the buffer with which the property is set.
IRMAActivePropUserResponse
interface that manages the response to this method.
Provides an asynchronous request to set a property to a specified integer value.
STDMETHOD(SetActiveInt) (
THIS_
const char* pName,
UINT32 ul,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMAActivePropUserResponse
interface that manages the response to this method.
Provides an asynchronous request to set a property to a specified string.
STDMETHOD(SetActiveStr) (
THIS_
const char* pName,
IRMABuffer* pBuffer,
IRMAActivePropUserResponse* pResponse
) PURE;
IRMABuffer
interface that manages the string with which the property is set.
IRMAActivePropUserResponse
interface that manages the response to this method.
Sets a property to active and registers the active property user.
STDMETHOD(SetAsActive) (
THIS_
const char* pName,
IRMAActivePropUser* pUser
) PURE;
IRMAActivePropUser
interface that manages the active property user.
Removes an active property user from property activation.
STDMETHOD(SetAsInactive) (
THIS_
const char* pName,
IRMAActivePropUser* pUser
) PURE;
IRMAActivePropUser
interface that manages the active property user to remove.
Purpose: | Provides enumeration of authentication data |
Implemented by: | Database plug-in |
Used by: | Server core |
Header file: | rmadb.h |
This interface enumerates the users that exist in a database. The response interface is IRMAAsyncEnumAuthenticationDBResponse
.
The IRMAAsyncEnumAuthenticationDB
interface contains the following methods:
IRMAAsyncEnumAuthenticationDB::Clone
IRMAAsyncEnumAuthenticationDB::Next
IRMAAsyncEnumAuthenticationDB::Reset
IRMAAsyncEnumAuthenticationDB::Skip
As with all COM interfaces, the IRMAAsyncEnumAuthenticationDB
interface inherits the following IUnknown
methods:
Makes a new enumerator of this collection.
STDMETHOD(Clone) (
THIS_
REF(IRMAAsyncEnumAuthenticationDB*) pAsyncEnumAuthenticationDBNew
) PURE;
IRMAAsyncEnumAuthenticationDB
interface that manages the new enumerator.
Retrieves the next item in the collection.
STDMETHOD(Next) (
THIS_
IRMAAsyncEnumAuthenticationDBResponse* pAsyncEnumAuthenticationDBResponseNew
) PURE;
IRMAAsyncEnumAuthenticationDBResponse
interface that manages the response to this method.
Resets this enumerator to the beginning of the collection.
STDMETHOD(Reset) (
THIS_
IRMAAsyncEnumAuthenticationDBResponse* pAsyncEnumAuthenticationDBResponseNew
) PURE;
IRMAAsyncEnumAuthenticationDBResponse
interface that manages the response to this method.
Skips the indicated number of items in the collection, then retrieves the next item.
STDMETHOD(Skip) (
THIS_
IRMAAsyncEnumAuthenticationDBResponse* pAsyncEnumAuthenticationDBResponseNew,
UINT32 ulNumToSkip
) PURE;
IRMAAsyncEnumAuthenticationDBResponse
interface that manages the response to this method.
ulNumToSkip
+ 1 item.
Purpose: | Enumerates authentication data |
Implemented by: | Database user |
Used by: | Information not yet available at publication. |
Header file: | rmadb.h |
The IRMAAsyncEnumAuthenticationDBResponse
interface contains the following methods:
IRMAAsyncEnumAuthenticationDBResponse::ResetDone
IRMAAsyncEnumAuthenticationDBResponse::NextDone
IRMAAsyncEnumAuthenticationDBResponse::SkipDone
As with all COM interfaces, the IRMAAsyncEnumAuthentcationDBResponse
interface inherits the following IUnknown
methods:
Reports the status of the call to IRMAAsyncEnumAuthenticationDB::Reset
.
STDMETHOD(ResetDone) (
THIS_
PN_RESULT ResultStatus
) PURE;
IRMAAsyncEnumAuthenticationDB::Reset
operation. A value of PNR_OK
indicates the operation has completed successfully.
Reports the status of the call to IRMAAsyncEnumAuthenticationDB::Next
. If the call was successful, the pricipal ID is valid.
STDMETHOD(NextDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferNextPrincipalID
) PURE;
IRMAAsyncEnumAuthenticationDB::Next
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the next item in the collection.
Reports the status of the call to IRMAAsyncEnumAuthenticationDB::Skip
. If the call was successful, the principal ID is valid.
STDMETHOD(SkipDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferNextPrincipalID
) PURE;
IRMAAsyncEnumAuthenticationDB::Skip
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the next item, after the number skipped, in the collection.
Purpose: | Provides callbacks for UNIX I/O events handled by select() |
Implemented by: | RealSystem architecture |
Used by: | UNIX plug-in |
Header file: | rmaengin.h |
This interface is part of Network Services. On UNIX, RealSystem implements this interface to let plug-ins get callbacks based on I/O events that are normally handled by select()
. Through its two methods, this interface allows plug-ins to set up or cancel callbacks that are executed when a file descriptor is ready for reading or writing, or has an exception.
![]() |
Additional Information |
---|
See "Chapter 14: Network Services". See also IRMACallback .
|
The IRMAAsyncIOSelection
interface contains the following methods:
As with all COM interfaces, the IRMAAsyncIOSelection
interface inherits the following IUnknown
methods:
Adds a callback associated with the given file descriptor when the descriptor is ready for a read or a write, or has an exception. This method is only available on Unix, and replaces the functionality of select
.
STDMETHOD(Add) (
THIS_
IRMACallback* pCallback,
INT32 lFileDescriptor,
UINT32 ulType
) PURE;
IRMACallback
interface implemented by the user of this method. The IRMACallback::Func
method is called when the passed in file descriptor is ready for reading or writing, or has an exception.
select
.
Removes the callback associated with the given file descriptor from the event handler. This method is only available on Unix, and is intended to replace the functionality of select
.
STDMETHOD(Remove) (
THIS_
INT32 lFileDescriptor,
UINT32 ulType
) PURE;
select
was performed.
Purpose: | Cross-fades two audio streams |
Implemented by: | Information not yet available at publication. |
Used by: | Information not yet available at publication. |
Header file: | rmaausvc.h |
This interface is used to cross fade across two audio streams. This interface is exposed by IRMAAudioPlayer
.
The IRMAAudioCrossFade
interface contains the IRMAAudioCrossFade::CrossFade
method.
As with all COM interfaces, the IRMAAudioCrossFade
interface inherits the following IUnknown
methods:
Cross fades two audio streams.
STDMETHOD(CrossFade) (
THIS_
IRMAAudioStream* pStreamFrom,
IRMAAudioStream* pStreamTo,
UINT32 ulFromCrossFadeStartTime,
UINT32 ulToCrossFadeStartTime,
UINT32 ulCrossFadeDuration
) PURE;
IRMAAudioStream
interface that manages the stream from which to be cross faded.
IRMAAudioStream
interface that manages the stream to which to be cross faded.
Purpose: | Exports audio data to an audio device |
Implemented by: | Audio device object |
Used by: | Audio Services |
Header file: | rmaausvc.h |
This is the interface to the object that exports data to the audio device. It is currently to be used only by Audio Services.
The IRAMAudioDevice
interface contains the following methods:
IRMAAudioDevice::CheckFormat
IRMAAudioDevice::Close
IRMAAudioDevice::Drain
IRMAAudioDevice::GetCurrentAudioTime
IRMAAudioDevice::GetVolume
IRMAAudioDevice::InitVolume
IRMAAudioDevice::Open
IRMAAudioDevice::Pause
IRMAAudioDevice::Reset
IRMAAudioDevice::Resume
IRMAAudioDevice::SetVolume
IRMAAudioDevice::Write
As with all COM interfaces, the IRMAAudioDevice
interface inherits the following IUnknown
methods:
Checks the input format against the audio device format.
STDMETHOD(CheckFormat) (
THIS_
const RMAAudioFormat* pAudioFormat
) PURE;
RMAAudioFormat
structure that manages the audio device format.
STDMETHOD(Close) (
THIS_
const BOOL bFlush
) PURE;
TRUE
, reset the audio device before closing. If FALSE
, drain the audio device before closing.
Plays the buffers already written to the audio device before closing it.
STDMETHOD(Drain) (
THIS
) PURE;
Gets the current system audio time.
STDMETHOD(GetCurrentAudioTime) (
THIS_
REF(ULONG32) ulCurrentTime
) PURE;
Gets the audio device volume level.
STDMETHOD_(UINT16,GetVolume) (
THIS
) PURE;
Informs the audio stream of the client's volume range. The audio stream maps the client's volume range into the audio device volume range. Returns TRUE
if volume is supported by this audio device.
STDMETHOD_(BOOL,InitVolume) (
THIS_
const UINT16 uMinVolume,
const UINT16 uMaxVolume
) PURE;
Initializes the audio device and prepares it for writing using the given audio format.
STDMETHOD(Open) (
THIS_
const RMAAudioFormat* pAudioFormat,
IRMAAudioDeviceResponse* pStreamResponse
) PURE;
RMAAudioFormat
structure that contains the audio format.
IRMAAudioDeviceResponse
interface that manages the response to various methods in this interface.
STDMETHOD(Pause) (
THIS
) PURE;
STDMETHOD(Reset) (
THIS
) PURE;
Starts or resumes an audio playback.
STDMETHOD(Resume) (
THIS
) PURE;
Sets the audio device volume level.
STDMETHOD(SetVolume) (
THIS_
const UINT16 uVolume
) PURE;
STDMETHOD(Write) (
THIS_
const RMAAudioData* pAudioData
) PURE;
RMAAudioData
structure to which to write the audio data.
Purpose: | Replaces the default audio device |
Implemented by: | Audio Services |
Used by: | Audio device object |
Header file: | rmaausvc.h |
This interface replaces the audio device and adds an optional final hook. A top-level client might want to replace the default implementation of the audio device provided by the core if the client needs to mix the audio samples with some external audio source or wants to render in some special environment, such as 3D.
The IRMAAudioDeviceManager
interface contains the following methods:
IRMAAudioDeviceManager::AddFinalHook
IRMAAudioDeviceManager::GetAudioFormat
IRMAAudioDeviceManager::Remove
IRMAAudioDeviceManager::RemoveFinalHook
IRMAAudioDeviceManager::Replace
As with all COM interfaces, the IRMAAudioDeviceManager
interface inherits the following IUnknown
methods:
Provides one last chance to modify data being written to the audio device. This hook lets the user change the audio format that is to be written to the audio device. This can be done in the call to IRMAAudioHook::OnInit
.
STDMETHOD(SetFinalHook) (
THIS_
IRMAAudioHook* pHook
) PURE;
IRMAAudioHook
interface that manages access to the audio buffers.
Returns the audio format in which the audio device is opened. This method fills in the pre-allocated RMAAudioFormat
structure passed in to this method.
STDMETHOD(GetAudioFormat) (
THIS_
RMAAudioFormat* pAudioFormat
) PURE;
RMAAudioFormat
structure that contains the audio format information.
Removes the audio device given to the manager in the earlier call to IRMAAudioDeviceManager::Replace
.
STDMETHOD(Remove) (
THIS_
IRMAAudioDevice* pAudioDevice
) PURE;
IRMAAudioDevice
interface that manages the audio device to be removed.
Removes the final hook interface that was instantiated in IRMAAudioDeviceManager::AddFinalHook
.
STDMETHOD(RemoveFinalHook) (
THIS_
IRMAAudioHook* pHook
) PURE;
IRMAAudioHook
interface that manages the final hook to be removed.
Replaces the default implementation of the audio device by the given audio device interface.
STDMETHOD(Replace) (
THIS_
IRMAAudioDevice* pAudioDevice
) PURE;
IRMAAudioDevice
interface that manages the audio device with which to replace the default implementation.
Purpose: | Provides the response for the audio device object |
Implemented by: | Audio Services |
Used by: | Audio device object |
Header file: | rmaausvc.h |
This is the response interface to IRMAAudioDevice
. It is currently implemented only by Audio Services.
The IRMAAudioDeviceResponse
interface contains the IRMAAudioDeviceResponse::OnTimeSync
method.
As with all COM interfaces, the IRMAAudioDeviceResponse
interface inherits the following IUnknown
methods:
Notifies the user of the amount of audio, in milliseconds, that has been played since the start of the presentation. This method is called by IRMAAudioDevice
when audio playback occurs.
STDMETHOD(OnTimeSync) (
THIS_
ULONG32 ulTimeEnd
) PURE;
Purpose: | Provides access to audio buffers |
Implemented by: | Audio rendering plug-ins |
Used by: | Audio Services |
Header file: | rmaausvc.h |
An audio rendering plug-in implements this interface to receive pointers to IRMABuffer
objects of pre-mixed or post-mixed audio data. The plug-in can then create a new buffer of modified data and pass that back to Audio Services for mixing or playing on the output device. The plug-in sets up the pre-mix audio hook through IRMAAudioStream
and the post-mix hook through IRMAAudioPlayer
.
![]() |
Additional Information |
---|
See "Chapter 13: Audio Services". |
The IRMAAudioHook
interface contains the following interfaces:
As with all COM interfaces, the IRMAAudioHook
interface inherits the following IUnknown
methods:
Audio Services calls IRMAAudioHook::OnBuffer
with audio data packets. The renderer should not modify the data in the pData
member of the RMAAudioData
structure pointed to by pAudioInData
. If the renderer wants to write a modified version of the data back to Audio Services, then it should create its own IRMABuffer
, modify the data, then associate this buffer with the pData
member of the RMAAudioData
structure pointed to by pAudioOutData
.
STDMETHOD(OnBuffer) (
THIS_
RMAAudioData* pAudioInData,
RMAAudioData* pAudioOutData
) PURE;
RMAAudioData
structure.
RMAAudioData
structure.
Contains the audio data format of the audio data that will be provided in the IRMAAudioHook::OnBuffer
method.
STDMETHOD(OnInit) (
THIS_
RMAAudioFormat* pFormat
) PURE;
RMAAudioFormat
structure that manages the audio data format.
Purpose: | Provides access to an audio player object |
Implemented by: | Audio Services |
Used by: | Audio rendering plug-ins |
Header file: | rmaausvc.h |
An audio rendering plug-in uses this interface to register with Audio Services. The plug-in can then create audio streams, "hook" post-mixed audio data for modification by IRMAAudioHook
, and control volume levels through IRMAVolume
. After creating audio stream objects, the plug-in can access the objects through IRMAAudioStream
.
![]() |
Additional Information |
---|
See "Chapter 13: Audio Services". |
The IRMAAudioPlayer
interface contains the following methods:
IRMAAudioPlayer::AddPostMixHook
IRMAAudioPlayer::CreateAudioStream
IRMAAudioPlayer::GetAudioStream
IRMAAudioPlayer::GetAudioStreamCount
IRMAAudioPlayer::GetAudioVolume
IRMAAudioPlayer::GetDeviceVolume
IRMAAudioPlayer::RemovePostMixHook
IRMAAudioPlayer::RemoveStreamInfoResponse
IRMAAudioPlayer::SetStreamInfoResponse
As with all COM interfaces, the IRMAAudioPlayer
interface inherits the following IUnknown
methods:
Hooks audio data after all the audio streams in this have been mixed.
STDMETHOD(AddPostMixHook) (
THIS_
IRMAAudioHook* pHook,
const BOOL bDisableWrite,
const BOOL bFinal
) PURE;
IRMAAudioHook
interface that gets the post-processed audio buffers and their associated audio format.
STDMETHOD(CreateAudioStream) (
THIS_
IRMAAudioStream** pAudioStream
) PURE;
IRMAAudioStream
interface that manages the audio stream information and capabilities.
Get an audio stream at the given position.
STDMETHOD_(IRMAAudioStream*,GetAudioStream) (
THIS_
UINT16 uIndex
) PURE;
Gets the number of audio streams currently active in the audio player. Since streams can be added mid-presentation, this method can return different values on different calls. If the user needs to know about all the streams as they get added to the player, the IRMAAudioStreamInfoResponse
interface should be implemented and passed in IRMAAudioPlayer::SetStreamInfoResponse
.
STDMETHOD_(UINT16,GetAudioStreamCount) (
THIS
) PURE;
Gets the audio player's volume interface. This volume controls the volume level of all the mixed audio streams for this audio player.
STDMETHOD_(IRMAVolume*,GetAudioVolume) (
THIS
) PURE;
Gets the audio device volume interface. This volume controls the audio device volume levels.
STDMETHOD_(IRMAVolume*,GetDeviceVolume) (
THIS
) PURE;
Removes an already added post hook.
STDMETHOD(RemovePostMixHook) (
THIS_
IRMAAudioHook* pHook
) PURE;
IRMAAudioHook
interface that manages the post hook to be removed.
Removes the stream information response interface.
STDMETHOD(RemoveStreamInfoResponse) (
THIS_
IRMAAudioStreamInfoResponse* pResponse
) PURE;
IRMAAudioStreamInfoResponse
interface to remove.
Sets a stream information response interface. A client must have already implemented an IRMAAudioStreamInfoResponse
interface, and calls this method with the IRMAAudioStreamInfoResponse
interface as the parameter. The audio player calls IRMAAudioStreamInfoResponse::OnStream
with the total number of audio streams associated with this audio player.
STDMETHOD(SetStreamInfoResponse) (
THIS_
IRMAAudioStreamInfoResponse* pResponse
) PURE;
IRMAAudioStreamInfoResponse
interface that manages the total number of streams associated with this audio player.
Purpose: | Provides audio playback time synchronization |
Implemented by: | RealSystem Client |
Used by: | Audio Services |
Header file: | rmaausvc.h |
This response interface to IRMAAudioPlayer
is currently implemented only by the RealSystem client to receive audio synchronization information. The client passes this synchronization information to rendering plug-ins through IRMARenderer::OnTimeSync
.
![]() |
Additional Information |
---|
See "Timing and Synchronization". |
The IRMAAudioPlayerResponse
interface contains the IRMAAudioPlayerResponse::OnTimeSync
method.
As with all COM interfaces, the IRMAAudioPlayerResponse
interface inherits the following IUnknown
methods:
Contains the required synchronization information. This method is called with the current audio playback time.
STDMETHOD(OnTimeSync) (
THIS_
ULONG32 ulTimeEnd
) PURE;
Purpose: | Sets up the audio pushdown time |
Implemented by: | Information not yet available at publication. |
Used by: | Information not yet available at publication. |
Header file: | rmaausvc.h |
This interface reduces the amount of audio data that is pushed to the audio device before starting playback, which could be used to reduce overall latency in the system. This interface is queried from the IRMAClientEngine
interface.
The IRMAAudioPushdown
interface contains the IRMAAudioPushdown::SetAudioPushdown
method.
As with all COM interfaces, the IRMAAudioPushdown
interface inherits the following IUnknown
methods:
Sets the minimum audio pushdown value. This is the amount of audio data being written to the audio device before starting playback.
STDMETHOD(SetAudioPushdown) (
THIS_
UINT32 ulAudioPushdown
) PURE;
Purpose: | Provides access to audio stream objects |
Implemented by: | Audio stream object (Audio Services) |
Used by: | Audio rendering plug-ins |
Header file: | rmaausvc.h |
An audio rendering plug-in uses this interface to access audio stream objects. These objects contain the audio stream data before Audio Services mixes the audio and sends it to the output device. The IRMAAudioStream
interface lets the plug-in play audio, hook audio data for pre-mix processing with IRMAAudioHook
, receive audio stream information, and get the IRMAVolume
interface for a stream.
![]() |
Additional Information |
---|
See "Chapter 13: Audio Services". |
The IRMAAudioStream
interface contains the following methods:
IRMAAudioStream::AddDryNotification
IRMAAudioStream::AddPreMixHook
IRMAAudioStream::GetAudioVolume
IRMAAudioStream::GetStreamInfo
IRMAAudioStream::Init
IRMAAudioStream::RemovePreMixHook
IRMAAudioStream::Write
As with all COM interfaces, the IRMAAudioStream
interface inherits the following IUnknown
methods:
Adds a notification response interface to get notifications when an audio stream is running dry.
STDMETHOD(AddDryNotification) (
THIS_
IRMADryNotification* pNotification
) PURE;
IRMADryNotification
interface that manages the notification of when an audio stream is running out of data.
Hooks audio stream data prior to mixing.
STDMETHOD(AddPreMixHook) (
THIS_
IRMAAudioHook* pHook,
const BOOL bDisableWrite
) PURE;
IRMAAudioHook
interface that manages the pre-mixed audio data.
TRUE
, this audio stream data is prevented from mixing with other audio stream data associated with this audio player.
Gets the audio stream's volume interface. This volume controls the volume level for this audio stream.
STDMETHOD_(IRMAVolume*,GetAudioVolume) (
THIS
) PURE;
Gets specific information about this audio stream.
STDMETHOD_(IRMAValues*,GetStreamInfo) (
THIS
) PURE;
Initializes an audio stream with the given audio format.
STDMETHOD(Init) (
THIS_
const RMAAudioFormat* pAudioFormat,
IRMAValues* pValues
) PURE;
RMAAudioFormat
structure that manages the audio format.
IRMAValues
interface that manages the stream identification information.
Removes a specified pre-mix hook.
STDMETHOD(RemovePreMixHook) (
THIS_
IRMAAudioHook* pHook
) PURE;
IRMAAudioHook
interface that manages the pre-mix hook to be removed.
Writes audio data to Audio Services.
STDMETHOD(Write) (
THIS_
RMAAudioData* pAudioData
) PURE;
RMAAudioData
structure to which to write the audio data.
Purpose: | Provides access to audio stream objects |
Implemented by: | Audio stream object (Audio Services) |
Used by: | Audio rendering plug-ins |
Header file: | rmaausvc.h |
An audio rendering plug-in uses this interface to access audio stream objects. These objects contain the audio stream data before Audio Services mixes the audio and sends it to the output device. The IRMAAudioStream2
interface lets get the audio format and remove the dry stream notification interface.
The IRMAAudioStream2
interface contains the following methods:
As with all COM interfaces, the IRMAAudioStream2
interface inherits the following IUnknown
methods:
Returns the input audio format of the data written by the renderer. This method fills in the pre-allocated RMAAudioFormat
structure passed in.
STDMETHOD(GetAudioFormat) (
THIS_
RMAAudioFormat* pAudioFormat
) PURE;
RMAAudioFormat
structure that manages the audio format information.
Removes the notification response interface during the stream switching.
STDMETHOD(RemoveDryNotification) (
THIS_
IRMADryNotification* pNotification
) PURE;
IRMADryNotification
interface to remove.
Purpose: | Informs the renderer of the number of audio streams |
Implemented by: | Audio rendering plug-ins |
Used by: | Audio player object (Audio Services) |
Header file: | rmaausvc.h |
An audio rendering plug-in can implement this interface to receive notification of the total number of streams associated with an audio player object. After the plug-in registers as the information response object through IRMAAudioPlayer
, Audio Services calls IRMAAudioStreamInfoResponse
::OnStream
for each audio stream, passing the plug-in a pointer to each stream object.
The IRMAAudioStreamInfoResponse
interface contains the IRMAAudioStreamInfoResponse::OnStream
method.
As with all COM interfaces, the IRMAAudioStreamInfoResponse
interface inherits the following IUnknown
methods:
Gets notification of streams associated with this player. Use IRMAAudioPlayer::SetStreamInfoResponse
to register your implementation with the Audio Player. Once the player has been initialized, it calls IRMAAudioStreamInfoResponse::OnStream
multiple times to pass all the streams. Since a stream can be added in mid-presentation, an IRMAAudioStreamInfoResponse
interface should be written to handle IRMAAudioStreamInfoResponse::OnStream
in the midst of the presentation as well.
STDMETHOD(OnStream) (
THIS_
IRMAAudioStream* pAudioStream
) PURE;
IRMAAudioStream
interface that manages the audio stream associated with this player.
Purpose: | Provides access to authentication data |
Implemented by: | Database plug-in |
Used by: | Authentication plug-in |
Header file: | rmadb.h |
This interface gets information about users, or principals, that have been added to a database. Typically, a user database is used to create a realm for security purposes, either to limit access to the administrative screens, or to restrict which users can play clips. Another use of this interface is for a file system plug-in that serves up web pages to a web-based administrative tool. The response interface is IRMAAuthenticationDBAccessResponse
.
The IRMAAuthenticationDBAccess
interface contains the following methods:
IRMAAuthenticationDBAccess::_NewEnum
IRMAAuthenticationDBAccess::CheckExistence
IRMAAuthenticationDBAccess::GetCredentials
As with all COM interfaces, the IRMAAuthenticationDBAccess
interface inherits the following IUnknown
methods:
Makes a new enumerator of this collection. This enumerator can then be used to find all the principals in a particular database.
STDMETHOD(_NewEnum) (
THIS_
REF(IRMAAsyncEnumAuthenticationDB*) pAsyncEnumAuthenticationDBNew
) PURE;
IRMAAsyncEnumAuthenticationDB
interface that provides enumeration of authentication data.
Verifies the existance of a principal. This method is obsolete and should not be used in any new applications.
STDMETHOD(CheckExistence) (
THIS_
IRMAAuthenticationDBAccessResponse* pAuthenticationDBAccessResponseNew,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBAccessResponse
interface that manages the response to this method.
IRMABuffer
interface that manages the identification of the principal to be verified.
Accesses the credentials for the specified principal. In the simplest use, this means getting the password for a specific user ID. When credentials are encrypted, it is up to the user of this method to do their own decrypting.
STDMETHOD(GetCredentials) (
THIS_
IRMAAuthenticationDBAccessResponse* pAuthenticationDBAccessResponseNew,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBAccessResponse
interface that manages the response to this method.
IRMABuffer
interface that manages the identification of the principal.
Purpose: | Accesses the authentication data |
Implemented by: | Authentication plug-in |
Used by: | Database plug-in |
Header file: | rmadb.h |
All database calls are designed to be asynchronous. This interface provides the asynchronous response to the IRMAAuthenticationDBAccess
interface.
The IRMAAuthenticationDBAccessResponse
interface contains the following methods:
IRMAAuthenticationDBAccessResponse::ExistenceCheckDone
IRMAAuthenticationDBAccessResponse::GetCredentialsDone
As with all COM interfaces, the IRMAAuthenticationDBAccessResponse
interface inherits the following IUnknown
methods:
Responds to a test for the existence of a specified principal. This method is obsolete and should not be used in any new applications.
STDMETHOD(ExistenceCheckDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBAccess::CheckExistence
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the identification of the principal whose existence is being checked.
Responds to a request for credentials for a specified principal. An authentication plug-in might, for example, compare these credentials from the database to the credentials supplyed by the client and either begin to play a clip or send an RTSP header that indicates access is denied.
STDMETHOD(GetCredentialsDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferPrincipalID,
IRMABuffer* pBufferCredentials
) PURE;
IRMAAuthenticationDBAccess::GetCredentials
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the identification of the principal.
IRMABuffer
interface that manages the credentials.
Purpose: | Provides storage for authentication data |
Implemented by: | Database plug-in |
Used by: | File system plug-in |
Header file: | rmadb.h |
This interface is used by a file system plug-in to add users to a database, typically to populate an authentication realm. The response interface is IRMAAuthenticationDBManagerResponse
.
The IRMAAuthenticationDBManager
interface contains the following methods:
IRMAAuthenticationDBManager::AddPrincipal
IRMAAuthenticationDBManager::RemovePrincipal
IRMAAuthenticationDBManager::SetCredentials
As with all COM interfaces, the IRMAAuthenticationDBManager
interface inherits the following IUnknown
methods:
Adds the specified user to the database, if the user is not already there.
STDMETHOD(AddPrincipal) (
THIS_
IRMAAuthenticationDBManagerResponse* pAuthenticationDBManagerResponseNew,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBManagerResponse
interface that manages the response to this method.
IRMABuffer
interface that manages the identification of the user to be added to the database.
Removes the specified user from the database, if the user is there.
STDMETHOD(RemovePrincipal) (
THIS_
IRMAAuthenticationDBManagerResponse* pAuthenticationDBManagerResponseNew,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBManagerResponse
interface that manages the response to this method.
IRMABuffer
interface that manages the identification of the user to remove from the database.
Replaces the credentials for the specified user. Usually the credentials are a password (which might be encrypted). It is not the database's job to protect this data; when necessary, authentication plug-ins should protect this data before storing it.
STDMETHOD(SetCredentials) (
THIS_
IRMAAuthenticationDBManagerResponse* pAuthenticationDBManagerResponseNew,
IRMABuffer* pBufferPrincipalID,
IRMABuffer* pBufferCredentials
) PURE;
IRMAAuthenticationDBManagerResponse
interface that manages the response to this method.
IRMABuffer
interface that manages the identification of the user.
IRMABuffer
interface that manages the credentials to be replaced.
Purpose: | Manages storage for authentication data |
Implemented by: | File system plug-in |
Used by: | Database plug-in |
Header file: | rmadb.h |
This interface provides the asynchronous response to IRMAAuthenticationDBManager
. For example, a module might call a database plug-in's IRMAAuthenticationDBManager::AddPrincipal
method to add a user to the database, then in IRMAAuthenticationDBManagerResponse::AddPrincipalDone
, the module might send a response to the browser indicating that the user was successfully added.
The IRMAAuthenticationDBManagerResponse
interface contains the following methods:
IRMAAuthenticationDBManagerResponse::AddPrincipalDone
IRMAAuthenticationDBManagerResponse::RemovePrincipalDone
IRMAAuthenticationDBManagerResponse::SetCredentialsDone
As with all COM interfaces, the IRMAAuthenticationDBManagerResponse
interface inherits the following IUnknown
methods:
Responds to a request to add a user to the database.
STDMETHOD(AddPrincipalDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBManager::AddPrincipal
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the identification of the user that was added to the database.
Responds to a request to remove a user from the database.
STDMETHOD(RemovePrincipalDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBManager::RemovePrincipal
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the identification of the user that was removed from the database.
Responds to a request to set the user's credentials.
STDMETHOD(SetCredentialsDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferPrincipalID
) PURE;
IRMAAuthenticationDBManager::SetCredentials
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMABuffer
interface that manages the identification of the user whose credentials were replaced.
Purpose: | Directs the top-level client to get the username and password |
Implemented by: | Top-level client |
Used by: | Client core |
Header file: | rmaauth.h |
When authentication is required for a requested file, the RealSystem Client core calls IRMAAuthenticationManager::HandleAuthenticationRequest
to instruct the top-level client to gather the username and password (or other authentication parameters). The top-level client typically receives these from the user through a pop-up dialog. The response interface is IRMAAuthenticationManagerResponse
.
![]() |
Additional Information |
---|
See "Chapter 19: Authentication". |
The IRMAAuthenticationManager
interface contains the IRMAAuthenticationManager::HandleAuthenticationRequest
method.
As with all COM interfaces, the IRMAAuthenticationManager
interface inherits the following IUnknown
methods:
Gets a username and password, or other authentication parameters.
STDMETHOD(HandleAuthenticationRequest) (
THIS_
IRMAAuthenticationManagerResponse* pResponse
) PURE;
IRMAAuthenticationManagerResponse
interface that manages the response to the IRMAAuthenticationManager
interface.
Purpose: | Passes the username and password to the Client core |
Implemented by: | Client core |
Used by: | top-level client |
Header file: | rmaauth.h |
After gathering authentication parameters (username and password), the client calls IRMAAuthenticationManagerResponse::AuthenticationRequestDone
to pass the parameters to the client core. The client core then transports the parameters to RealServer.
![]() |
Additional Information |
---|
See "Chapter 19: Authentication". |
The IRMAAuthenticationManagerResponse
interface contains the IRMAAuthenticationManagerResponse::AuthenticationRequestDone
method.
As with all COM interfaces, the IRMAAuthenticationManagerResponse
interface inherits the following IUnknown
methods:
Contains the user name and password requested by the IRMAAuthenticationManager::HandleAuthenticationRequest
method.
STDMETHOD(AuthenticationRequestDone) (
THIS_
PN_RESULT result,
const char* pUserName,
const char* pPassword
) PURE;
PNR_OK
indicates the operation completed successfully.
Purpose: | Performs authentication checking on username/password pairs |
Implemented by: | Authenticator object (RealServer) |
Used by: | Component needing to authenticate users |
Header file: | rmaauth.h |
An authenticator object authenticates usernames and passwords against a password file stored on RealServer. A component that requires authentication checking creates an authenticator object with IRMACommonClassFactory
and then associates it with an authentication request object that contains the values to be authenticated. The authenticator object compares the supplied values to the password file and determines if the request is valid. The result goes to the authentication response object.
![]() |
Additional Information |
---|
See "Chapter 19: Authentication". |
The IRMAAuthenticator
interface contains the following methods:
IRMAAuthenticator::Authenticate
IRMAAuthenticator::AuthValuesReady
IRMAAuthenticator::GenerateAuthRequest
IRMAAuthenticator::InitAuthenticator
As with all COM interfaces, the IRMAAuthenticator
interface inherits the following IUnknown
methods:
Authenticate is called by a file object when it wants to ask the creator, presumably a file system manager, for authorization to open its file.
Authenticate will call IRMAAuthenticatorResponse::AuthenticateDone
when done with PNR_OK
or an error.
File objects will presumably perform the authenticate response as part of their Init() call, and not call InitDone until they receive a response one way or the other.
STDMETHOD(Authenticate) (
THIS_
IRMAValues* pValues,
IRMAAuthenticatorResponse* pResponse
) PURE;
IRMAAuthenticatorResponse
interface that manages the response to various methods in this interface.
Indicates the authenticator values are ready and supplies the values.
STDMETHOD(AuthValuesReady) (
THIS_
PN_RESULT result,
IRMAValues* pValues
) PURE;
IRMAAuthenticatorRequest:::GetAuthValues
operation. A value of PNR_OK
indicates the operation has completed successfully.
IRMAValues
interface that manages the requested authenticator values.
This method is for RealSystem internal use only and is not called by plug-ins performing authentication.
Initializes an IRMAAuthenticatorRequest
interface.
STDMETHOD(InitAuthenticator) (
THIS_
IRMAAuthenticatorRequest* pRequest
) PURE;
IRMAAuthenticatorRequest
interface being intialized.
Purpose: | Supplies username/password values to be authenticated |
Implemented by: | Component with access to supplied username and password |
Used by: | Authenticator object (RealServer) |
Header file: | rmaauth.h |
The authentication request object has access to the values (typically a username and password) that need to be authenticated.
The IRMAAuthenticatorRequest
interface contains the IRMAAuthenticatorRequest:::GetAuthValues
method.
As with all COM interfaces, the IRMAAuthenticatorRequest
interface inherits the following IUnknown
methods:
Gets the authorization information for this transaction.
STDMETHOD(GetAuthValues) (
THIS_
IRMAValues* pOrigValues
) PURE;
IRMAValues
interface that manages the values to be authenticated. These values are passed to the authenticator object.
Purpose: | Receives the result of an authentication request |
Implemented by: | Component that takes action on authentication success or failure |
Used by: | Authenticator object (RealServer) |
Header file: | rmaauth.h |
The authentication response interface receives notice that the authentication request succeeded or failed. After it performs the authentication, the authenticator object calls IRMAAuthenticatorResponse::AuthenticateDone
with a status code.
![]() |
Additional Information |
---|
See "Chapter 19: Authentication". See also "Chapter 15: Status Codes and Errors". |
The IRMAAuthenticatorResponse
interface contains the IRMAAuthenticatorResponse::AuthenticateDone
method.
As with all COM interfaces, the IRMAAuthenticatorResponse
interface inherits the following IUnknown
methods:
Indicates whether the authorization succeeded or failed. IRMAAuthenticatorResponse::AuthenticateDone
is called by an IRMAAuthenticator
interface when it has finished its authorization steps. If the result is PNR_OK
, then the IRMAValues
interface contains authorization information as generated by the IRMAPassword
interface.
STDMETHOD(AuthenticateDone) (
THIS_
PN_RESULT result,
IRMAValues* pAuthResponseValues
) PURE;
PNR_OK
indicates success.
result
is PNR_OK
, this parameter contains a pointer to an IRMAValues
interface that manages the authorization information.