00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef MNRTPENCODERCOMMON_H
00025
#define MNRTPENCODERCOMMON_H
00026
00027
#include "MNRTPEncoderBase.h"
00028
00029
00030
00031
00032
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
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