Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas
commit
eb93c75100
|
@ -45,8 +45,7 @@ use ZoneMinder::Config qw(:all);
|
||||||
|
|
||||||
use Time::HiRes qw( usleep );
|
use Time::HiRes qw( usleep );
|
||||||
|
|
||||||
sub new
|
sub new {
|
||||||
{
|
|
||||||
my $class = shift;
|
my $class = shift;
|
||||||
my $id = shift;
|
my $id = shift;
|
||||||
my $self = ZoneMinder::Control->new( $id );
|
my $self = ZoneMinder::Control->new( $id );
|
||||||
|
@ -57,21 +56,18 @@ sub new
|
||||||
|
|
||||||
our $AUTOLOAD;
|
our $AUTOLOAD;
|
||||||
|
|
||||||
sub AUTOLOAD
|
sub AUTOLOAD {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $class = ref($self) || croak( "$self not object" );
|
my $class = ref($self) || croak( "$self not object" );
|
||||||
my $name = $AUTOLOAD;
|
my $name = $AUTOLOAD;
|
||||||
$name =~ s/.*://;
|
$name =~ s/.*://;
|
||||||
if ( exists($self->{$name}) )
|
if ( exists($self->{$name}) ) {
|
||||||
{
|
|
||||||
return( $self->{$name} );
|
return( $self->{$name} );
|
||||||
}
|
}
|
||||||
Fatal( "Can't access $name member of object of class $class" );
|
Fatal( "Can't access $name member of object of class $class" );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub open
|
sub open {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
$self->loadMonitor();
|
$self->loadMonitor();
|
||||||
|
@ -83,14 +79,12 @@ sub open
|
||||||
$self->{state} = 'open';
|
$self->{state} = 'open';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub close
|
sub close {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->{state} = 'closed';
|
$self->{state} = 'closed';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub printMsg
|
sub printMsg {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $msg = shift;
|
my $msg = shift;
|
||||||
my $msg_len = length($msg);
|
my $msg_len = length($msg);
|
||||||
|
@ -98,8 +92,7 @@ sub printMsg
|
||||||
Debug( $msg."[".$msg_len."]" );
|
Debug( $msg."[".$msg_len."]" );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub sendCmd
|
sub sendCmd {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $cmd = shift;
|
my $cmd = shift;
|
||||||
|
|
||||||
|
@ -117,28 +110,23 @@ sub sendCmd
|
||||||
|
|
||||||
my $res = $self->{ua}->request($req);
|
my $res = $self->{ua}->request($req);
|
||||||
|
|
||||||
if ( $res->is_success )
|
if ( $res->is_success ) {
|
||||||
{
|
|
||||||
$result = !undef;
|
$result = !undef;
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
Error( "Error check failed: '".$res->status_line()."'" );
|
Error( "Error check failed: '".$res->status_line()."'" );
|
||||||
}
|
}
|
||||||
|
|
||||||
return( $result );
|
return( $result );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub reset
|
sub reset {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
Debug( "Camera Reset" );
|
Debug( "Camera Reset" );
|
||||||
my $cmd = "/admin/ptctl.cgi?move=reset";
|
my $cmd = "/admin/ptctl.cgi?move=reset";
|
||||||
$self->sendCmd( $cmd );
|
$self->sendCmd( $cmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub moveMap
|
sub moveMap {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $xcoord = $self->getParam( $params, 'xcoord' );
|
my $xcoord = $self->getParam( $params, 'xcoord' );
|
||||||
|
@ -189,8 +177,7 @@ sub moveMap
|
||||||
$self->sendCmd( $cmd );
|
$self->sendCmd( $cmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub moveRelUp
|
sub moveRelUp {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $step = $self->getParam( $params, 'tiltstep' );
|
my $step = $self->getParam( $params, 'tiltstep' );
|
||||||
|
@ -199,8 +186,7 @@ sub moveRelUp
|
||||||
$self->sendCmd( $cmd );
|
$self->sendCmd( $cmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub moveRelDown
|
sub moveRelDown {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $step = $self->getParam( $params, 'tiltstep' );
|
my $step = $self->getParam( $params, 'tiltstep' );
|
||||||
|
@ -209,28 +195,34 @@ sub moveRelDown
|
||||||
$self->sendCmd( $cmd );
|
$self->sendCmd( $cmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub moveRelLeft
|
sub moveRelLeft {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $step = $self->getParam( $params, 'panstep' );
|
my $step = $self->getParam( $params, 'panstep' );
|
||||||
Debug( "Step Left $step" );
|
|
||||||
my $cmd = "/admin/ptctl.cgi?move=left";
|
if ( $self->{Monitor}->{Orientation} eq "hori" ) {
|
||||||
$self->sendCmd( $cmd );
|
Debug( "Stepping Right because flipped horizontally " );
|
||||||
|
$self->sendCmd( "/admin/ptctl.cgi?move=right" );
|
||||||
|
} else {
|
||||||
|
Debug( "Step Left" );
|
||||||
|
$self->sendCmd( "/admin/ptctl.cgi?move=left" );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub moveRelRight
|
sub moveRelRight {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $step = $self->getParam( $params, 'panstep' );
|
my $step = $self->getParam( $params, 'panstep' );
|
||||||
Debug( "Step Right $step" );
|
if ( $self->{Monitor}->{Orientation} eq "hori" ) {
|
||||||
my $cmd = "/admin/ptctl.cgi?move=right";
|
Debug( "Stepping Left because flipped horizontally " );
|
||||||
$self->sendCmd( $cmd );
|
$self->sendCmd( "/admin/ptctl.cgi?move=left" );
|
||||||
|
} else {
|
||||||
|
Debug( "Step Right" );
|
||||||
|
$self->sendCmd( "/admin/ptctl.cgi?move=right" );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub presetClear
|
sub presetClear {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $preset = $self->getParam( $params, 'preset' );
|
my $preset = $self->getParam( $params, 'preset' );
|
||||||
|
@ -239,8 +231,7 @@ sub presetClear
|
||||||
#$self->sendCmd( $cmd );
|
#$self->sendCmd( $cmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub presetSet
|
sub presetSet {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $preset = $self->getParam( $params, 'preset' );
|
my $preset = $self->getParam( $params, 'preset' );
|
||||||
|
@ -249,8 +240,7 @@ sub presetSet
|
||||||
$self->sendCmd( $cmd );
|
$self->sendCmd( $cmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub presetGoto
|
sub presetGoto {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $params = shift;
|
my $params = shift;
|
||||||
my $preset = $self->getParam( $params, 'preset' );
|
my $preset = $self->getParam( $params, 'preset' );
|
||||||
|
@ -259,8 +249,7 @@ sub presetGoto
|
||||||
$self->sendCmd( $cmd );
|
$self->sendCmd( $cmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub presetHome
|
sub presetHome {
|
||||||
{
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
Debug( "Home Preset" );
|
Debug( "Home Preset" );
|
||||||
my $cmd = "/admin/ptctl.cgi?move=h";
|
my $cmd = "/admin/ptctl.cgi?move=h";
|
||||||
|
@ -269,41 +258,26 @@ sub presetHome
|
||||||
|
|
||||||
1;
|
1;
|
||||||
__END__
|
__END__
|
||||||
# Below is stub documentation for your module. You'd better edit it!
|
|
||||||
|
|
||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
ZoneMinder::Database - Perl extension for blah blah blah
|
ZoneMinder::Control::SkyIPCam7xx.pm - Module for controlling AirLink101 SkyIPams
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
use ZoneMinder::Database;
|
use ZoneMinder::Control::SkyIPCam7xx;
|
||||||
blah blah blah
|
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
Stub documentation for ZoneMinder, created by h2xs. It looks like the
|
Module for controlling AirLink101 Cameras.
|
||||||
author of the extension was negligent enough to leave the stub
|
|
||||||
unedited.
|
|
||||||
|
|
||||||
Blah blah blah.
|
|
||||||
|
|
||||||
=head2 EXPORT
|
=head2 EXPORT
|
||||||
|
|
||||||
None by default.
|
None by default.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
Mention other useful documentation such as the documentation of
|
ZoneMinder::Control
|
||||||
related modules or operating system documentation (such as man pages
|
|
||||||
in UNIX), or any relevant external documentation such as RFCs or
|
|
||||||
standards.
|
|
||||||
|
|
||||||
If you have a mailing list set up for your module, mention it here.
|
|
||||||
|
|
||||||
If you have a web site set up for your module, mention it here.
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
@ -318,5 +292,4 @@ This library is free software; you can redistribute it and/or modify
|
||||||
it under the same terms as Perl itself, either Perl version 5.8.3 or,
|
it under the same terms as Perl itself, either Perl version 5.8.3 or,
|
||||||
at your option, any later version of Perl 5 you may have available.
|
at your option, any later version of Perl 5 you may have available.
|
||||||
|
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
|
@ -1263,6 +1263,11 @@ bool EventStream::sendFrame( int delta_us ) {
|
||||||
snprintf( filepath, sizeof(filepath), Event::capture_file_format, event_data->path, curr_frame_id );
|
snprintf( filepath, sizeof(filepath), Event::capture_file_format, event_data->path, curr_frame_id );
|
||||||
} else if ( monitor->GetOptSaveJPEGs() & 2 ) {
|
} else if ( monitor->GetOptSaveJPEGs() & 2 ) {
|
||||||
snprintf( filepath, sizeof(filepath), Event::analyse_file_format, event_data->path, curr_frame_id );
|
snprintf( filepath, sizeof(filepath), Event::analyse_file_format, event_data->path, curr_frame_id );
|
||||||
|
if ( stat( filepath, &filestat ) < 0 ) {
|
||||||
|
Debug(1, "%s not found, dalling back to capture");
|
||||||
|
snprintf( filepath, sizeof(filepath), Event::capture_file_format, event_data->path, curr_frame_id );
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Fatal("JPEGS not saved.zms is not capable of streaming jpegs from mp4 yet");
|
Fatal("JPEGS not saved.zms is not capable of streaming jpegs from mp4 yet");
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue