Francois Gouget
170dbf4243
An SNDCTL_DSP_SETDUPLEX failure should be a WARN(), not an ERR(),
...
since the OSS specifications say we have to call it before knowing if
the sound card is full-duplex capable.
2004-07-14 21:44:50 +00:00
Dmitry Timoshkov
4381a80efe
Make it possible to open read-only AVI files for a playback.
2004-07-14 21:43:03 +00:00
Henning Gerhardt
4bbc1b3fb6
More German translations.
2004-07-13 23:36:37 +00:00
Robert Reif
33e4506cda
Get certification for VerifyCertification from driver to match
...
GetCaps.
Change OSS driver to report certified.
Change OSS driver to show message name rather than number in traces.
2004-07-06 18:43:57 +00:00
Dimitrie O. Paun
0415030f51
Lookup driver information in registry and system.ini.
...
Make the code inspect the registry/system.ini at call time, rather
then initialization time.
Code cleanups.
2004-06-30 18:12:20 +00:00
Hajime Segawa
76e280b401
Added some Japanese translations.
2004-06-28 23:50:22 +00:00
Francois Gouget
d8e9b8f7aa
Log the format when mapping the sound device (or failing to).
2004-06-16 20:06:48 +00:00
Francois Gouget
1d834f4717
Fix the check for SNDCTL_DSP_GETCAPS so that it is compliant with the
...
OSS specification.
Only test the different formats if tracing is on.
2004-06-15 20:25:46 +00:00
Francois Gouget
20ab4b395f
Change the ARTS_Init() error message from an ERR() to a WARN() since
...
it can happen in perfectly normal conditions.
2004-06-15 20:25:11 +00:00
Robert Reif
a9d5f0829a
Added tracing to all functions.
...
Added error explanations.
Changed debug channel from msacm to wavemap so not confused with
msacm.
2004-06-14 17:55:03 +00:00
Robert Reif
3aab82079e
Removed 11 bit sample size capture test because at least 2
...
manufacturers sound cards on two different OSs seem to support this.
Added some invalid parameter checks to wave[In,Out]GetDevCaps.
One test is commented out because wine doesn't handle it properly.
Minor info printing cleanup.
2004-06-14 17:54:45 +00:00
Robert Reif
1e2dcc457e
Reset played variables on open.
2004-06-14 16:59:34 +00:00
Mike McCormack
8b0b70ab50
Fix PlaySound.
2004-06-14 16:55:33 +00:00
Robert Reif
95bd820fe1
Don't try to map the mapper device.
2004-06-14 16:53:59 +00:00
Robert Reif
7bd78fe59a
Treat WAVE_MAPPER as a real device and performs all tests on it.
...
Added 16000Hz because win9x hardware spec requires it.
2004-06-04 17:58:00 +00:00
Robert Reif
a7e8f6f3a2
Handle case where partial structure update requested.
...
Minor white space cleanup.
2004-06-04 17:57:40 +00:00
Robert Reif
bdbb54f340
Fix calculation of SMPTE time (round up to full frame).
...
More accurate ms calculation.
2004-06-01 20:22:11 +00:00
Robert Reif
e32f49381a
Added a test to check playback position after done playing.
2004-06-01 20:20:54 +00:00
Robert Reif
0f939fc9b5
Returns proper error code when trying to get caps when no devices
...
present.
2004-06-01 20:19:30 +00:00
Robert Reif
c75c2668f2
Fixed a bug where wrong a return value was returned when mapping is
...
not possible.
2004-06-01 19:41:18 +00:00
Robert Reif
fd758586d1
Added some trace and debug printing.
2004-06-01 19:40:48 +00:00
Robert Reif
458cf0bd6d
Added another possible windows failure mode.
2004-06-01 19:40:00 +00:00
Uwe Bonnes
0a5f393483
Fixed missing inversion in bit manipulation.
2004-05-27 20:12:51 +00:00
Robert Reif
41c6b5b5b9
Fixed a problem were a trace accesses a data member that may be
...
outside of the actual data structure passed in.
Added some more debug traces.
2004-05-27 20:05:08 +00:00
Robert Reif
a6e8430a23
Added WAVE_MAPPED flag test.
...
Added 8000 Hz test as a typically supported format.
Added 12000 Hz test as a typically unsupported format.
Test error reporting better by testing unsupported formats.
Test using PCMWAVEFORMAT in place of WAVEFORMATEX.
2004-05-27 20:00:26 +00:00
Ivan Leo Puoti
3e42f6953e
Changed my name, so update copyright info.
2004-05-27 02:25:13 +00:00
Robert Reif
b0d62bb73f
Fixed a bug I introduced in waveInGetDevCapsA(WAVE_MAPPER) test.
...
Moved format structure array to header file and restored
NB_WIN_FORMATS macro to calculate array size.
Added more error results and used macro as suggested by Andreas Mohr.
Cleaned up error result printing to be more consistent.
2004-05-21 20:53:45 +00:00
Francois Gouget
c3b8ce939b
Split off the winmm capture test.
2004-05-20 01:39:47 +00:00
Francois Gouget
53a20f3a4b
Add a 5 second test tone to help debug issues with the tone duration
...
and help detect stutter issues.
Add explanations describing the interactive test.
2004-05-20 01:16:50 +00:00
Francois Gouget
ceeed96a38
Use triggers to disable the sound input/output side we don't care
...
about when in pseudo fullduplex mode.
2004-05-20 01:16:10 +00:00
Eric Pouech
df93f2eeee
GetModuleFileName[AW] doesn't terminate the string if the buffer is
...
too small.
2004-05-19 03:22:55 +00:00
Robert Reif
463d474cc7
Print human-readable capabilities flag.
2004-05-14 04:54:54 +00:00
Robert Reif
ee0868e013
Sample rate sanity check.
...
Fix SMPTE time.
2004-05-14 00:44:06 +00:00
Robert Reif
eee90c26a9
waveOutGetDevCapsA can fail with MMSYSERR_BADDEVICEID or
...
MMSYSERR_NODRIVER when no drivers present.
Add better error messages.
2004-05-13 19:41:53 +00:00
Robert Reif
4a787831f0
Add an interface name to wineoss, winealsa, winearts and winejack.
...
Add support for wave interface message where missing.
2004-05-11 04:28:13 +00:00
James Courtier-Dutton
0040ba959b
Updated to the new alsa api.
2004-05-05 22:03:48 +00:00
Francois Gouget
9f1aea2fb8
Assorted spelling fixes.
2004-05-05 01:09:24 +00:00
Francois Gouget
df4409fb95
winejack.drv only supports 16bit sound so we can simplify the sound
...
format checks.
2004-05-05 01:06:27 +00:00
Francois Gouget
91c2507dd4
If ARTS_WaveInit() failed then transmit the failure upstream in
...
ARTS_DriverProc().
2004-05-05 01:06:09 +00:00
Francois Gouget
bf75c5c163
Taking into account wavemap and midimap there can be up to 8 output
...
drivers. So increase the size of the MMDrvs array accordingly.
Skip already loaded drivers before complaining (asserting) that they
don't fit in the MMDrvs array.
2004-05-05 01:00:54 +00:00
Robert Reif
abdce33943
You have to have at least one device before you can have a default
...
device.
2004-04-30 04:14:58 +00:00
Robert Reif
8db4d73d89
Forgot to limit capture sample rates.
2004-04-29 00:20:35 +00:00
Robert Reif
253ffd50d2
Another error return value check added after looking at the windows
...
tests results.
Replaced -1 with WAVE_MAPPER.
2004-04-28 03:50:36 +00:00
Ove Kaaven
c6ad91ba3c
Fixed a couple of bugs.
2004-04-28 00:24:09 +00:00
Robert Reif
7c80f993d2
Restore the 2 MHz sample rate test and fix the winealsa driver for
...
reasonable limits.
2004-04-27 23:28:46 +00:00
Francois Gouget
da29b6547f
Make sure the 'alsa handle' is initialized to NULL before calling
...
snd_pcm_open(). Otherwise if it fails we get a crash trying to close
an invalid alsa handle.
2004-04-26 23:31:11 +00:00
Francois Gouget
f627aed58b
waveOutGetDevCaps(-1...) must return the capabilities of the Wave
...
mapper.
DRV_QUERYDEVICEINTERFACE is not supported on all Windows versions.
Check the length returned by DRV_QUERYDEVICEINTERFACESIZE and fix
memory leak.
Some Windows sound drivers allow wild frequencies such as the 2MHz
one. So modify this test to use an invalid number of bits per sample
instead (hopefully that will fail really everywhere).
2004-04-26 23:30:26 +00:00
Francois Gouget
cce19caacb
Fix a warning in JACK_drvLoad().
2004-04-26 20:04:21 +00:00
Francois Gouget
8ceb200817
We only support 8 and 16 bit sound so we should reject the other
...
formats.
2004-04-26 20:03:59 +00:00
Francois Gouget
ebf0eb3138
Make static Unicode strings const.
2004-04-20 00:34:52 +00:00
Ove Kaaven
276ccc44ed
Added detection of 48kHz and 96kHz support. Fixed a thinko, and some
...
misleading indentation.
2004-04-19 23:06:48 +00:00
Ove Kaaven
59917f4cfa
Code and concepts merged in from wineoss in order to get the
...
non-dsound wave output performance in winealsa to an acceptable
level. It's still possible to do better than the current code, but
this should do for now.
2004-04-19 19:24:25 +00:00
Robert Reif
a1f01d353c
Cleanup reference counting.
...
Move notify array to buffer.
Add state info and fix GetStatus.
Remove unnecessary driver description flags.
2004-04-12 23:12:17 +00:00
Robert Reif
dc4535f91a
Remove trailing white space.
...
Cleanup white space and format in direct sound capture routines.
2004-04-12 22:01:47 +00:00
Francois Gouget
20547de012
Patch the fragment size if it does not match the current sound
...
format. This saves us from triggering a kernel freeze on some OSS 2.4
+ SoundBlaster 16 systems.
2004-04-09 19:05:09 +00:00
Dmitry Timoshkov
f560c71c29
Fallback to a compression scheme specified in the stream format in the
...
case FOURCC handler does not exist or format is not supported.
2004-04-05 20:19:09 +00:00
Eric Pouech
30dbb04998
- implemented MCI_SOUND command
...
- fixed MCI command table in resource
- added a TODO list on MCI handling
2004-04-05 20:16:11 +00:00
Felix Nawothnig
301851da5a
Don't free ALSA device string when the device is closed since it might
...
be reopened.
2004-03-31 20:05:45 +00:00
Robert Reif
86976d53e2
More duplex mode soundcard info.
2004-03-31 19:57:53 +00:00
Sylvain Petreolle
2504ac59b4
Fixed error reporting.
2004-03-29 22:55:26 +00:00
Robert Reif
605064a4bf
Print out sound card info for playback, capture and duplex modes.
...
Hardware capabilities can vary depending on usage mode.
Print out format requested and actual format returned.
2004-03-29 20:27:50 +00:00
Robert Reif
7c112c918d
Clean up white spaces.
...
Fix spelling error.
Improve capture error messages.
Fix error reporting when capturing from nonexistent device.
2004-03-27 20:42:57 +00:00
Mike Hearn
ce32fc5684
Allow configuration of output devices to use and change standard
...
output plugin requested to "default".
2004-03-27 01:38:54 +00:00
Alexandre Julliard
9e4ed6460c
.spec.c files are no longer used for 32-bit dlls.
2004-03-24 03:36:44 +00:00
Dmitry Timoshkov
5983223b70
Just update from/to pointers and exit on a subsequent MCI_PLAY
...
command.
2004-03-19 19:15:03 +00:00
Christian Costa
abec033938
Release lock before wave calls that generate notification.
2004-03-18 01:34:36 +00:00
Christian Costa
6eac29532b
Added support for MCI_DGV_WHERE_MAX flag in MCIAVI_mciWhere.
...
Fixed WHERE_WINDOW.
2004-03-16 03:09:14 +00:00
Christian Costa
e55a4b634b
Handle avi files with non standard video stream names.
2004-03-16 01:14:39 +00:00
Christian Costa
c2adec0c70
MCI strings are case insensitive.
...
Fixed a returned error value.
2004-03-16 01:14:27 +00:00
Christian Costa
b3b3f4c0c3
Default to FOURCC_DOS if no IOProc found.
2004-03-16 01:14:07 +00:00
Christian Costa
4bbeb429c8
Fixed deadlock when stopping playback.
2004-03-16 01:13:52 +00:00
Robert Reif
af3fa1c48d
Enable exact position calculation when hardware supports it.
2004-03-12 19:43:44 +00:00
Jason Edmeades
ed593fdf2f
Handle playing of files containing a '+' as part of the filename.
2004-03-05 20:43:40 +00:00
Alexandre Julliard
589e115233
We no longer use the .exe.spec.c files.
2004-03-02 21:16:37 +00:00
Dmitry Timoshkov
199247672c
- Add a lot of traces to make debugging a bit easier.
...
- Add support for MCIWNDF_NOAUTOSIZEMOVIE, MCIWNDF_NOAUTOSIZEWINDOW
and MCIWNDF_NOERRORDLG flags in the MCIWndClass implementation.
- Implement support for MCI_UPDATE in the MCIAVI driver and use it in
the MCIWndClass WM_PAINT handler.
- Reimplement MCI_STOP command in the MCIAVI driver via an event.
- Add a test preventing the MCIAVI driver to crash after MCI_SEEK
behind an end of stream.
2004-03-01 23:38:25 +00:00
Alexandre Julliard
e8a339c1d2
Portability fixes for LSB compatibility.
2004-03-01 21:32:02 +00:00
Robert Reif
7ca0381e7a
Cleanup prepare/unprepare header parameter checking.
...
Fix midiInGetDevCapsW.
2004-02-27 21:29:32 +00:00
Dmitry Timoshkov
6e728e4077
Convert MCIAVI window support to unicode.
...
Allow multiple simultaneous MCIAVI driver instances.
2004-02-27 00:42:44 +00:00
Sean Young
65130e8a5d
Check uSize parameter in waveOutUnprepareHeader and
...
waveOutPrepareHeader.
2004-02-26 05:28:01 +00:00
Christian Costa
009c04a040
Replaced the timer and its callback by a thread for receiving midi in
...
events.
Handled DRVM_EXIT in OSS_midMessage.
2004-02-24 01:22:18 +00:00
Christian Costa
26d73867e0
Fixed waveInGetDevCapsW.
2004-02-24 01:02:01 +00:00
Patrik Stridvall
ede82e3055
Fixed some issues found by winapi_check.
2004-02-20 20:19:23 +00:00
Christian Costa
87bef514db
Replaced the timer and its callback by a thread for receiving midi in
...
events.
Fixed time of MIM_LONGDATA notification.
Handled DRVM_EXIT in ALSA_midMessage.
2004-02-19 04:12:18 +00:00
Robert Reif
d6993619ef
Add secondary buffer array.
2004-02-16 20:23:42 +00:00
Robert Reif
20fff3d111
Enable hardware secondary buffer support on cards that support it (SB
...
live and audigy).
2004-02-13 21:10:21 +00:00
Robert Reif
61cb01781e
Save oss device fd and creation flags in dsound buffer object.
2004-02-13 21:04:28 +00:00
Robert Reif
e9b7222e34
Split buffer creation function into primary and secondary buffer
...
creation functions. Secondary buffer creation function is stubbed
out.
2004-02-13 20:56:21 +00:00
Robert Reif
b6adacb81c
Moved dsound mmap mapping info into dsound objects.
2004-02-13 20:44:42 +00:00
Robert Reif
391aede4ba
Use pipe sync code from wineoss.
2004-02-13 20:44:12 +00:00
Robert Reif
9a3056b243
Don't need primary lock. Fixes error in dsound tests in interactive
...
mode.
2004-02-13 20:21:47 +00:00
Dmitry Timoshkov
ab2266de9a
AFMT_AC3 might be not defined in the system headers.
2004-02-11 23:57:17 +00:00
Robert Reif
a9d2fb8ee7
Fixed a problem on BSD.
...
Fixed a trace.
2004-02-09 20:55:30 +00:00
Robert Reif
bcb1387929
Show sound card info in trace.
2004-02-06 05:20:14 +00:00
Christian Costa
485390de6f
Added missing notifications to MIDI_NotifyClient.
...
Made checks less strict in midPrepare, only return an error for buffer
in queue.
Fixed time of input events in Alsa driver.
2004-02-05 01:24:28 +00:00
Eric Pouech
da49807ea3
Fixed synchronization issue.
2004-01-28 20:05:20 +00:00
Alexandre Julliard
e43e394465
All sound drivers need -ldxguid.
2004-01-27 20:16:38 +00:00
Alexandre Julliard
20b4585e3c
Only link against libdxguid where necessary.
2004-01-27 00:11:16 +00:00
Francois Gouget
6b6ed724ae
Add missing '\n's to debug traces.
2004-01-27 00:01:43 +00:00
Robert Reif
e14a1b262a
Added notify and property set to dsound output driver.
...
Cleaned up existing notify and property set for capture.
2004-01-20 01:47:27 +00:00
Robert Reif
76659e9e9f
Fixed thread handle leaks.
2004-01-20 01:45:05 +00:00
Robert Lunnon
8732357912
Fixed type mismatch in widDsCreate.
2004-01-14 05:39:05 +00:00
Christian Costa
8349acab6c
Added Midi IN support.
2004-01-13 01:05:34 +00:00
Eric Pouech
9db6037de8
- implemented TIME_KILL_SYCHRONOUS timer flags
...
- timeKillTimer is now thread safe
- replaced some iData attributes by global variables
2004-01-12 21:03:10 +00:00
Marcus Meissner
17ffed02eb
Fixed HeapRealloc typo.
2004-01-09 20:08:48 +00:00
Jeremy Shaw
ed69f0bff6
Added wave-in support and fixed a few bugs in the wave-out code.
2004-01-09 05:02:58 +00:00
Eric Pouech
6cf101c1b3
- Applied to all MCI drivers Dmitry's fix for MCI_STATUS_TIME_FORMAT
...
(wasn't returning string resource ID).
- Fixed mciseq when opened without a filename.
2004-01-08 00:42:02 +00:00
Francois Gouget
640cc3f3e1
Assorted spelling fixes.
2004-01-06 22:08:33 +00:00
Dmitry Timoshkov
87af75269d
Register window class on mciavi driver loading, and unregister it on
...
driver unloading.
2004-01-06 20:39:48 +00:00
Dmitry Timoshkov
d81e04a8c0
Return correct resource id for time format strings.
2004-01-06 20:39:32 +00:00
Dmitry Timoshkov
a938cbeb73
Accept all standard DIB compressions in the mciavi driver.
2004-01-05 23:07:27 +00:00
Dmitry Timoshkov
41b7218466
Decode stream number from AVI frame data and assign the data to
...
appropriate streams.
2004-01-05 21:13:58 +00:00
Christian Costa
092f7dd352
Fix compilation issue with ALSA 0.5.
2004-01-02 20:13:57 +00:00
Dmitry Timoshkov
fbaab7d847
Remove a stray LeaveCriticalSection().
2004-01-02 01:48:30 +00:00
Dmitry Timoshkov
f41e047020
Much improved mciavi driver. Fixed synchronization, RIFF file with
...
many streams parsing, added support for some MCI_PUT and MCI_WHERE
cases.
2004-01-01 00:48:01 +00:00
Dmitry Timoshkov
91687f6aaf
Use correct pointer to an internal driver description.
2004-01-01 00:07:14 +00:00
Dmitry Timoshkov
123ce73d6b
Add MCI_SYSINFO command W to A mapping.
2004-01-01 00:07:01 +00:00
Dmitry Timoshkov
9741589bdf
Fix many function prototypes and data types according to Platform SDK
...
definitions.
2003-12-31 23:49:45 +00:00
Dmitry Timoshkov
be6d014f35
Add Unicode->ANSI MCI message mapping, implement mciSendCommandW, fix
...
a bug with a window creation belonging to another hInstance, add
support for MCI_WINDOW command in mciavi.drv, add support for MCI_PLAY
and MCI_STOP in the MCIWndClass implementation.
2003-12-31 19:00:03 +00:00
Gerald Pfeifer
db1113fed1
Improve error messages in OSS_WaveOutInit() and OSS_WaveInInit() and
...
warn instead of aborting in case of problems reading mixer info.
2003-12-31 18:58:07 +00:00
Steven Edwards
6bbba607c9
Porting fix for winmm resources (patch by Filip Navara).
2003-12-15 19:52:14 +00:00
Christian Costa
00bfb75485
Exported widMessage function.
2003-12-15 19:48:15 +00:00
Jeremy Shaw
f7cae99969
Move the data around when the ring buffer is resized so that the empty
...
messages are between the tosave and toget indexes.
2003-12-12 05:55:26 +00:00
Christian Costa
076000ce51
Added WaveIn support.
2003-12-11 04:27:18 +00:00
Eric Pouech
ed37b7a8bb
Move (again) usage of 16 bit specific functions (thunk lock) to 16 bit
...
code only.
2003-12-08 21:54:29 +00:00
Christian Costa
1469cf58f3
First enumerate all internal devices and then external midi ports.
2003-12-08 21:46:50 +00:00
Alexandre Julliard
628e27ad56
Define ALSA_PCM_OLD_* symbols for compatibility with Alsa 1.0.
2003-12-04 21:14:04 +00:00
Eric Pouech
ce2d3ef77d
Move usage of 16 bit specific functions (MapSL) in 16 bit code only.
2003-12-02 03:36:20 +00:00
Eric Pouech
cd7328672e
Move usage of 16 bit specific functions (MapSL) in 16 bit code only.
2003-12-01 22:38:19 +00:00
Christian Costa
3640c36f8b
Fix handling of the lpuDeviceID input param in MIDI_StreamOpen.
2003-11-26 03:39:13 +00:00
Eric Pouech
1bcbd54697
HeapReAlloc doesn't allocate memory.
2003-11-21 23:54:04 +00:00
Ivan Leo Murray-Smith
e51000f44f
Added Italian translation.
2003-11-17 19:59:13 +00:00
Robert Reif
3f1498fc6c
Fixes more use before set races.
...
Work around for queue reordering feature.
Stop recording on reset.
Better debug info.
Dsound callback capture state fix.
2003-11-14 21:03:24 +00:00
Christian Costa
2aba972aff
Alsa midi fixes.
2003-11-12 22:40:59 +00:00
Robert Reif
56c449b9e6
Don't flag failed opens of unsupported formats as an error.
2003-11-11 21:56:21 +00:00
Robert Reif
342d59f262
Fix a race condition where result could be read before set.
...
Fix test to use correct event in interactive mode.
2003-11-11 00:25:50 +00:00
Eric Pouech
b1a2d883fc
Removed some more dependencies on wine 16-bit specific entities.
2003-11-09 01:19:58 +00:00
Robert Reif
636f29d83c
Fix wave in stop.
2003-11-05 23:22:23 +00:00
Robert Reif
0c55534707
Fixed bug in capture stop. Only current header should be returned to
...
app.
Make wave fragment size adjustable to guarantee better than 10 ms
latency. Makes a difference for 8 kHz voice apps.
2003-11-04 04:20:47 +00:00
Robert Reif
d6f746de4c
Cache the wave volume so it can be returned rather than the OSS
...
derived value when possible.
2003-10-30 23:08:46 +00:00
Robert Reif
b4e9ef02c2
Clean up *GetDevCaps to check for valid pointer and only copy proper
...
amount of data.
2003-10-30 23:07:23 +00:00
Robert Reif
be4281522d
Added support for getting the wave device name.
2003-10-28 00:15:16 +00:00
Robert Reif
f2133052b1
Fix SMPTE time.
...
Fix primary buffer volume setting.
2003-10-27 22:01:30 +00:00
Robert Reif
7d43722256
Only copy amount requested up to size of structure.
2003-10-27 22:01:01 +00:00
Robert Reif
4824460772
Clear a new hardware buffer to proper silence values based on format.
...
Allows dxdiag to play 8 bit sounds in hardware primary buffer now.
2003-10-27 22:00:10 +00:00
Robert Reif
80a7638006
Fix MMDRV_PhysicalFeatures to handle both 16 and 32 bit pointers
...
properly.
2003-10-22 03:04:07 +00:00
Robert Reif
e14ae47c1d
Only return the number of bytes requested.
2003-10-21 23:41:26 +00:00
Rolf Kalbermatter
76f13deb26
Use INVALID_FILE_ATTRIBUTES to test for failure of
...
GetFileAttributesA/W and not -1 or 0xFFFFFFFF.
2003-10-16 19:12:49 +00:00
Oleg Prokhorov
cf8b84c19f
Another portion of HeapReAlloc fixes.
2003-10-15 21:01:05 +00:00
Dimitrie O. Paun
fc551563ff
Merge win.ini/[mci extensions] into the registry.
2003-10-15 20:49:29 +00:00
Robert Reif
9d2e09851b
Free should not happen when still playing.
2003-10-14 20:05:42 +00:00