📄 rmaasm.pas
字号:
unit RmaAsm;
interface
uses
PnTypes, RmaPckts;
//***************************************************************************
//
// $Id: rmaasm.h,v 1.10 1999/01/29 18:32:10 hboone Exp $
//
// Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
//
// http://www.real.com/devzone
//
// This program contains proprietary
// information of Progressive Networks, Inc, and is licensed
// subject to restrictions on use and distribution.
//
//
// RealMedia Architecture Interfaces for Adaptive Stream Management and
// Backchannel Support.
//
//
//***************************************************************************
//
// Interface:
//
// IRMABackChannel
//
// Purpose:
//
// Backchannel interface to be used by renderers and implemented by
// FileFormat Plugins
//
// IID_IRMABackChannel:
//
// {00001500-0901-11d1-8B06-00A024406D59}
//
//
const
IID_IRMABackChannel: TGUID = '{00001500-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMABackChannel}
type
IRMABackChannel = interface (IUnknown)
['{00001500-0901-11d1-8B06-00A024406D59}']
//***********************************************************************
// Method:
// IRMABackChannel::PacketReady
// Purpose:
// A back channel packet sent from Renderer to FileFormat plugin.
//
function PacketReady(pPacket: IRMAPacket): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMABackChannel}
//***************************************************************************
//
// Interface:
//
// IRMAASMSource
//
// Purpose:
//
// This interface is implemented by file formats so that they can
// act on ASM Subscribe and Unsubscribe actions.
//
// IID_IRMAASMSource:
//
// {00001501-0901-11d1-8B06-00A024406D59}
//
//
const
IID_IRMAASMSource: TGUID = '{00001501-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAASMSource}
type
IRMAASMSource = interface (IUnknown)
['{00001501-0901-11d1-8B06-00A024406D59}']
//***********************************************************************
// Method:
// IRMAASMSource::Subscribe
// Purpose:
// Called to inform a file format that a subscription has occurred,
// to rule number uRuleNumber, for stream uStreamNumber.
//
function Subscribe(uStreamNumber, uRuleNumber: UINT16): HRESULT; stdcall;
//***********************************************************************
// Method:
// IRMAASMSource::Unsubscribe
// Purpose:
// Called to inform a file format that a unsubscription has occurred,
// to rule number uRuleNumber, for stream uStreamNumber.
//
function Unsubscribe(uStreamNumber, uRuleNumber: UINT16): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAASMSource}
//***************************************************************************
//
// Interface:
//
// IRMAASMStreamSink
//
// Purpose:
// This is a advise sink for getting notification about subscriptions
// and unsubscriptions for a stream.
//
// IID_IRMAASMStream:
//
// {00001503-0901-11d1-8B06-00A024406D59}
//
//
const
IID_IRMAASMStreamSink: TGUID = '{00001503-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAASMStreamSink}
type
IRMAASMStreamSink = interface (IUnknown)
['{00001503-0901-11d1-8B06-00A024406D59}']
//***********************************************************************
// Method:
// IRMAASMStreamSink::OnSubscribe
// Purpose:
// Called to inform you that a subscribe has occurred.
//
function OnSubscribe(uRuleNumber: UINT16): HRESULT; stdcall;
//***********************************************************************
// Method:
// IRMAASMStreamSink::OnUnsubscribe
// Purpose:
// Called to inform you that a unsubscribe has occurred.
//
function OnUnsubscribe(uRuleNumber: UINT16): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAASMStreamSink}
//***************************************************************************
//
// Interface:
//
// IRMAASMStream
//
// Purpose:
// This interface is implemented by the client core. Top level clients
// renderers, etc can query for this interface off of IRMAStream. This
// interface allows you to subscribe and unsubscribe to certain rules,
// and it also allows you to add a advise sink for these events.
//
// IID_IRMAASMStream:
//
// {00001502-0901-11d1-8B06-00A024406D59}
//
//
const
IID_IRMAASMStream: TGUID = '{00001502-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAASMStream}
type
IRMAASMStream = interface (IUnknown)
['{00001502-0901-11d1-8B06-00A024406D59}']
//***********************************************************************
// Method:
// IRMAASMStream::AddASMStreamSink
// Purpose:
// Add an advise sink for getting subscribe and unsubscribe
// notifications.
//
function AddStreamSink(pASMStreamSink: IRMAASMStreamSink): HRESULT; stdcall;
//***********************************************************************
// Method:
// IRMAASMStream::RemoveStreamSink
// Purpose:
// Remove an advise sink for getting subscribe and unsubscribe
// notifications.
//
function RemoveStreamSink(pASMStreamSink: IRMAASMStreamSink): HRESULT; stdcall;
//***********************************************************************
// Method:
// IRMAASMStream::Subscribe
// Purpose:
// Called by renderers and possibly even top level clients to
// inform the core to subscribe to a particular rule number for
// this stream.
//
function Subscribe(uRuleNumber: UINT16): HRESULT; stdcall;
//***********************************************************************
// Method:
// IRMAASMStream::Unsubscribe
// Purpose:
// Called by renderers and possibly even top level clients to
// inform the core to unsubscribe to a particular rule number for
// this stream.
//
function Unsubscribe(uRuleNumber: UINT16): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAASMStream}
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -