⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmacore.pas

📁 Delphi源码REAlRMSDK.rar
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -