1 /* 2 INTEL CONFIDENTIAL 3 Copyright 2009 Intel Corporation All Rights Reserved. 4 The source code contained or described herein and all documents related to the source code ("Material") are owned by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed, or disclosed in any way without Intel’s prior express written permission. 5 6 No license under any patent, copyright, trade secret or other intellectual property right is granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, estoppel or otherwise. Any license under such intellectual property rights must be express and approved by Intel in writing. 7 */ 8 9 #ifndef __MIX_ACP_MP3_H__ 10 #define __MIX_ACP_MP3_H__ 11 12 13 #include "mixacp.h" 14 15 /** 16 * MIX_TYPE_AUDIOCONFIGPARAMSMP3: 17 * 18 * Get type of class. 19 */ 20 #define MIX_TYPE_AUDIOCONFIGPARAMSMP3 (mix_acp_mp3_get_type ()) 21 22 /** 23 * MIX_AUDIOCONFIGPARAMSMP3: 24 * @obj: object to be type-casted. 25 * 26 * Type casting. 27 */ 28 #define MIX_AUDIOCONFIGPARAMSMP3(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIX_TYPE_AUDIOCONFIGPARAMSMP3, MixAudioConfigParamsMP3)) 29 30 /** 31 * MIX_IS_AUDIOCONFIGPARAMSMP3: 32 * @obj: an object. 33 * 34 * Checks if the given object is an instance of #MixAudioConfigParamsMP3 35 */ 36 #define MIX_IS_AUDIOCONFIGPARAMSMP3(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIX_TYPE_AUDIOCONFIGPARAMSMP3)) 37 38 /** 39 * MIX_AUDIOCONFIGPARAMSMP3_CLASS: 40 * @klass: class to be type-casted. 41 * 42 * Type casting. 43 */ 44 #define MIX_AUDIOCONFIGPARAMSMP3_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIX_TYPE_AUDIOCONFIGPARAMSMP3, MixAudioConfigParamsMP3Class)) 45 46 /** 47 * MIX_IS_AUDIOCONFIGPARAMSMP3_CLASS: 48 * @klass: a class. 49 * 50 * Checks if the given class is #MixAudioConfigParamsMP3Class 51 */ 52 #define MIX_IS_AUDIOCONFIGPARAMSMP3_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIX_TYPE_AUDIOCONFIGPARAMSMP3)) 53 54 /** 55 * MIX_AUDIOCONFIGPARAMSMP3_GET_CLASS: 56 * @obj: a #MixAudioConfigParams object. 57 * 58 * Get the class instance of the object. 59 */ 60 #define MIX_AUDIOCONFIGPARAMSMP3_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIX_TYPE_AUDIOCONFIGPARAMSMP3, MixAudioConfigParamsMP3Class)) 61 62 typedef struct _MixAudioConfigParamsMP3 MixAudioConfigParamsMP3; 63 typedef struct _MixAudioConfigParamsMP3Class MixAudioConfigParamsMP3Class; 64 65 /** 66 * MixAudioConfigParamsMP3: 67 * @parent: parent. 68 * @CRC: CRC. See #MIX_ACP_MP3_CRC 69 * @MPEG_format: <emphasis>Optional</emphasis>MPEG format of the mpeg audio. See #MIX_ACP_MP3_MPEG_FORMAT 70 * @MPEG_layer: <emphasis>Optional</emphasis>MPEG layer of the mpeg audio. See #MIX_ACP_MP3_MPEG_LAYER 71 * 72 * MI-X Audio Parameter object for MP3 Audio. 73 */ 74 struct _MixAudioConfigParamsMP3 75 { 76 /*< public >*/ 77 MixAudioConfigParams parent; 78 79 /*< public >*/ 80 /* Audio Format Parameters */ 81 gboolean CRC; 82 gint MPEG_format; 83 gint MPEG_layer; 84 85 /*< private >*/ 86 void* reserved1; 87 void* reserved2; 88 void* reserved3; 89 void* reserved4; 90 }; 91 92 /** 93 * MixAudioConfigParamsMP3Class: 94 * 95 * MI-X Audio object class 96 */ 97 struct _MixAudioConfigParamsMP3Class 98 { 99 /*< public >*/ 100 MixAudioConfigParamsClass parent_class; 101 102 /* class members */ 103 }; 104 105 /** 106 * mix_acp_mp3_get_type: 107 * @returns: type 108 * 109 * Get the type of object. 110 */ 111 GType mix_acp_mp3_get_type (void); 112 113 /** 114 * mix_acp_mp3_new: 115 * @returns: A newly allocated instance of #MixAudioConfigParamsMP3 116 * 117 * Use this method to create new instance of #MixAudioConfigParamsMP3 118 */ 119 MixAudioConfigParamsMP3 *mix_acp_mp3_new(void); 120 121 /** 122 * mix_acp_mp3_ref: 123 * @mix: object to add reference 124 * @returns: the MixAudioConfigParamsMP3 instance where reference count has been increased. 125 * 126 * Add reference count. 127 */ 128 MixAudioConfigParamsMP3 *mix_acp_mp3_ref(MixAudioConfigParamsMP3 *mix); 129 130 /** 131 * mix_acp_mp3_unref: 132 * @obj: object to unref. 133 * 134 * Decrement reference count of the object. 135 */ 136 #define mix_acp_mp3_unref(obj) mix_params_unref(MIX_PARAMS(obj)) 137 138 /* Class Methods */ 139 140 /** 141 * MIX_ACP_MP3_CRC: 142 * @obj: #MixAudioConfigParamsMP3 object. 143 * 144 * MixAudioConfigParamMP3.CRC accessor. 145 * 146 * <remark>Optional</remark> 147 */ 148 #define MIX_ACP_MP3_CRC(obj) (MIX_AUDIOCONFIGPARAMSMP3(obj)->CRC) 149 150 /** 151 * MIX_ACP_MP3_MPEG_FORMAT: 152 * @obj: #MixAudioConfigParamsMP3 object. 153 * 154 * MixAudioConfigParamMP3.MPEG_format accessor. 155 * 156 * Supported MPEG format should be 1 or 2. 157 */ 158 #define MIX_ACP_MP3_MPEG_FORMAT(obj) (MIX_AUDIOCONFIGPARAMSMP3(obj)->MPEG_format) 159 160 /** 161 * MIX_ACP_MP3_MPEG_LAYER: 162 * @obj: #MixAudioConfigParamsMP3 object. 163 * 164 * MixAudioConfigParamMP3.MPEG_layer accessor. 165 * 166 * Supported layer should be 1, 2, or 3. 167 */ 168 #define MIX_ACP_MP3_MPEG_LAYER(obj) (MIX_AUDIOCONFIGPARAMSMP3(obj)->MPEG_layer) 169 170 #endif /* __MIX_AUDIOCONFIGPARAMSMP3_H__ */ 171