@@ -116,11 +116,9 @@ void uvc_sensor::open( const stream_profiles & requests )
116116 auto && req_profile_base = std::dynamic_pointer_cast< stream_profile_base >( req_profile );
117117 try
118118 {
119- unsigned long long last_frame_number = 0 ;
120- rs2_time_t last_timestamp = 0 ;
121119 _device->probe_and_commit (
122120 req_profile_base->get_backend_profile (),
123- [this , req_profile_base, req_profile, last_frame_number, last_timestamp ](
121+ [this , req_profile_base, req_profile](
124122 platform::stream_profile p,
125123 platform::frame_object f,
126124 std::function< void () > continuation ) mutable
@@ -135,6 +133,9 @@ void uvc_sensor::open( const stream_profiles & requests )
135133 << f.backend_time << " " << system_time );
136134 return ;
137135 }
136+ auto last_frame_number = req_profile_base->getLastFrame ();
137+ auto last_timestamp = req_profile_base->getLastTimestamp ();
138+ LOG_DEBUG ( " [WOJTEK] last_frame_number/" << req_profile_base->get_stream_type () << " : " << last_frame_number);
138139
139140 auto && fr = generate_frame_from_data ( f,
140141 system_time,
@@ -160,24 +161,28 @@ void uvc_sensor::open( const stream_profiles & requests )
160161 fr->additional_data .frame_number = ++_accel_counter;
161162 else if ( stream_type == 2 ) // 2 == Gyro
162163 fr->additional_data .frame_number = ++_gyro_counter;
164+ LOG_DEBUG ( " [WOJTEK] overriding frame counter with motion stream data: " << frame_counter << ' /' << fr->additional_data .frame_number );
163165 frame_counter = fr->additional_data .frame_number ;
164166 }
165167
166168
167- LOG_DEBUG ( " FrameAccepted,"
168- << librealsense::get_string ( req_profile_base->get_stream_type () ) << " ,Counter,"
169- << std::dec << fr->additional_data .frame_number << " ,Index,"
170- << req_profile_base->get_stream_index () << " ,BackEndTS," << std::fixed << f.backend_time
171- << " ,SystemTime," << std::fixed << system_time << " ,diff_ts[Sys-BE],"
172- << system_time - f.backend_time << " ,TS," << std::fixed << timestamp << " ,TS_Domain,"
173- << rs2_timestamp_domain_to_string ( timestamp_domain ) << " ,last_frame_number,"
174- << last_frame_number << " ,last_timestamp," << last_timestamp );
169+ LOG_DEBUG ( " FrameAccepted:"
170+ << librealsense::get_string ( req_profile_base->get_stream_type () )
171+ << " , Counter:" << std::dec << fr->additional_data .frame_number
172+ << " , Index:" << req_profile_base->get_stream_index ()
173+ << " , BackEndTS:" << std::fixed << f.backend_time
174+ << " , SystemTime:" << std::fixed << system_time
175+ << " , diff_ts[Sys-BE]:" << system_time - f.backend_time
176+ << " , TS:" << std::fixed << timestamp
177+ << " , TS_Domain:" << rs2_timestamp_domain_to_string ( timestamp_domain )
178+ << " , last_frame_number:" << last_frame_number
179+ << " , last_timestamp:" << last_timestamp );
175180
176181 if ( frame_counter <= last_frame_number )
177- LOG_INFO ( " Frame counter reset" );
182+ LOG_INFO ( " Frame counter reset: " << last_frame_number << " => " << frame_counter );
178183
179- last_frame_number = frame_counter;
180- last_timestamp = timestamp;
184+ req_profile_base-> setLastFrame ( frame_counter) ;
185+ req_profile_base-> setLastTimestamp ( timestamp) ;
181186
182187 const auto && vsp = As< video_stream_profile, stream_profile_interface >( req_profile );
183188 int width = vsp ? vsp->get_width () : 0 ;
0 commit comments