Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

MNRTPEncoderCommon.h

Go to the documentation of this file.
00001 /* Copyright (C) 2000 KOM/Darmstadt University of Technology 00002 * 00003 * You are allowed to use all other parts of the code under the following terms: 00004 * 00005 * For non-commercial use, code may be used in unmodified form provided 00006 * that this copyright notice and this permission notice appear in 00007 * supporting documentation. 00008 * 00009 * This software is provided "as is" and without any express or implied 00010 * warranties, including, without limitation, the implied warranty of 00011 * fitness for a particular purpose. 00012 * 00013 * The code may be subjected to the GNU General Public License, Version 2, 00014 * and re-distributed under the terms of this license. 00015 * As a special exception, permission is granted to link this code 00016 * with the Qt library and distribute executables, as long as you 00017 * follow the requirements of the GNU GPL in regard to all of the 00018 * software in the executable aside from Qt. 00019 * 00020 * Commercial use other than under the terms of the GNU General Public 00021 * License is allowed only after express negotiation of conditions 00022 * with the authors. 00023 */ 00024 #ifndef MNRTPENCODERCOMMON_H 00025 #define MNRTPENCODERCOMMON_H 00026 00027 #include "MNRTPEncoderBase.h" 00028 00029 /************************************************************** 00030 * Class: MNRTPEncoderCommon 00031 * Description: contains common encoder codec stuff 00032 * August 2001 00033 **************************************************************/ 00034 00035 class MNRTPEncoderCommon : public MNRTPEncoderBase 00036 { 00037 protected: 00045 Timeval _std_time_offset; 00046 00054 size_t _total_bytes_read; 00055 00062 size_t _absolute_byte_position; 00063 00067 size_t _accum_rtp_timestamp; 00068 00072 size_t _pulled_bytes; 00073 00074 Timeval get_std_timeout() const; 00075 void set_std_timeout( size_t pause ); 00076 00077 // RTP TIMESTAMP OFFSET 00078 00079 void inc_total_bytes_read( size_t sz ); 00080 size_t get_total_bytes_read( ) const; 00081 virtual size_t get_abs_byte_pos(); 00082 void inc_abs_byte_pos( size_t sz ); 00083 size_t get_accum_rtp_ts() const; 00084 void inc_accum_rtp_ts( size_t sz ); 00085 virtual void update_absolute_position( int32 offset ); 00086 void set_pulled_bytes( size_t pb ); 00087 size_t get_pulled_bytes( ); 00088 RetransBase* get_retrans( ); 00089 00090 00091 MNRTPEncoderCommon( RetransBase* retrans ); 00092 virtual ~MNRTPEncoderCommon(); 00093 00094 private: 00095 void set_retrans( RetransBase* retrans ); 00096 00097 private: 00101 RetransBase* _retrans; 00102 00103 private: 00105 MNRTPEncoderCommon( ); 00106 MNRTPEncoderCommon( const MNRTPEncoderCommon& ); 00107 MNRTPEncoderCommon& operator=( const MNRTPEncoderCommon& ); 00108 }; 00109 00110 #endif

Generated on Sun Mar 6 13:35:49 2005 for Komssys by doxygen 1.3.8