Merge "remove Doxygen warning" into tizen_2.1
[platform/framework/native/media.git] / inc / FMediaAudioStreamInfo.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                        FMediaAudioStreamInfo.h
20  * @brief                       This is the header file for the %AudioStreamInfo class.
21  *
22  * This header file contains the declarations of the %AudioStreamInfo class.
23  */
24
25 #ifndef _FMEDIA_AUDIO_STREAM_INFO_H_
26 #define _FMEDIA_AUDIO_STREAM_INFO_H_
27
28 #include <FBaseObject.h>
29 #include <FMediaAudioTypes.h>
30 #include <FMediaTypes.h>
31
32 namespace Tizen { namespace Media
33 {
34 /**
35  * @class        AudioStreamInfo
36  * @brief        This class provides methods to get audio stream information.
37  *
38  * @since               2.0
39  *
40  * The %AudioStreamInfo class provides methods to get audio stream information, such as codec type, bit rate, sample rate, and channel count.
41  *
42  */
43
44 class _OSP_EXPORT_ AudioStreamInfo
45         : public Tizen::Base::Object
46 {
47 public:
48         /**
49         * This destructor overrides Tizen::Base::Object::~Object().
50         *
51         * @since                2.0
52         */
53         virtual ~AudioStreamInfo(void);
54
55 public:
56         /**
57         * Gets the encoding type of an audio stream.
58         *
59         * @since                2.0
60         *
61         * @return               The value of the encoding type
62         *
63         */
64         CodecType GetCodecType(void) const;
65
66         /**
67         * Gets the bit rate of an audio.
68         *
69         * @since                2.0
70         *
71         * @return                        The audio bit rate in bits per second (bps)
72         */
73         int GetBitRate(void) const;
74
75         /**
76         * Gets the sampling rate of an audio.
77         *
78         * @since                2.0
79         *
80         * @return                        The audio sampling rate in Hertz (Hz)
81         */
82         int GetSampleRate(void) const;
83
84         /**
85         * Gets the audio channel of an audio.
86         *
87         * @since                2.0
88         *
89         * @return                        The audio channel type
90         */
91         AudioChannelType GetChannelType(void) const;
92
93         /**
94         * Copying of objects using this copy constructor is allowed.
95         *
96         * @since                2.0
97         *
98         * @return               The copy of this instance
99         * @param[in] rhs An instance of %AudioStreamInfo
100         */
101         AudioStreamInfo(const AudioStreamInfo & rhs);
102
103         /**
104         * Copying of objects using this copy assignment operator is allowed.
105         *
106         * @since                2.0
107         *
108         * @return The reference of this instance
109         * @param[in] rhs An instance of %AudioStreamInfo
110         */
111         AudioStreamInfo & operator =(const AudioStreamInfo & rhs);
112
113         /**
114         * Compares the specified instance of Tizen::Base::Object with the calling instance of %AudioStreamInfo.
115         *
116         * @since                2.0
117         *
118         * @return   @c true if the value of the specified instance equals the value of the current instance, @n
119         *                       else @c false
120         * @param[in]    rhs      The object to compare with the current instance
121         */
122         virtual bool Equals(const Tizen::Base::Object& rhs) const;
123
124         /**
125         * Gets the hash value of the current instance.
126         *
127         * @since                2.0
128         *
129         * @return   The hash value of the current instance
130         */
131         virtual int GetHashCode(void) const;
132
133 private:
134         /**
135         * This default constructor is intentionally declared as private so that only the platform can create an instance.
136         *
137         * @param [in]   codecType       The value of encoding type @n
138         * @param [in]   bitrate         The audio bit rate in bits per second (bps) @n
139         * @param [in]   sampleRate      The audio sample rate in Hertz (Hz) @n
140         * @param [in]   channel         The audio channel type @n
141         */
142         AudioStreamInfo(CodecType codecType, int bitrate, int sampleRate, AudioChannelType channel);
143
144 private:
145         class _AudioStreamInfoImpl *__pAudioStreamInfoImpl;
146         friend class _PlayerImpl;
147 };
148
149 }}//Tizen::Media
150
151 #endif