1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 19 #ifndef M4V_MEDIAINFO_H 20 #define M4V_MEDIAINFO_H 21 #include "media_info.h" 22 23 24 class m4v_mediaInfo : public mediaInfo 25 { 26 private: 27 28 double frameRate; 29 int iFrameInterval; 30 31 public: m4v_mediaInfo()32 m4v_mediaInfo() 33 { 34 mediaInfo(); 35 frameRate = 0.0; 36 iFrameInterval = -1; 37 38 }; 39 m4v_mediaInfo(const m4v_mediaInfo & pSource)40 m4v_mediaInfo(const m4v_mediaInfo &pSource) : mediaInfo(pSource) 41 { 42 43 setFrameRate(pSource.frameRate); 44 setIFrameInterval(pSource.iFrameInterval); 45 } 46 const m4v_mediaInfo & operator=(const m4v_mediaInfo &pSource) 47 { 48 if (this != &pSource) 49 { 50 ((mediaInfo&) *this) = pSource; 51 52 setFrameRate(pSource.frameRate); 53 setIFrameInterval(pSource.iFrameInterval); 54 } 55 return *this; 56 } 57 ~m4v_mediaInfo()58 ~m4v_mediaInfo() {}; 59 setFrameRate(double fRate)60 inline void setFrameRate(double fRate) 61 { 62 frameRate = fRate; 63 }; setIFrameInterval(int IFI)64 inline void setIFrameInterval(int IFI) 65 { 66 iFrameInterval = IFI; 67 }; 68 getFrameRate()69 inline double getFrameRate() 70 { 71 return frameRate; 72 }; getIFrameInterval()73 inline int getIFrameInterval() 74 { 75 return iFrameInterval; 76 }; 77 78 79 }; 80 81 #endif 82