@@ -3,6 +3,7 @@ package auto
33import (
44 "fmt"
55 "github.com/RoboCup-SSL/ssl-go-tools/internal/referee"
6+ "github.com/RoboCup-SSL/ssl-go-tools/pkg/index"
67 "github.com/RoboCup-SSL/ssl-go-tools/pkg/persistence"
78 "google.golang.org/protobuf/proto"
89 "log"
@@ -36,9 +37,20 @@ func (r *Recorder) Start() {
3637
3738func (r * Recorder ) Stop () {
3839 r .Recorder .StopReceiving ()
40+ r .StopRecording ()
41+ }
42+
43+ func (r * Recorder ) StopRecording () {
44+ log .Println ("Stop recording" )
3945 if err := r .Recorder .StopRecording (); err != nil {
4046 log .Println ("Failed to stop recorder: " , err )
4147 }
48+ if err := index .WriteIndex (r .logFileName ); err != nil {
49+ log .Println ("Could not index log file:" , r .logFileName , err )
50+ }
51+ if err := os .Rename (r .logFileName , filepath .Join (r .logFileDir , r .logFileName )); err != nil {
52+ log .Println ("Could not move log file" , err )
53+ }
4254}
4355
4456func (r * Recorder ) consumeMessage (message * persistence.Message ) {
@@ -60,13 +72,7 @@ func (r *Recorder) consumeMessage(message *persistence.Message) {
6072 }
6173 } else if r .Recorder .IsRecording () {
6274 if isPostGame (& refMsg ) || ! isTeamSet (& refMsg ) {
63- log .Println ("Stop recording" )
64- if err := r .Recorder .StopRecording (); err != nil {
65- log .Println ("Failed to stop recorder: " , err )
66- }
67- if err := os .Rename (r .logFileName , filepath .Join (r .logFileDir , r .logFileName )); err != nil {
68- log .Println ("Could not move log file" , err )
69- }
75+ r .StopRecording ()
7076 } else if ! r .Recorder .IsPaused () && isBreakStage (& refMsg ) {
7177 log .Println ("Pause recording" )
7278 r .Recorder .SetPaused (true )
0 commit comments