📄 hxlvpix.h
字号:
/* ***** BEGIN LICENSE BLOCK ***** * Source last modified: $Id: hxlvpix.h,v 1.1.32.3 2004/07/09 01:45:08 hubbe Exp $ * * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. * * The contents of this file, and the files included with this file, * are subject to the current version of the RealNetworks Public * Source License (the "RPSL") available at * http://www.helixcommunity.org/content/rpsl unless you have licensed * the file under the current version of the RealNetworks Community * Source License (the "RCSL") available at * http://www.helixcommunity.org/content/rcsl, in which case the RCSL * will apply. You may also obtain the license terms directly from * RealNetworks. You may not use this file except in compliance with * the RPSL or, if you have a valid RCSL with RealNetworks applicable * to this file, the RCSL. Please see the applicable RPSL or RCSL for * the rights, obligations and limitations governing use of the * contents of the file. * * Alternatively, the contents of this file may be used under the * terms of the GNU General Public License Version 2 or later (the * "GPL") in which case the provisions of the GPL are applicable * instead of those above. If you wish to allow use of your version of * this file only under the terms of the GPL, and not to allow others * to use your version of this file under the terms of either the RPSL * or RCSL, indicate your decision by deleting the provisions above * and replace them with the notice and other provisions required by * the GPL. If you do not delete the provisions above, a recipient may * use your version of this file under the terms of any one of the * RPSL, the RCSL or the GPL. * * This file is part of the Helix DNA Technology. RealNetworks is the * developer of the Original Code and owns the copyrights in the * portions it created. * * This file, and the files included with this file, is distributed * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET * ENJOYMENT OR NON-INFRINGEMENT. * * Technology Compatibility Kit Test Suite(s) Location: * http://www.helixcommunity.org/content/tck * * Contributor(s): * * ***** END LICENSE BLOCK ***** *//* * RealPix live encoder interfaces * */#ifndef _HXLVPIX_H#define _HXLVPIX_H/* * PixInitInfo * * This struct contains initialization information * and is passed in in the IHXLiveRealPix::StartEncoder() * method. All of the members of this struct are input variables. */typedef struct HXEXPORT_CLASS _PixInitInfo{ UINT32 m_ulStructLength; /* length in bytes of this structure */ char *m_pServerAddress; /* name or ip address of server */ UINT32 m_ulServerPort; /* pn-encoder port on server */ char *m_pUsername; /* username for authentication on server */ char *m_pPassword; /* password for authentication on server */ char *m_pFilename; /* filename which clients should open */ char *m_pTitle; /* title of live presentation */ char *m_pAuthor; /* author of live presentation */ char *m_pCopyright; /* copyright on live presentation */ UINT32 m_ulBitrate; /* bitrate of realpix stream */ UINT32 m_ulMaxFps; /* max frames per second of effects */ UINT32 m_ulDisplayWidth; /* display width in pixels */ UINT32 m_ulDisplayHeight; /* display height in pixels */ BOOL m_bPreserveAspect; /* preserve aspect ratio by default? */ char *m_pDefaultURL; /* default URL to send browser to when clicked */ UINT32 m_ulNumImageCodecs; /* number of image codecs used in this stream */ char **m_ppImageCodec; /* string names of codecs */ UINT32 m_ulNumEffectPackages; /* number of external effect packages used */ char **m_ppEffectPackage; /* string names of effect packages*/}PixInitInfo;/* * PixImageInfo * * This struct contains all the information for images which * should be sent down the stream. This struct is used in the * IHXLiveRealPix::InitImage() method. */typedef struct HXEXPORT_CLASS _PixImageInfo{ UINT32 m_ulStructLength; /* Input: size of struct */ BYTE *m_pImageBuffer; /* Input: buffer holding image data */ UINT32 m_ulImageBufferSize; /* Input: size of image buffer */ char *m_pImageCodec; /* Input: image codec to be used */ UINT32 m_ulHandle; /* Output: image handle */ UINT32 m_ulNumPackets; /* Output: number of packets image will be sent */ UINT32 m_ulTimeToSend; /* Output: milliseconds required to send image */}PixImageInfo;#define EFFECT_FILL 0#define EFFECT_FADEIN 1#define EFFECT_FADEOUT 2#define EFFECT_CROSSFADE 3#define EFFECT_WIPE 4#define EFFECT_VIEWCHANGE 5#define EFFECT_EXTERNAL 6#define EFFECT_ANIMATE 7#define WIPE_DIRECTION_UP 0#define WIPE_DIRECTION_DOWN 1#define WIPE_DIRECTION_LEFT 2#define WIPE_DIRECTION_RIGHT 3#define WIPE_TYPE_NORMAL 0#define WIPE_TYPE_PUSH 1/* * PixEffectInfo * * This struct contains all the information about the effect which * the RealPix renderer should perform. This struct is used in the * IHXLiveRealPix::SendEffect() method. */typedef struct HXEXPORT_CLASS _PixEffectInfo{ UINT32 m_ulStructLength; /* Input: Length in bytes of this struct */ BYTE m_ucEffectType; /* Input: Effect Type: EFFECT_FILL, EFFECT_FADEIN, etc. */ UINT32 m_ulStart; /* Input: Start time in milliseconds of effect */ UINT32 m_ulDuration; /* Input: Duration in milliseconds of effect */ UINT32 m_ulTarget; /* Input: Handle of image to perform effect on */ UINT32 m_ulSrcX; /* Input: Horizontal offset of source rectangle */ UINT32 m_ulSrcY; /* Input: Vertical offset of source rectangle */ UINT32 m_ulSrcW; /* Input: Width of source rectangle */ UINT32 m_ulSrcH; /* Input: Height of source rectangle */ UINT32 m_ulDstX; /* Input: Horizontal offset of destination rectangle */ UINT32 m_ulDstY; /* Input: Vertical offset of destination rectangle */ UINT32 m_ulDstW; /* Input: Width of destination rectangle */ UINT32 m_ulDstH; /* Input: Height of destination rectangle */ UINT32 m_ulMaxFps; /* Input: Max frames per second for this effect */ BOOL m_bAspectFlag; /* Input: TRUE: preserve aspect on this effect; FALSE: don't preserve */ BYTE m_ucRed; /* Input: Red component of fill or fadeout color */ BYTE m_ucGreen; /* Input: Green component of fill or fadeout color */ BYTE m_ucBlue; /* Input: Blue component of fill or fadeout color */ BYTE m_ucWipeDirection; /* Input: WIPE_DIRECTION_xxx, where xxx is UP, DOWN, LEFT, or RIGHT */ BYTE m_ucWipeType; /* Input: WIPE_TYPE_NORMAL or WIPE_TYPE_PUSH */ char *m_pURL; /* Input: URL for this effect */ char *m_pExtPackage; /* Input: Name of external effect package */ char *m_pExtName; /* Input: Name of external effect within the package */ char *m_pExtData; /* Input Opaque string data for external effect */ char *m_pExtFile; /* Input: File contents of external effect data */ BOOL m_bDiscardImage; /* Input: TRUE: discard image after doing effect; FALSE: don't discard */ BOOL m_bDisplayImmediately; /* Input: FALSE: obey start time; TRUE: do effect immediately */ UINT32 m_ulHandle; /* Output: Handle by which effect will be referred to */}PixEffectInfo;/* * Forward declarations of some interfaces defined here. */typedef _INTERFACE IHXLiveRealPix IHXLiveRealPix;typedef _INTERFACE IHXLiveRealPixResponse IHXLiveRealPixResponse;typedef _INTERFACE IHXLiveRealPixResend IHXLiveRealPixResend;/* * Forward declarations of interfaces used here */typedef _INTERFACE IHXValues IHXValues;/* * Declaration of the DLL entry point */STDAPI CreateLiveRealPix(IHXLiveRealPix **);typedef HX_RESULT (HXEXPORT_PTR FPRMCREATELIVEREALPIX)(IHXLiveRealPix **ppLiveRealPix);/**************************************************************************** * * Interface: * * IHXLivePix * * Purpose: * * Asynchronous interface that allows an application to encode live RealPix * * IID_IHXLiveRealPix: * * {E7ADF466-477D-11d2-AA0C-0060972D23A7} * */DEFINE_GUID(IID_IHXLiveRealPix, 0xe7adf466, 0x477d, 0x11d2, 0xaa, 0xc, 0x0, 0x60, 0x97, 0x2d, 0x23, 0xa7);#undef INTERFACE#define INTERFACE IHXLiveRealPixDECLARE_INTERFACE_(IHXLiveRealPix, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -