rmapsink.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:4k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * 
  3.  *  $Id: rmapsink.h,v 1.1 2003/05/30 02:18:01 gabest Exp $
  4.  *
  5.  *  Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
  6.  *  
  7.  *  http://www.real.com/devzone
  8.  *
  9.  *  This program contains proprietary 
  10.  *  information of Progressive Networks, Inc, and is licensed
  11.  *  subject to restrictions on use and distribution.
  12.  *
  13.  *
  14.  *  RealMedia Architecture player creation interfaces.
  15.  *
  16.  */
  17. #ifndef _RMAPSINK_H_
  18. #define _RMAPSINK_H_
  19. /*
  20.  * Forward declarations of some interfaces defined here-in.
  21.  */
  22. typedef _INTERFACE       IRMAPlayer     IRMAPlayer;
  23. typedef _INTERFACE       IRMAPlayerSinkControl     IRMAPlayerSinkControl;
  24. typedef _INTERFACE       IRMAPlayerSinkControl     IRMAPlayerSinkControl;
  25. /****************************************************************************
  26.  * 
  27.  *  Interface:
  28.  * 
  29.  * IRMAPlayerCreationSink
  30.  * 
  31.  *  Purpose:
  32.  * 
  33.  * PlayerCreation Sink Interface
  34.  * 
  35.  *  IID_IRMAPlayerCreationSink:
  36.  * 
  37.  * {00002100-0901-11d1-8B06-00A024406D59}
  38.  * 
  39.  */
  40. DEFINE_GUID(IID_IRMAPlayerCreationSink, 0x00002100, 0x901, 0x11d1, 0x8b, 
  41. 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  42. #undef  INTERFACE
  43. #define INTERFACE   IRMAPlayerCreationSink
  44. DECLARE_INTERFACE_(IRMAPlayerCreationSink, IUnknown)
  45. {
  46.     /*
  47.      * IUnknown methods
  48.      */
  49.     STDMETHOD(QueryInterface) (THIS_
  50. REFIID riid,
  51. void** ppvObj) PURE;
  52.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  53.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  54.     /*
  55.      * IRMAPlayerCreationSink Methods
  56.      */
  57.     /************************************************************************
  58.      * Method:
  59.      *     IRMAPlayerCreationSink::PlayerCreated
  60.      * Purpose:
  61.      *     Notification when a new player is created
  62.      *
  63.      */
  64.     STDMETHOD(PlayerCreated) (THIS_
  65. IRMAPlayer* pPlayer) PURE;
  66.     
  67.     /************************************************************************
  68.      * Method:
  69.      *     IRMAPlayerCreationSink::PlayerClosed
  70.      * Purpose:
  71.      *     Notification when an exisitng player is closed
  72.      *
  73.      */
  74.     STDMETHOD(PlayerClosed) (THIS_
  75. IRMAPlayer* pPlayer) PURE;
  76. };
  77. /****************************************************************************
  78.  * 
  79.  *  Interface:
  80.  * 
  81.  * IRMAPlayerSinkControl
  82.  * 
  83.  *  Purpose:
  84.  * 
  85.  * Player SinkControl Interface
  86.  * 
  87.  *  IID_IRMAPlayerSinkControl:
  88.  * 
  89.  * {00002101-0901-11d1-8B06-00A024406D59}
  90.  * 
  91.  */
  92. DEFINE_GUID(IID_IRMAPlayerSinkControl, 0x00002101, 0x901, 0x11d1, 0x8b, 
  93.     0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
  94. #undef  INTERFACE
  95. #define INTERFACE   IRMAPlayerSinkControl
  96. DECLARE_INTERFACE_(IRMAPlayerSinkControl, IUnknown)
  97. {
  98.     /*
  99.      * IUnknown methods
  100.      */
  101.     STDMETHOD(QueryInterface) (THIS_
  102. REFIID riid,
  103. void** ppvObj) PURE;
  104.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  105.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  106.     /*
  107.      * IRMAPlayerSinkControl Methods
  108.      */
  109.     
  110.     /************************************************************************
  111.      * Method:
  112.      *     IRMAPlayerSinkControl::AddSink
  113.      * Purpose:
  114.      *     Add a new sink
  115.      *
  116.      */
  117.     STDMETHOD(AddSink) (THIS_
  118. IRMAPlayerCreationSink* pSink) PURE;
  119.     
  120.     /************************************************************************
  121.      * Method:
  122.      *     IRMAPlayerSinkControl::RemoveSink
  123.      * Purpose:
  124.      *     Remove an exisitng sink
  125.      *
  126.      */
  127.     STDMETHOD(RemoveSink) (THIS_
  128. IRMAPlayerCreationSink* pSink) PURE;
  129. };
  130. #endif /* _RMAPSINK_H_ */