/**************************************************************************** * * $Id: rmmetain.h,v 1.12.62.3 2002/06/06 06:59:34 paule Exp $ * * Copyright (C) 1998-2002 RealNetworks, Inc. * All rights reserved. * * This program contains proprietary information of RealNetworks, Inc., * and is licensed subject to restrictions on use and distribution. * * * Interfaces used for accessing meta information to be written to the * the RealMedia file. */ #ifndef _RMMETAIN_H_ #define _RMMETAIN_H_ /* * Forward declarations of some interfaces defined here-in. */ typedef _INTERFACE IUnknown IUnknown; typedef _INTERFACE IRMARMMetaInformation IRMARMMetaInformation; typedef _INTERFACE IRMAValues IRMAValues; // constant strings defined for Meta Information names // these will be automatically searched for by search engines #define RM_PROPERTY_KEYWORDS "Keywords" #define RM_PROPERTY_DESCRIPTION "Description" #define RM_PROPERTY_GENERATOR "Generated By" // application which created the file, by default this will be set to RealMedia Build Engine #define RM_PROPERTY_CONTENT_RATING "Content Rating" // the following properties will be automatically added by the Build Engine #define RM_PROPERTY_CREATION_DATE "Creation Date" #define RM_PROPERTY_MODIFICATION_DATE "Modification Date" #define RM_PROPERTY_TARGET_AUDIENCES "Audiences" #define RM_PROPERTY_AUDIO_FORMAT "audioMode" #define RM_PROPERTY_VIDEO_QUALITY "videoMode" // when we are archiving a file on the encoding machine during a live broadcast, we save the // clock-time at which the stream began, since the file is timestamped from 0 // this value will not be present in files which are not archived broadcasts #define RM_PROPERTY_CLOCK_START_TIME "Clock Start Time" // UINT32 /**************************************************************************** * * Interface: * * IRMARMMetaInformation * * Purpose: * * Supports adding Meta Information (in name value pairs) to the media file * * IID_IRMARMMetaInformation: * * {983CB831-BC9D-11d2-8799-00C0F031938B} * * */ DEFINE_GUID(IID_IRMARMMetaInformation, 0x983cb831, 0xbc9d, 0x11d2, 0x87, 0x99, 0x0, 0xc0, 0xf0, 0x31, 0x93, 0x8b); #undef INTERFACE #define INTERFACE IRMARMMetaInformation DECLARE_INTERFACE_(IRMARMMetaInformation, IUnknown) { /***********************************************************************/ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(UINT32,AddRef) (THIS) PURE; STDMETHOD_(UINT32,Release) (THIS) PURE; /***********************************************************************/ /* * IRMARMMetaInformation methods */ /************************************************************************ * Method: * IRMARMMetaInformation::GetMetaProperties * Purpose: * Get the Meta Information currently stored in the active stream * This returns a pointer to the IRMAValues that contains all of the * properties. * Parameters: * ppValues - [out] IRMAValues pointer to get the existing values */ STDMETHOD(GetMetaInformation) (THIS_ IRMAValues** ppValues) PURE; }; #endif //_RMMETAIN_H_