Add alone pithy print

pull/2329/head
winlin 4 years ago
parent e67207f4b1
commit c2229d392a

@ -165,6 +165,30 @@ bool SrsErrorPithyPrint::can_print(int error_code, uint32_t* pnn)
return new_stage || stage->can_print();
}
SrsAlonePithyPrint::SrsAlonePithyPrint() : info_(0)
{
previous_tick_ = srs_get_system_time();
}
SrsAlonePithyPrint::~SrsAlonePithyPrint()
{
}
void SrsAlonePithyPrint::elapse()
{
srs_utime_t diff = srs_get_system_time() - previous_tick_;
previous_tick_ = srs_get_system_time();
diff = srs_max(0, diff);
info_.elapse(diff);
}
bool SrsAlonePithyPrint::can_print()
{
return info_.can_print();
}
// The global stage manager for pithy print, multiple stages.
static SrsStageManager* _srs_stages = new SrsStageManager();

@ -89,6 +89,20 @@ public:
bool can_print(int err, uint32_t* pnn = NULL);
};
// An standalone pithy print, without shared stages.
class SrsAlonePithyPrint
{
private:
SrsStageInfo info_;
srs_utime_t previous_tick_;
public:
SrsAlonePithyPrint();
virtual ~SrsAlonePithyPrint();
public:
virtual void elapse();
virtual bool can_print();
};
// The stage is used for a collection of object to do print,
// the print time in a stage is constant and not changed,
// that is, we always got one message to print every specified time.

Loading…
Cancel
Save