Isaac Connor
a493fd4dd7
Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas
2018-04-03 17:41:49 -04:00
Isaac Connor
9fde052d39
merge
2018-04-03 14:41:32 -07:00
Isaac Connor
a1def1dfe9
whitespace
2018-04-03 12:23:54 -07:00
Isaac Connor
5a08fcc1db
whitespace, handle file not found
2018-04-03 12:23:38 -07:00
Isaac Connor
dfc35721f9
ensure that sections are always > section_length
2018-04-03 07:03:12 -07:00
Isaac Connor
ceb12cdd81
undo a debug thing that shouldn't have been committed
2018-04-03 09:12:18 -04:00
Isaac Connor
a5b77a59d3
allow 0 pre_event_count
2018-03-29 12:35:03 -04:00
Isaac Connor
82c44da9be
remove some space
2018-03-29 12:24:21 -04:00
Isaac Connor
0053404553
remove some spaces
2018-03-29 12:24:12 -04:00
Isaac Connor
a56eafe796
when deleting Logger object, need to reset zmInitialized because we clear all the codes
2018-03-29 12:24:00 -04:00
Isaac Connor
b22911f554
wait to closeEvent on monitor shutdown
2018-03-28 14:03:56 -04:00
Isaac Connor
4be64152e8
put mutex around inserting event stats
2018-03-28 09:12:38 -04:00
Isaac Connor
b8a792cfb7
whitespace google code style
2018-03-27 11:04:40 -04:00
Isaac Connor
3a5ff289d0
perfect the whitespace
2018-03-27 10:04:32 -04:00
Isaac Connor
bcc7011871
update sql loading code in Reload, which will automatically do the db locking
2018-03-27 10:04:19 -04:00
Isaac Connor
161a0c81f3
pull
...
add mutex around log to db
2018-03-23 14:34:50 -04:00
Isaac Connor
2107e5b223
whitespace
2018-03-23 12:50:53 -04:00
Isaac Connor
11cf3ce482
whitespace
2018-03-22 11:33:24 -04:00
Isaac Connor
43bdaff0a3
Merge ../ZoneMinder.master into storageareas
2018-03-22 11:32:22 -04:00
Isaac Connor
36ca1d417d
code document
2018-03-22 10:26:05 -04:00
Isaac Connor
ccf0336c9d
whitespace
2018-03-22 10:25:56 -04:00
Isaac Connor
b220b8f588
mostly white space fixes, but also, unlock on error condition
2018-03-22 10:25:47 -04:00
Isaac Connor
06f10e0ed3
fix double free of mysql_result
2018-03-22 10:04:41 -04:00
Isaac Connor
50696319cc
Always error out when stream fails, even on EOF. Just don't log EOF as an error.
2018-03-22 09:25:35 -04:00
Isaac Connor
ea38f7cca4
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
2018-03-15 11:43:15 -04:00
Isaac Connor
27736fb5d9
Merge ../ZoneMinder.master into storageareas
2018-03-15 11:04:41 -04:00
Isaac Connor
6f3d16fe10
label_format can be null
2018-03-13 12:06:03 -07:00
Isaac Connor
cefd00d1ea
load User and Pass as well
2018-03-13 14:50:41 -04:00
Pliable Pixels
704ccaee73
2059 alarm cause ( #2060 )
...
* added alarm_cause as a test
* initial attempt to integrate with notes
* testing sizeof
* add zone labels
* fixed typo
* fixed typo
* comments and formatting
* Downgraded invalid attribute to error
* Removed Error downgrade. Instead do a undefined check on field params
* Added help text
2018-03-12 19:38:12 -04:00
Isaac Connor
7fb1c8921b
reorder functions to put them in a better order
2018-03-09 07:50:47 -05:00
Isaac Connor
d1837a96b4
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
2018-03-09 07:25:28 -05:00
Isaac Connor
56b2787907
reorder variables to match init order in constructor
2018-03-09 07:24:53 -05:00
Isaac Connor
dcf7c4fdde
rework loading Monitor using consistent db query
2018-03-09 07:23:40 -05:00
Isaac Connor
d777f6104f
add a method to access the underlying MYSQL_ROW
2018-03-09 07:23:14 -05:00
Isaac Connor
a1213142df
whitespace
2018-03-09 07:22:59 -05:00
Isaac Connor
b4c13d56d6
Merge ../ZoneMinder.master into storageareas
2018-03-06 12:29:59 -05:00
Isaac Connor
128c4c73e9
Add official sql for loading a Monitor
2018-03-03 13:29:39 -08:00
Isaac Connor
3fc7ebee6c
Merge ../ZoneMinder.master into storageareas
2018-03-03 09:32:23 -08:00
Isaac Connor
47ec0abf11
spacing
2018-03-02 18:27:03 -08:00
Isaac Connor
91c9714e43
cleanup
2018-03-02 18:26:21 -08:00
Isaac Connor
d980def64f
spacing, increase debug
2018-03-02 18:26:07 -08:00
Isaac Connor
77ded1f5be
spacing and increase debug
2018-03-02 18:25:46 -08:00
Isaac Connor
ede13ac41b
put all db access after finishing encoding, because we don
...
't care when they happen, and we need the encoding done.
2018-03-02 18:25:20 -08:00
Isaac Connor
a6827c97ab
Cleanup, add some sanity checks
2018-03-02 18:24:39 -08:00
Isaac Connor
9af6dc02bc
better debug of packet pts/dts/duration
2018-03-01 19:22:47 -08:00
Isaac Connor
28342b907b
add a thread for deleting the event. This is because writing out the final frames of an mp4 can take a long time, during which we are not analyzing.
2018-03-01 19:22:22 -08:00
Isaac Connor
4d81b7b66b
Do not just reconnect to the input stream on EOF. pts/dts gets outof whack when doing passthrough. Instead treat it as a loss of signal, which will end the event and start a new one
2018-03-01 19:21:41 -08:00
Isaac Connor
1bc6e40fbc
add mutex locking around mysql functions so that we can go multi-threaded
2018-03-01 19:20:52 -08:00
Isaac Connor
b3d23ab233
merge zma_to_thread version of db functions, which include a mutex lock
2018-03-01 19:20:29 -08:00
Isaac Connor
3586825c90
fix preevent_count==0 causing div/0
2018-02-26 17:08:05 -08:00
Isaac Connor
902f5f098a
remove debug code
2018-02-26 16:10:27 -08:00
Isaac Connor
e3802954f7
Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas
2018-02-23 19:01:46 -05:00
Isaac Connor
a231f500ec
better debug, whitespace
2018-02-23 19:01:42 -05:00
Isaac Connor
5b55bef721
Add support for h264_mmal
2018-02-22 18:33:11 -05:00
Isaac Connor
e634e0addc
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
2018-02-17 12:25:42 -05:00
Isaac Connor
77426a7838
term to terminal for clarity
2018-02-17 12:25:05 -05:00
Isaac Connor
e6d9292dd0
term to terminal for clarity
2018-02-17 12:25:00 -05:00
Isaac Connor
9caa71233a
catch another EOF case
2018-02-17 11:07:06 -05:00
Isaac Connor
8ba02d8e0e
Fix re-opening log file. If there was no change in File Log level, then it wouldn't close and reopen, but the filename might have changed, so we have to.
2018-02-14 13:50:16 -05:00
Isaac Connor
2e11c12d73
add debugging to logging
2018-02-14 11:56:54 -05:00
Isaac Connor
9a19a9cddd
Merge branch 'storageareas' of github.com:ConnorTechnology/ZoneMinder into storageareas
2018-02-13 10:11:49 -05:00
Isaac Connor
744d776d9f
return when ReopenFfmpeg fails
2018-02-13 10:11:39 -05:00
Isaac Connor
162a08e81d
return when ReopenFfmpeg fails
2018-02-13 10:11:05 -05:00
Isaac Connor
e83586dbe1
Rename Term to Terminal to differentiate between Terminate
2018-02-13 06:23:18 -05:00
Isaac Connor
ef72e585b9
Include id in the user object
2018-02-13 05:28:00 -05:00
Isaac Connor
4f57a40cb6
Update Monitor_Status after connection lost and when exiting
2018-02-12 13:24:19 -05:00
Isaac Connor
cd606dbab8
whitespace
2018-02-07 08:03:01 -05:00
Isaac Connor
a4c956da7d
Only update db entry when value changes
2018-02-05 22:59:22 -05:00
Isaac Connor
af67e3b686
whitespace
2018-02-04 11:54:25 -08:00
Isaac Connor
310193791d
add a 10 second sleep before reconneting
2018-02-04 11:54:11 -08:00
Isaac Connor
e25af4b40c
cleanup, reset result
2018-02-02 16:07:13 -05:00
Isaac Connor
868e17a414
Allow Method in Monitors to be NULL
2018-02-02 10:31:55 -05:00
Isaac Connor
6942aaed15
whitespace
2018-01-31 14:36:01 -05:00
Isaac Connor
882a242b76
Fix mpeg streaming.
2018-01-31 14:35:00 -05:00
Isaac Connor
31ad807a90
If ffmpeg is open in PrimeCapture, close it. Turn all Fatals into Errors
2018-01-31 14:34:39 -05:00
Isaac Connor
bdb5176981
increase debug lvel of dumpPacket
2018-01-31 14:33:42 -05:00
Isaac Connor
c9bc5a8cd8
if given timestamp is in the future, reset it, it is likely invalid
2018-01-31 14:33:20 -05:00
Isaac Connor
ba2c111762
restructure to keep trying to open the camera instead of exiting.
2018-01-31 14:32:48 -05:00
Isaac Connor
218e34a079
Can only have 6 digitals, not 8
2018-01-30 11:23:09 -05:00
Isaac Connor
8c90a8a47a
Fix Id => MonitorId in MonitorStatus
2018-01-29 23:06:59 -05:00
Isaac Connor
1d221dff7c
Frame throttling is not an error.
2018-01-29 11:45:33 -05:00
Isaac Connor
fc4edefd81
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into tesla
2018-01-29 07:35:24 -08:00
Isaac Connor
7e2f132cdd
Better debugging
2018-01-29 07:22:05 -08:00
Isaac Connor
cfb0461fcf
Rename column Id to MonitorId in MonitorStatus
2018-01-29 09:31:43 -05:00
Isaac Connor
f98217e62a
remove useless debug code
2018-01-28 15:17:48 -05:00
Isaac Connor
190d8d1600
remove useless debug code
2018-01-28 15:17:41 -05:00
Isaac Connor
748f78d7a6
clean out old threaded code that has been #defined out for a long time. When EOF, after re-opening, continue instead of logging the error
2018-01-28 15:17:22 -05:00
Isaac Connor
057509637a
TUrn a warning into a debug
2018-01-28 15:16:06 -05:00
Isaac Connor
16c24240f7
clean out old threaded code that has been #defined out for a long time. When EOF, after re-opening, continue instead of logging the error
2018-01-28 15:14:38 -05:00
Isaac Connor
5a3d0b944e
Detect invalid delta_time and don't exit on failed mysql
2018-01-26 12:21:12 -05:00
Isaac Connor
50fc4a2d94
Use a memory table called Monitor_Status to store FPS and Status info for Monitors. This is to reduce locking and updates on the main Monitors table.
2018-01-24 11:51:11 -05:00
Isaac
66fd02a29e
Use dumpPacket
2018-01-23 18:15:29 +01:00
Isaac
abb2cfbe12
fix zm_av_packet_ref for old ffmpeg. Need to set the size and flags as well as copying the mem.
2018-01-23 18:14:55 +01:00
Isaac Connor
6bc83ca6a2
Set Default Scheme
2018-01-23 09:07:40 -05:00
Isaac
bfa0a00e67
dfebug improvements
2018-01-22 03:27:44 +01:00
Isaac
41a05f5eef
simplify logic, improve debugging
2018-01-22 03:26:36 +01:00
Isaac
414930cb90
simplify logic, improve debugging
2018-01-22 03:26:33 +01:00
Isaac
4127aa50f3
simplify logic, improve debugging
2018-01-22 03:26:25 +01:00
Isaac Connor
18f0610d87
Merge zm_ffmpeg.cpp from zma_to_thread
2018-01-21 17:18:29 -05:00
Isaac Connor
59a1272307
bump version
2018-01-18 11:39:33 -05:00
Isaac Connor
360a10276f
Fix. We were deleting the keyframe that we wanted to keep.
2018-01-17 10:01:48 -05:00
Isaac Connor
687d797303
Only log debug message about excluding audio if there is an audio stream
2018-01-17 09:53:03 -05:00
Isaac Connor
7f4deef4a9
Move debug comment about opening audio codec into the part where the audio codec is opened
2018-01-17 09:21:17 -05:00
Isaac Connor
26cea49f1a
handle nulls in event_prefix and label_format in Monitor::Reload
2018-01-16 11:08:35 -05:00
Isaac Connor
9284e26512
get rid of the snapshot setting. If we aren't storing all frames, then we should always store the snapshot.
2018-01-13 15:15:14 -05:00
Isaac Connor
2c121fb784
If we get a term signal while waiting for zmc, die.
2018-01-12 07:12:54 -08:00
Isaac Connor
7d2becee21
add reload on HUP
2018-01-10 12:59:42 -05:00
Isaac Connor
ae5f4c9d9c
Add log re-init on HUP
2018-01-10 12:58:22 -05:00
Isaac Connor
727bde752f
Count non-i frames in frames_to_keep. Should reduce the size of the packetqueue
2018-01-07 13:39:13 -05:00
Isaac Connor
2ec25a20ec
Don't crash if we fail to open the video output stream
2018-01-04 10:07:51 -05:00
Isaac Connor
2922a86d23
fixes to new Storage Schemes code
2017-12-19 11:01:03 -05:00
Isaac Connor
8a8001f14a
fix missingc_str()
2017-12-18 13:25:24 -05:00
Isaac Connor
705a98276f
change StorageScheme to Scheme
2017-12-18 13:17:43 -05:00
Isaac Connor
d312482a2b
add StorageScheme to Storage and Events. Deprecate ZM_USE_DEEP_STORAGE
2017-12-18 12:52:26 -05:00
Isaac Connor
a304af727b
debug GetFPS
2017-12-12 14:37:02 -05:00
Isaac Connor
70d43d2d27
fix strncpy calls
2017-12-12 13:42:48 -05:00
Isaac Connor
34668db43b
use return value of WriteJpeg
2017-12-12 13:39:36 -05:00
Isaac Connor
97e3ac046e
close file handle on error
2017-12-12 13:38:31 -05:00
Isaac Connor
599848346e
close infile on error condition. Make failure to read not be fatal.
2017-12-12 13:35:19 -05:00
Isaac Connor
7278448b01
remove test for less than zero of uints
2017-12-12 13:30:58 -05:00
Isaac Connor
6bffc54b77
fix referencing event_data before we test it for null
2017-12-12 13:30:43 -05:00
Isaac Connor
c40f79097d
fix zeroing of vid_cap, when we want to zero vid_pic!
2017-12-12 13:28:39 -05:00
Isaac Connor
5f0db60c38
quiet coverity
2017-12-12 13:25:41 -05:00
Isaac Connor
b246ae4d19
remove less than zero tests for unsigned parameters
2017-12-12 13:25:02 -05:00
Isaac Connor
2769c1fc54
add missing unlock
2017-12-12 13:20:53 -05:00
Isaac Connor
5fa7fd4db8
initialize mValue
2017-12-12 13:19:35 -05:00
Isaac Connor
3c44c1f9be
quiet coverity by returning after Panic
2017-12-12 13:19:23 -05:00
Isaac Connor
52953d7112
initialize ttl
2017-12-12 13:19:09 -05:00
Isaac Connor
46094fe6cf
close outfile on error
2017-12-12 13:18:57 -05:00
Isaac Connor
47f3971f9a
remove unused mDbConnection
2017-12-12 13:18:50 -05:00
Isaac Connor
568b15a916
initilize things to quiet coverity
2017-12-12 13:09:55 -05:00
Isaac Connor
23a2f1e609
quiet coverity by initialising last_frame_timestamp
2017-12-12 13:01:57 -05:00
Isaac Connor
fe8e1ba445
change the order of open/stat. Only stat and check for char device if we can actualy open it
2017-12-12 13:01:38 -05:00
Isaac Connor
fe74c41723
fix integer division instead of double
2017-12-12 12:56:19 -05:00
Isaac Connor
716a29545f
fix strncpy not leaving null terminator space
2017-12-12 12:53:05 -05:00
Isaac Connor
db915b2c56
Don't do an unneccesary assignemnt
2017-12-12 12:52:30 -05:00
Isaac Connor
43e4421368
fix strncpy not leaving null terminator space
2017-12-12 12:52:20 -05:00
Isaac Connor
2df96bf6ee
use the return value of stat
2017-12-12 12:51:54 -05:00
Isaac Connor
007ebd3689
remove unused var
2017-12-12 12:41:17 -05:00
Isaac Connor
40e4d909c3
turn Fatal into Error
2017-12-12 12:41:11 -05:00
Isaac Connor
ec99c96587
remove unneccesary assignment
2017-12-12 12:38:40 -05:00
Isaac Connor
31189bdb11
make an error not fatal and check return to quiet coverity
2017-12-12 12:38:30 -05:00
Isaac Connor
9085a4b062
remove unused class members
2017-12-12 12:38:05 -05:00
Isaac Connor
f8738f2387
quiet coverity
2017-12-12 12:37:49 -05:00
Isaac Connor
8c1159ad56
quiet coverity by initializing everything in constructor
2017-12-12 12:37:36 -05:00
Isaac Connor
56e879da7b
should only cpoy sizeof(path)-1 to leave space for null terminator
2017-12-12 12:37:04 -05:00
Isaac Connor
a9bbe3e85c
remove debug lines
2017-12-12 12:36:35 -05:00
Isaac Connor
16ac341642
locallist return code vars, they don't need to be class members
2017-12-12 12:35:54 -05:00
Isaac Connor
a0f79b7bf7
add CFG_UNKNOWN and use it in the .cpp to quiet coverity
2017-12-12 12:35:28 -05:00
Isaac Connor
49be06d641
move freeaddrinfo up before a return to prevent memleak
2017-12-12 12:35:05 -05:00
Isaac Connor
475d39f1c6
move closedir down so that it always happens. Make coverity quiet
2017-12-12 12:34:43 -05:00
Isaac Connor
819c2e5190
fix possible not null-terminated strncpy. Wouldn't actually happen because we are copying from the db field which is 1 smaller than the variable but Coverity doesn't know that.
2017-12-12 11:48:12 -05:00
Isaac Connor
c04ec1b8a8
fix mem corruption
2017-12-03 12:50:57 -05:00
Isaac Connor
344539f5dc
cleanup
2017-11-28 11:55:47 -05:00
Isaac Connor
d73f9e8a73
wip, crashes
2017-11-28 11:11:41 -05:00
Isaac Connor
1e50df741f
fix some memleaks
2017-11-28 09:50:09 -05:00
Isaac Connor
03c9f88d55
fix build on trusty
2017-11-27 08:24:14 -05:00
Isaac Connor
7c491bf62e
make compile on trusty
2017-11-26 18:06:12 -05:00
Isaac Connor
fc27674d76
can't do init in the if statement
2017-11-26 17:50:57 -05:00
Isaac Connor
4b92a788f7
fix filter execute
2017-11-24 15:37:50 -05:00
Isaac Connor
0eb2ae60f3
only try to write timecodes if the open was successful
2017-11-22 12:13:28 -08:00
Isaac Connor
3c55daaf36
Merge branch 'tesla' of github.com:connortechnology/ZoneMinder into tesla
2017-11-22 12:10:54 -08:00
Isaac Connor
fe42eed1ea
cannot unlink the lock file, it has to stick around.
2017-11-22 11:43:13 -05:00
Isaac Connor
cd1d2e1721
lots more debugging. re-add status update command on failure
2017-11-22 01:18:07 -05:00
Isaac Connor
3af52256b8
turn down debug
2017-11-21 23:57:34 -05:00
Isaac Connor
4d758b7ce9
debugging
2017-11-21 23:57:13 -05:00
Isaac Connor
ebe3073c59
only update fps if we have an image capture
2017-11-21 23:57:01 -05:00
Isaac Connor
a1fe0c4de3
store the value of saveJpegs in the event
2017-11-21 23:56:22 -05:00
Isaac Connor
752990bb0f
improve zms logging
2017-11-21 23:55:53 -05:00
Isaac Connor
64816aa005
fixes from cppcheck.
2017-11-18 16:00:10 -05:00
Isaac Connor
1abcb19851
add Copy routing
2017-11-18 09:45:54 -05:00
Isaac Connor
7d77cd75fe
eliminate redundant code and memleak
2017-11-18 09:45:47 -05:00
Isaac Connor
159c0a7165
moer cppcheck fixes
2017-11-17 07:52:26 -05:00
Isaac Connor
22ff831859
more cppcheck recommendations
2017-11-16 21:21:56 -05:00
Isaac Connor
0318fb54a6
add missing initializers
2017-11-16 18:23:02 -05:00
Isaac Connor
1686584908
more cppcheck fixes
2017-11-16 09:19:27 -05:00
Isaac Connor
a956ffe7b3
add Copy and =operators to satisfy cppcheck
2017-11-16 09:15:04 -05:00
Isaac Connor
d5962b11ff
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
2017-11-14 02:48:38 -05:00
Isaac Connor
65e7fb0014
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
2017-11-14 02:40:12 -05:00
APHW2 MFGENG
d07f36a7ee
Merge branch 'storageareas' of http://github.com/connortechnology/ZoneMinder into storageareas
2017-11-13 10:27:27 -08:00
Isaac Connor
ecd86b3fde
cleanup
2017-11-12 15:18:39 -05:00
Isaac Connor
f476c8f2e5
fixes from cppcheck
2017-11-12 13:25:19 -05:00
Isaac Connor
a99c5b54fa
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
2017-11-12 13:16:49 -05:00
Isaac Connor
feca6c3df0
add a copy constructor at the advice of cppcheck
2017-11-12 13:16:18 -05:00
Isaac Connor
71f13a7c9a
optimisations/fixes from cppcheck
2017-11-12 10:27:47 -05:00
Isaac Connor
4c76b74645
decrease debugging
2017-11-11 09:11:05 -05:00
Isaac Connor
57a53f6fdd
spacing and fixes
2017-11-09 15:03:23 -05:00
APHW2 MFGENG
402ad0ace3
Merge branch 'storageareas' of http://github.com/connortechnology/ZoneMinder into storageareas
2017-11-07 18:22:12 -08:00
APHW2 MFGENG
e17bcb9178
updates for mast ffmpeg
2017-11-07 18:21:51 -08:00
Isaac Connor
a9419064ef
don't calc fps if no time has passed
2017-11-07 09:35:13 -05:00
Isaac Connor
c3cfd096c7
Don't connect to the monitor when doing an eventStream
2017-11-07 09:34:47 -05:00
Isaac Connor
4b8a8e7b56
fix new return value from Capture, 1 signals 1 frame captured
2017-11-05 18:02:09 -05:00
Isaac Connor
0a3327e2d2
move test for h264 into the code that opens the stream instead of comparing on every capture
2017-11-05 09:59:27 -05:00
Isaac Connor
ee96f58ac4
fix fps reporting value when Capture doesn't return a new frame
2017-11-05 09:59:06 -05:00
Isaac Connor
cab8c4cd5e
cleanup Monitor::Capture. Cleanup the return values from Capture and CaptureAndRecord. <0 is error, 0 is things ok, but no video frame. > 0 means we have a frame. Plus google code style
2017-11-03 13:49:42 -04:00
Isaac Connor
fdbd344d74
whitespace
2017-11-03 09:23:08 -04:00
Isaac Connor
495cd580aa
add more debugging
2017-11-02 11:45:49 -04:00
Isaac Connor
a8b679e479
set frameCount for audio packets too so that a long period of just audio will return and update lastframesent etc.
2017-11-02 11:45:33 -04:00
Isaac Connor
f0cfebe719
Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
2017-11-01 13:11:49 -04:00
Isaac Connor
ac9116e78b
add connkey to logging so I can tell which process is which
2017-11-01 12:01:12 -04:00