2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file FMediaVideoStreamInfo.h
20 * @brief This is the header file for the %VideoStreamInfo class.
22 * This header file contains the declarations of the %VideoStreamInfo class.
25 #ifndef _FMEDIA_VIDEO_STREAM_INFO_H_
26 #define _FMEDIA_VIDEO_STREAM_INFO_H_
28 #include <FBaseObject.h>
29 #include <FMediaTypes.h>
31 namespace Tizen { namespace Media
34 * @class VideoStreamInfo
35 * @brief This class provides methods to get video information.
39 * The %VideoStreamInfo class provides methods to get video stream information, such as codec type, video width or height, bit rate,
44 class _OSP_EXPORT_ VideoStreamInfo
45 : public Tizen::Base::Object
49 * This destructor overrides Tizen::Base::Object::~Object().
53 virtual ~VideoStreamInfo(void);
57 * Gets the encoding type of a video.
61 * @return The value of the encoding type
63 CodecType GetCodecType(void) const;
66 * Gets the width of a video.
70 * @return The value of the video width
72 int GetWidth(void) const;
75 * Gets the height of a video.
79 * @return The value of the video height
81 int GetHeight(void) const;
84 * Gets the bit rate of a video.
88 * @return The video bit rate in bits per second (bps)
90 int GetBitRate(void) const;
93 * Gets the frame rate of a video.
97 * @return The video frame rate
99 float GetFrameRate(void) const;
102 * Copying of objects using this copy constructor is allowed.
106 * @return The copy of this instance
107 * @param[in] rhs An instance of %VideoStreamInfo
109 VideoStreamInfo(const VideoStreamInfo & rhs);
112 * Copying of objects using this copy assignment operator is allowed.
116 * @return The reference of this instance
117 * @param[in] rhs An instance of %VideoStreamInfo
119 VideoStreamInfo & operator =(const VideoStreamInfo & rhs);
122 * Compares the specified instance of Tizen::Base::Object with the calling instance of %VideoStreamInfo.
126 * @return @c true if the value of the specified instance equals the value of the current instance, @n
128 * @param[in] rhs The object to compare with the current instance
130 virtual bool Equals(const Tizen::Base::Object& rhs) const;
133 * Gets the hash value of the current instance.
137 * @return The hash value of the current instance
139 virtual int GetHashCode(void) const;
143 * This default constructor is intentionally declared as private so that only the platform can create an instance.
145 * @param [in] codecType The value of the encoding type
146 * @param [in] width The value of the video width
147 * @param [in] height The value of the video height
148 * @param [in] bitrate The video bit rate in bits per second (bps)
149 * @param [in] frameRate The video frame rate
151 VideoStreamInfo(CodecType codecType, int width, int height, int bitrate, float frameRate);
154 friend class _PlayerImpl;
155 class _VideoStreamInfoImpl *__pVideoStreamInfoImpl;