MHEG5  15.3.0
source/classes/inc/mh5audio.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
00003  * Copyright © 2004 Ocean Blue Software Ltd
00004  * Copyright © 2000 Koninklijke Philips Electronics N.V
00005  *
00006  * This file is part of a DTVKit Software Component
00007  * You are permitted to copy, modify or distribute this file subject to the terms
00008  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
00009  * 
00010  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
00011  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
00012  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
00013  * 
00014  * If you or your organisation is not a member of DTVKit then you have access
00015  * to this source code outside of the terms of the licence agreement
00016  * and you are expected to delete this and any associated files immediately.
00017  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
00018  *******************************************************************************/
00033 #ifndef _MH5AUDIO_H
00034 #define _MH5AUDIO_H
00035 
00036 /*---includes for this file--------------------------------------------------*/
00037 #include "mh5presentable.h"
00038 #include "mh5stream.h"
00039 
00040 /*---Constant and macro definitions for public use---------------------------*/
00041 
00042 /*---Enumerations for public use---------------------------------------------*/
00043 
00044 /*---Global type defs for public use-----------------------------------------*/
00045 typedef struct
00046 {
00047    /* Base class */
00048    MHEG5Ingredient ingredient;
00049 
00050    /* Exchanged attributes */
00051    MHEG5Int originalVolume;
00052    MHEG5Int componentTag;
00053 
00054    /* Internal attributes */
00055    MHEG5Int volume;
00056 
00057    /* Engine data */
00058    MHEG5Stream *parent;
00059 } MHEG5Audio;
00060 
00061 /*---Global variable declarations for public use-----------------------------*/
00062 
00063 /*---Global Function prototypes for public use-------------------------------*/
00064 
00076 void MHEG5audioInit(MHEG5Audio *audio);
00077 
00078 
00086 void MHEG5audioFree(MHEG5Audio *audio);
00087 
00088 /*
00089      Internal behaviours
00090  */
00091 void MHEG5audioPrepare(MHEG5Audio *audio);
00092 void MHEG5audioActivate(MHEG5Audio *audio);
00093 void MHEG5audioDeactivate(MHEG5Audio *audio);
00094 void MHEG5audioDestruct(MHEG5Audio *audio);
00095 
00096 /*
00097      Actions
00098  */
00099 MHEG5ErrorCode MHEG5setVolume(MHEG5Root *target, MHEG5GList *params);
00100 MHEG5ErrorCode MHEG5getVolume(MHEG5Root *target, MHEG5GList *params);
00101 
00102 /*
00103    Debug
00104  */
00105 #ifdef MH5PRINTOUT
00106 void MHEG5audioPrint(MHEG5Audio *audio, char *out);
00107 #endif
00108 
00109 #endif /*_MH5AUDIO_H*/
 All Data Structures Files Functions Variables Typedefs Defines