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_INTERNAL_VIDEOSTREAMINFO_IMPL_H_
26 #define _FMEDIA_INTERNAL_VIDEOSTREAMINFO_IMPL_H_
28 #include <FBaseObject.h>
29 #include <FBaseFloat.h>
30 #include <FMediaTypes.h>
32 namespace Tizen { namespace Media
35 class VideoStreamInfo;
38 // @class VideoStreamInfo
39 // @brief This class provides methods to get video information.
41 // This class provides methods to get video stream information, such as codec type, video width or height, bit rate,
45 class _VideoStreamInfoImpl
46 : public Tizen::Base::Object
50 // This is the destructor for this class.
53 virtual ~_VideoStreamInfoImpl(void);
57 // Gets the encoding type of a video.
59 // @return The value of the encoding type
61 CodecType GetCodecType(void) const;
64 // Gets the width of a video.
66 // @return The value of the video width
68 int GetWidth(void) const;
71 // Gets the height of a video.
73 // @return The value of the video height
75 int GetHeight(void) const;
78 // Gets the bit rate of a video.
80 // @return The video bit rate in bits per second (bps)
82 int GetBitRate(void) const;
85 // Gets the frame rate of a video.
87 // @return The video frame rate
89 float GetFrameRate(void) const;
92 // @see @ref Tizen::Media::VideoStreamInfo::Equals()
94 virtual bool Equals(const Object& obj) const;
97 // @see @ref Tizen::Media::VideoStreamInfo::GetHashCode()
99 virtual int GetHashCode(void) const;
103 // Initializes this instance of VideoStreamInfo with the specified parameters.
105 // @param [in] codecType The value of the encoding type
106 // @param [in] width The value of the video width
107 // @param [in] height The value of the video height
108 // @param [in] bitrate The video bit rate in bits per second (bps)
109 // @param [in] frameRate The video frame rate
111 _VideoStreamInfoImpl(CodecType codecType, int width, int height, int bitrate, float frameRate);
112 _VideoStreamInfoImpl(const _VideoStreamInfoImpl& rhs);
113 _VideoStreamInfoImpl& operator =(const _VideoStreamInfoImpl& rhs);
119 CodecType __codecType;
121 friend class VideoStreamInfo;