Merge pull request #1016 from knnniggett/score

Fix issue with score values less than 0
This commit is contained in:
Isaac Connor
2015-08-14 08:51:47 -04:00

View File

@@ -567,13 +567,15 @@ void Event::AddFrame( Image *image, struct timeval timestamp, int score, Image *
struct DeltaTimeval delta_time;
DELTA_TIMEVAL( delta_time, timestamp, start_time, DT_PREC_2 );
bool db_frame = (score>=0) || ((frames%config.bulk_frame_interval)==0) || !frames;
const char *frame_type = score>0?"Alarm":(score<0?"Bulk":"Normal");
if ( score < 0 )
score = 0;
bool db_frame = (strcmp(frame_type,"Bulk") != 0) || ((frames%config.bulk_frame_interval)==0) || !frames;
if ( db_frame )
{
const char *frame_type = score>0?"Alarm":(score<0?"Bulk":"Normal");
Debug( 1, "Adding frame %d to DB", frames );
Debug( 1, "Adding frame %d of type \"%s\" to DB", frames, frame_type );
static char sql[ZM_SQL_MED_BUFSIZ];
snprintf( sql, sizeof(sql), "insert into Frames ( EventId, FrameId, Type, TimeStamp, Delta, Score ) values ( %d, %d, '%s', from_unixtime( %ld ), %s%ld.%02ld, %d )", id, frames, frame_type, timestamp.tv_sec, delta_time.positive?"":"-", delta_time.sec, delta_time.fsec, score );
if ( mysql_query( &dbconn, sql ) )
@@ -583,8 +585,8 @@ void Event::AddFrame( Image *image, struct timeval timestamp, int score, Image *
}
last_db_frame = frames;
// We are writing a bulk frame
if ( score < 0 )
// We are writing a Bulk frame
if ( !strcmp( frame_type,"Bulk") )
{
snprintf( sql, sizeof(sql), "update Events set Length = %s%ld.%02ld, Frames = %d, AlarmFrames = %d, TotScore = %d, AvgScore = %d, MaxScore = %d where Id = %d", delta_time.positive?"":"-", delta_time.sec, delta_time.fsec, frames, alarm_frames, tot_score, (int)(alarm_frames?(tot_score/alarm_frames):0), max_score, id );
if ( mysql_query( &dbconn, sql ) )
@@ -597,7 +599,8 @@ void Event::AddFrame( Image *image, struct timeval timestamp, int score, Image *
end_time = timestamp;
if ( score > 0 )
// We are writing an Alarm frame
if ( !strcmp( frame_type,"Alarm") )
{
alarm_frames++;