Home | History | Annotate | Download | only in src
      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 Intels 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