📄 rmacore.pas
字号:
IID_IRMAStreamSource: TGUID = '{00000401-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAStreamSource}
type
IRMAStreamSource = interface (IUnknown)
['{00000401-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAStreamSource::IsLive
* Purpose:
* Ask the source whether it is live
*
*)
function sLive: BOOL; stdcall;
(************************************************************************
* Method:
* IRMAStreamSource::GetPlayer
* Purpose:
* Get the interface to the player object of which the source is
* a part of.
*
*)
function GetPlayer(out pPlayer: IRMAPlayer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAStreamSource::GetURL
* Purpose:
* Get the URL for this source. NOTE: The returned string is
* assumed to be valid for the life of the IRMAStreamSource from which
* it was returned.
*
*)
function GetURL: PChar; stdcall;
(************************************************************************
* Method:
* IRMAStreamSource::GetStreamCount
* Purpose:
* Returns the current number of stream instances supported by
* this source instance.
*)
function GetStreamCount: UINT16; stdcall;
(************************************************************************
* Method:
* IRMAStreamSource::GetStream
* Purpose:
* Returns the Nth stream instance supported by this source.
*)
function GetStream(nIndex: UINT16; out pUnknown: IUnknown): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAStreamSource}
(****************************************************************************
*
* Interface:
*
* IRMAStream
*
* Purpose:
*
* Interface provided by the client engine to the renderers. This
* interface allows access to stream related information and properties.
*
* IID_IRMAStream:
*
* {00000400-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAStream: TGUID = '{00000400-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAStream}
type
IRMAStream = interface (IUnknown)
(************************************************************************
* Method:
* IRMAStream::GetSource
* Purpose:
* Get the interface to the source object of which the stream is
* a part of.
*
*)
function GetSource(out pSource: IRMAStreamSource): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAStream::GetStreamNumber
* Purpose:
* Get the stream number for this stream relative to the source
* object of which the stream is a part of.
*
*)
function GetStreamNumber: UINT16; stdcall;
(************************************************************************
* Method:
* IRMAStream::GetStreamType
* Purpose:
* Get the MIME type for this stream. NOTE: The returned string is
* assumed to be valid for the life of the IRMAStream from which it
* was returned.
*
*)
function GetStreamType: PChar; stdcall;
(************************************************************************
* Method:
* IRMAStream::GetHeader
* Purpose:
* Get the header for this stream.
*
*)
function GetHeader: IRMAValues; stdcall;
(************************************************************************
* Method:
* IRMAStream::ReportQualityOfService
* Purpose:
* Call this method to report to the playback context that the
* quality of service for this stream has changed. The unQuality
* should be on a scale of 0 to 100, where 100 is the best possible
* quality for this stream. Although the transport engine can
* determine lost packets and report these through the user
* interface, only the renderer of this stream can determine the
* "real" perceived damage associated with this loss.
*
* NOTE: The playback context may use this value to indicate loss
* in quality to the user interface. When the effects of a lost
* packet are eliminated the renderer should call this method with
* a unQuality of 100.
*
*)
function ReportQualityOfService(unQuality: UINT8): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAStream::ReportRebufferStatus
* Purpose:
* Call this method to report to the playback context that the
* available data has dropped to a critically low level, and that
* rebuffering should occur. The renderer should call back into this
* interface as it receives additional data packets to indicate the
* status of its rebuffering effort.
*
* NOTE: The values of unNeeded and unAvailable are used to indicate
* the general status of the rebuffering effort. For example, if a
* renderer has "run dry" and needs 5 data packets to play smoothly
* again, it should call ReportRebufferStatus() with 5,0 then as
* packet arrive it should call again with 5,1; 5,2... and eventually
* 5,5.
*
*)
function ReportRebufferStatus(unNeeded, unAvailable: UINT8): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAStream::SetGranularity
* Purpose:
* Sets the desired Granularity for this stream. The actual
* granularity will be the lowest granularity of all streams.
* Valid to call before stream actually begins. Best to call during
* IRMARenderer::OnHeader().
*)
function SetGranularity(ulGranularity: ULONG32): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAStream::GetRendererCount
* Purpose:
* Returns the current number of renderer instances supported by
* this stream instance.
*)
function GetRendererCount: UINT16; stdcall;
(************************************************************************
* Method:
* IRMAStream::GetRenderer
* Purpose:
* Returns the Nth renderer instance supported by this stream.
*)
function GetRenderer(nIndex: UINT16; out pUnknown: IUnknown): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAStream}
(****************************************************************************
*
* Interface:
*
* IRMAClientEngineSetup
*
* Purpose:
*
* Interface to the basic client engine. Provided to the renderers and
* other client side components.
*
* IID_IRMAClientEngineSetup:
*
* {00000405-0901-11d1-8B06-00A024406D59}
*)
const
IID_IRMAClientEngineSetup: TGUID = '{00000405-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAClientEngineSetup}
type
IRMAClientEngineSetup = interface (IUnknown)
['{00000405-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAClientEngineSetup::Setup
* Purpose:
* Top level clients use this interface to over-ride certain basic
* interfaces implemented by the core. Current over-ridable
* interfaces are: IRMAPreferences, IRMAHyperNavigate
*)
function Setup(pContext: IUnknown): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAClientEngineSetup}
(****************************************************************************
*
* Interface:
*
* IRMAInfoLogger
*
* Purpose:
*
* Interface to send any logging information back to the server.
* This information will appear in the server's access log.
*
* IID_IRMAInfoLogger:
*
* {00000409-0901-11d1-8B06-00A024406D59}
*)
const
IID_IRMAInfoLogger: TGUID = '{00000409-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAInfoLogger}
type
IRMAInfoLogger = interface (IUnknown)
['{00000409-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAInfoLogger::LogInformation
* Purpose:
* Logs any user defined information in form of action and
* associated data.
*)
function LogInformation(pAction, pData: PChar): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAInfoLogger}
(****************************************************************************
*
* Interface:
*
* IRMAPlayer2
*
* Purpose:
*
* Extra methods in addition to IRMAPlayer
*
* IID_IRMAPlayer2:
*
* {00000411-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAPlayer2: TGUID = '{00000411-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAPlayer2}
type
IRMAPlayer2 = interface (IUnknown)
['{00000411-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IID_IRMAPlayer2::SetMinimumPreroll
* Purpose:
* Call this method to set the minimum preroll of this clip
*)
function SetMinimumPreroll(ulMinPreroll: UINT32): HRESULT; stdcall;
(************************************************************************
* Method:
* IID_IRMAPlayer2::GetMinimumPreroll
* Purpose:
* Call this method to get the minimum preroll of this clip
*)
function GetMinimumPreroll(var ulMinPreroll: UINT32): HRESULT; stdcall;
(************************************************************************
* Method:
* IID_IRMAPlayer2::OpenRequest
* Purpose:
* Call this method to open the IRMARequest
*)
function OpenRequest(pRequest: IRMARequest): HRESULT; stdcall;
(************************************************************************
* Method:
* IID_IRMAPlayer2::GetRequest
* Purpose:
* Call this method to get the IRMARequest
*)
function GetRequest(out pRequest: IRMARequest): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAPlayer2}
implementation
function CreateEngine; external 'pnen3260.dll' name 'CreateEngine';
function CloseEngine; external 'pnen3260.dll' name 'CloseEngine';
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -