Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas
commit
3b0282f6ec
|
@ -537,7 +537,7 @@ MAIN: while( $loop ) {
|
|||
$cleaned = 0;
|
||||
Debug("Checking for Orphaned Frames");
|
||||
my $selectOrphanedFramesSql = 'SELECT DISTINCT EventId FROM Frames
|
||||
WHERE EventId NOT IN (SELECT Id FROM Events)';
|
||||
WHERE (SELECT COUNT(*) FROM Events WHERE Events.Id=EventId)=0';
|
||||
my $selectOrphanedFramesSth = $dbh->prepare_cached( $selectOrphanedFramesSql )
|
||||
or Fatal( "Can't prepare '$selectOrphanedFramesSql': ".$dbh->errstr() );
|
||||
$res = $selectOrphanedFramesSth->execute()
|
||||
|
|
|
@ -89,6 +89,7 @@ public:
|
|||
virtual int Capture( Image &image )=0;
|
||||
virtual int PostCapture()=0;
|
||||
virtual int CaptureAndRecord( Image &image, timeval recording, char* event_directory ) = 0;
|
||||
virtual int Close()=0;
|
||||
};
|
||||
|
||||
#endif // ZM_CAMERA_H
|
||||
|
|
|
@ -73,6 +73,7 @@ public:
|
|||
|
||||
void Initialise();
|
||||
void Terminate();
|
||||
int Close() { return 0; };
|
||||
|
||||
int PrimeCapture();
|
||||
int PreCapture();
|
||||
|
|
|
@ -137,7 +137,7 @@ FfmpegCamera::~FfmpegCamera() {
|
|||
delete videoStore;
|
||||
videoStore = NULL;
|
||||
}
|
||||
CloseFfmpeg();
|
||||
Close();
|
||||
|
||||
if ( capture ) {
|
||||
Terminate();
|
||||
|
@ -161,7 +161,7 @@ void FfmpegCamera::Terminate() {
|
|||
int FfmpegCamera::PrimeCapture() {
|
||||
if ( mCanCapture ) {
|
||||
Info( "Priming capture from %s, CLosing", mPath.c_str() );
|
||||
CloseFfmpeg();
|
||||
Close();
|
||||
}
|
||||
mVideoStreamId = -1;
|
||||
mAudioStreamId = -1;
|
||||
|
@ -631,7 +631,7 @@ int FfmpegCamera::OpenFfmpeg() {
|
|||
return 0;
|
||||
} // int FfmpegCamera::OpenFfmpeg()
|
||||
|
||||
int FfmpegCamera::CloseFfmpeg() {
|
||||
int FfmpegCamera::Close() {
|
||||
|
||||
Debug(2, "CloseFfmpeg called.");
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ class FfmpegCamera : public Camera {
|
|||
AVPacket packet;
|
||||
|
||||
int OpenFfmpeg();
|
||||
int CloseFfmpeg();
|
||||
int Close();
|
||||
bool mCanCapture;
|
||||
#endif // HAVE_LIBAVFORMAT
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ public:
|
|||
int Capture( Image &image );
|
||||
int PostCapture();
|
||||
int CaptureAndRecord( Image &image, timeval recording, char* event_directory ) {return(0);};
|
||||
int Close() { return 0; };
|
||||
};
|
||||
|
||||
#endif // ZM_FILE_CAMERA_H
|
||||
|
|
|
@ -72,6 +72,7 @@ public:
|
|||
int Capture( Image &image );
|
||||
int CaptureAndRecord( Image &image, timeval recording, char* event_directory );
|
||||
int PostCapture();
|
||||
int Close() { return 0; };
|
||||
};
|
||||
|
||||
#endif // HAVE_LIBVLC
|
||||
|
|
|
@ -163,6 +163,7 @@ public:
|
|||
int Capture( Image &image );
|
||||
int PostCapture();
|
||||
int CaptureAndRecord( Image &image, timeval recording, char* event_directory ) {return(0);};
|
||||
int Close() { return 0; };
|
||||
|
||||
static bool GetCurrentSettings( const char *device, char *output, int version, bool verbose );
|
||||
};
|
||||
|
|
|
@ -2770,6 +2770,7 @@ unsigned int Monitor::SubpixelOrder() const { return camera->SubpixelOrder(); }
|
|||
int Monitor::PrimeCapture() const { return camera->PrimeCapture(); }
|
||||
int Monitor::PreCapture() const { return camera->PreCapture(); }
|
||||
int Monitor::PostCapture() const { return camera->PostCapture() ; }
|
||||
int Monitor::Close() { return camera->Close(); };
|
||||
Monitor::Orientation Monitor::getOrientation() const { return orientation; }
|
||||
|
||||
Monitor::Snapshot *Monitor::getSnapshot() const {
|
||||
|
|
|
@ -485,6 +485,7 @@ public:
|
|||
int PreCapture() const;
|
||||
int Capture();
|
||||
int PostCapture() const;
|
||||
int Close();
|
||||
|
||||
unsigned int DetectMotion( const Image &comp_image, Event::StringSet &zoneSet );
|
||||
// DetectBlack seems to be unused. Check it on zm_monitor.cpp for more info.
|
||||
|
|
|
@ -57,7 +57,8 @@ public:
|
|||
int PreCapture();
|
||||
int Capture( Image &image );
|
||||
int PostCapture();
|
||||
int CaptureAndRecord( Image &image, timeval recording, char* event_directory ) {return(0);};
|
||||
int CaptureAndRecord( Image &image, timeval recording, char* event_directory ) {return 0;};
|
||||
int Close() { return 0; };
|
||||
};
|
||||
|
||||
#endif // ZM_REMOTE_CAMERA_HTTP_H
|
||||
|
|
|
@ -67,6 +67,7 @@ public:
|
|||
int Capture( Image &image );
|
||||
int PostCapture();
|
||||
int CaptureAndRecord( Image &image, timeval recording, char* event_directory ) {return(0);};
|
||||
int Close() { return 0; };
|
||||
};
|
||||
|
||||
#endif // ZM_REMOTE_CAMERA_NVSOCKET_H
|
||||
|
|
|
@ -87,6 +87,7 @@ public:
|
|||
int Capture( Image &image );
|
||||
int PostCapture();
|
||||
int CaptureAndRecord( Image &image, timeval recording, char* event_directory );
|
||||
int Close() { return 0; };
|
||||
};
|
||||
|
||||
#endif // ZM_REMOTE_CAMERA_RTSP_H
|
||||
|
|
|
@ -295,16 +295,19 @@ int main(int argc, char *argv[]) {
|
|||
if ( next_delays[i] <= min_delay || next_delays[i] <= 0 ) {
|
||||
if ( monitors[i]->PreCapture() < 0 ) {
|
||||
Error("Failed to pre-capture monitor %d %d (%d/%d)", monitors[i]->Id(), monitors[i]->Name(), i+1, n_monitors);
|
||||
monitors[i]->Close();
|
||||
result = -1;
|
||||
break;
|
||||
}
|
||||
if ( monitors[i]->Capture() < 0 ) {
|
||||
Error("Failed to capture image from monitor %d %s (%d/%d)", monitors[i]->Id(), monitors[i]->Name(), i+1, n_monitors);
|
||||
monitors[i]->Close();
|
||||
result = -1;
|
||||
break;
|
||||
}
|
||||
if ( monitors[i]->PostCapture() < 0 ) {
|
||||
Error("Failed to post-capture monitor %d %s (%d/%d)", monitors[i]->Id(), monitors[i]->Name(), i+1, n_monitors);
|
||||
monitors[i]->Close();
|
||||
result = -1;
|
||||
break;
|
||||
}
|
||||
|
@ -339,7 +342,6 @@ int main(int argc, char *argv[]) {
|
|||
delete [] capture_delays;
|
||||
delete [] next_delays;
|
||||
delete [] last_capture_times;
|
||||
sleep(10);
|
||||
} // end while ! zm_terminate outer connection loop
|
||||
|
||||
for ( int i = 0; i < n_monitors; i++ ) {
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 1351dde6b4c75b215099ae8bcf5a21d6c6e10298
|
||||
Subproject commit c3976f1478c681b0bbc132ec3a3e82c3984eeed5
|
|
@ -266,7 +266,6 @@ if ( ZM_OPT_X10 && canView( 'Devices' ) ) { ?>
|
|||
}
|
||||
// if canview_reports
|
||||
?>
|
||||
<li><a href="?view=report_event_audit"<?php echo $view=='report_event_audit'?' class="selected"':''?>><?php echo translate('ReportEventAudit') ?></a></li>
|
||||
<?php
|
||||
if (isset($_REQUEST['filter']['Query']['terms']['attr'])) {
|
||||
$terms = $_REQUEST['filter']['Query']['terms'];
|
||||
|
@ -288,6 +287,7 @@ if (isset($_REQUEST['filter']['Query']['terms']['attr'])) {
|
|||
<?php
|
||||
}
|
||||
?>
|
||||
<li><a href="?view=report_event_audit"<?php echo $view=='report_event_audit'?' class="selected"':''?>><?php echo translate('ReportEventAudit') ?></a></li>
|
||||
</ul>
|
||||
<?php } // end if canView('Monitors') ?>
|
||||
|
||||
|
|
|
@ -188,7 +188,7 @@ if ( (null !== $filter->Concurrent()) and $filter->Concurrent() )
|
|||
<?php } ?>
|
||||
<p class="Name">
|
||||
<label for="filter[Name]"><?php echo translate('Name') ?></label>
|
||||
<input type="text" id="filter[Name]" name="filter[Name]" value="<?php echo $filter->Name() ?>"/>
|
||||
<input type="text" id="filter[Name]" name="filter[Name]" value="<?php echo $filter->Name() ?>" oninput="updateButtons(this);"/>
|
||||
</p>
|
||||
<table id="fieldsTable" class="filterTable">
|
||||
<tbody>
|
||||
|
@ -398,11 +398,11 @@ if ( ZM_OPT_MESSAGE ) {
|
|||
</p>
|
||||
<p>
|
||||
<label for="background"><?php echo translate('BackgroundFilter') ?></label>
|
||||
<input type="checkbox" id="filter[Background]" name="filter[Background]" value="1"<?php if ( !empty($filter->Background()) ) { ?> checked="checked"<?php } ?>/>
|
||||
<input type="checkbox" id="filter[Background]" name="filter[Background]" value="1"<?php if ( !empty($filter->Background()) ) { ?> checked="checked"<?php } ?> onclick="updateButtons(this);"/>
|
||||
</p>
|
||||
<p>
|
||||
<label for="Concurrent"><?php echo translate('ConcurrentFilter') ?></label>
|
||||
<input type="checkbox" id="filter[Concurrent]" name="filter[Concurrent]" value="1"<?php if ( !empty($filter->Concurrent()) ) { ?> checked="checked"<?php } ?>/>
|
||||
<input type="checkbox" id="filter[Concurrent]" name="filter[Concurrent]" value="1"<?php if ( !empty($filter->Concurrent()) ) { ?> checked="checked"<?php } ?> onclick="updateButtons(this);"/>
|
||||
</p>
|
||||
</div>
|
||||
<hr/>
|
||||
|
|
|
@ -49,7 +49,7 @@ xhtmlHeaders(__FILE__, translate('Function'));
|
|||
<div id="content">
|
||||
The following monitors will have these settings update when you click Save:<br/><br/>
|
||||
<?php echo implode('<br/>', array_map( function($m){return $m->Id().' ' .$m->Name();}, $monitors ) ); ?>
|
||||
<form name="contentForm" id="contentForm" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
|
||||
<form name="contentForm" id="contentForm" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" onsubmit="$j('#contentButtons').hide();return true;">
|
||||
<input type="hidden" name="view" value="none"/>
|
||||
<input type="hidden" name="action" value="save"/>
|
||||
<input type="hidden" name="object" value="Monitor"/>
|
||||
|
@ -88,8 +88,8 @@ echo htmlSelect( 'newMonitor[Function]', $options, $monitor->Function() );
|
|||
<input type="checkbox" name="newMonitor[Enabled]" id="newMonitor[Enabled]" value="1"<?php if ( !empty($monitors[0]->Enabled()) ) { ?> checked="checked"<?php } ?>/>
|
||||
</p>
|
||||
<div id="contentButtons">
|
||||
<input type="submit" value="<?php echo translate('Save') ?>"/>
|
||||
<input type="button" value="<?php echo translate('Cancel') ?>" onclick="closeWindow()"/>
|
||||
<button type="submit" value="Save"><?php echo translate('Save') ?></button>
|
||||
<button onclick="closeWindow()"><?php echo translate('Cancel') ?></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -61,8 +61,8 @@ if (isset($_REQUEST['minTime']) && isset($_REQUEST['maxTime']) && count($display
|
|||
|
||||
if ( !isset($_REQUEST['minTime']) && !isset($_REQUEST['maxTime']) ) {
|
||||
$time = time();
|
||||
$maxTime = strftime('%FT%T',$time) - 3600;
|
||||
$minTime = strftime('%FT%T',$time - 2*3600);
|
||||
$maxTime = strftime('%FT%T',$time - 3600);
|
||||
$minTime = strftime('%FT%T',$time - (2*3600) );
|
||||
}
|
||||
if ( isset($_REQUEST['minTime']) )
|
||||
$minTime = validHtmlStr($_REQUEST['minTime']);
|
||||
|
|
Loading…
Reference in New Issue