@@ -33,6 +33,7 @@ namespace libfreenect2
33
33
34
34
DepthPacketStreamParser::DepthPacketStreamParser () :
35
35
processor_ (noopProcessor<DepthPacket>()),
36
+ processed_packets_ (-1 ),
36
37
current_sequence_ (0 ),
37
38
current_subsequence_ (0 )
38
39
{
@@ -79,7 +80,7 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
79
80
80
81
if (wb.length + in_length > wb.capacity )
81
82
{
82
- LOG_ERROR << " subpacket too large" ;
83
+ LOG_DEBUG << " subpacket too large" ;
83
84
wb.length = 0 ;
84
85
return ;
85
86
}
@@ -91,7 +92,7 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
91
92
{
92
93
if (footer->length != wb.length )
93
94
{
94
- LOG_ERROR << " image data too short!" ;
95
+ LOG_DEBUG << " image data too short!" ;
95
96
}
96
97
else
97
98
{
@@ -110,15 +111,26 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
110
111
packet.buffer_length = buffer_.back ().length ;
111
112
112
113
processor_->process (packet);
114
+
115
+ processed_packets_++;
116
+ if (processed_packets_ == 0 )
117
+ processed_packets_ = current_sequence_;
118
+ int diff = current_sequence_ - processed_packets_;
119
+ const int interval = 30 ;
120
+ if (current_sequence_ % interval == 0 && diff != 0 )
121
+ {
122
+ LOG_INFO << diff << " of " << interval << " packets were lost" ;
123
+ processed_packets_ = current_sequence_;
124
+ }
113
125
}
114
126
else
115
127
{
116
- LOG_WARNING << " skipping depth packet" ;
128
+ LOG_DEBUG << " skipping depth packet" ;
117
129
}
118
130
}
119
131
else
120
132
{
121
- LOG_ERROR << " not all subsequences received " << current_subsequence_;
133
+ LOG_DEBUG << " not all subsequences received " << current_subsequence_;
122
134
}
123
135
124
136
current_sequence_ = footer->sequence ;
@@ -132,7 +144,7 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
132
144
133
145
if (footer->subsequence * footer->length > fb.length )
134
146
{
135
- LOG_ERROR << " front buffer too short! subsequence number is " << footer->subsequence ;
147
+ LOG_DEBUG << " front buffer too short! subsequence number is " << footer->subsequence ;
136
148
}
137
149
else
138
150
{
0 commit comments