Commit Graph

661 Commits

Author SHA1 Message Date
Michael Niedermayer
c719b7a42b ffserver: add (), fix order of operations
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 11:40:00 +02:00
Reynaldo H. Verdejo Pinochet
b16b8c815c ffserver: drop superfluous else clause
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-07-26 23:53:08 -03:00
Reynaldo H. Verdejo Pinochet
c75bc268a2 ffserver: simplify assignment with ternary
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-07-26 23:11:37 -03:00
Reynaldo H. Verdejo Pinochet
2ea642ff4b ffserver: move decl to start of func
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-07-26 22:29:47 -03:00
Reynaldo H. Verdejo Pinochet
08724da976 ffserver: make statement block unconditional by exiting early
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-24 19:17:51 -03:00
Reynaldo H. Verdejo Pinochet
36a617c162 ffserver: make statement block unconditional by exiting early
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-24 19:17:51 -03:00
Reynaldo H. Verdejo Pinochet
469c335c55 ffserver: unify comment formating & drop unneeded braces
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-24 19:17:51 -03:00
Reynaldo H. Verdejo Pinochet
1714fe2990 ffserver: factor out stream params printing
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-24 19:17:51 -03:00
Reynaldo H. Verdejo Pinochet
89234deaa2 ffserver: simplify URLContext cleanup
Drop unneeded var and avoid checking for NULL twice as
ffurl_closep() already does this.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-24 19:17:51 -03:00
Reynaldo H. Verdejo Pinochet
6504047f82 ffserver: drop unneeded else branching
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-21 19:06:00 -03:00
Reynaldo H. Verdejo Pinochet
758c7a5cbc ffserver: drop unneeded else branching
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-21 19:06:00 -03:00
Reynaldo H. Verdejo Pinochet
683f57354d ffserver: drop unneeded else branching
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-21 19:06:00 -03:00
Reynaldo H. Verdejo Pinochet
d8a04d916b ffserver: formating
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-06-21 19:06:00 -03:00
Caligula useraccount
3b89a67315 ffserver: Use singlejpeg muxer for jpeg
Fixes Ticket4218

Based on patch by: Otávio Ribeiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 03:36:22 +02:00
Michael Niedermayer
ddda9cee1c ffserver: Check for ffio_set_buf_size() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 15:10:24 +02:00
Michael Niedermayer
d6039063aa ffserver: Check allocations (likely not all)
Reviewed-by: "Reynaldo H. Verdejo Pinochet" <reynaldo@osg.samsung.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-07 12:42:48 +02:00
Michael Niedermayer
cea3c9b281 ffserver: check return code of avio_alloc_context()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-02 14:45:08 +02:00
Reynaldo H. Verdejo Pinochet
e10b2a4dc0 ffserver: remove stale debug stanza
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-03-08 18:24:56 -03:00
Reynaldo H. Verdejo Pinochet
0002a22e0e ffserver: move assignment outside condition eval
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-03-08 18:24:56 -03:00
Reynaldo H. Verdejo Pinochet
923a244569 ffserver: break some too long lines
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-03-08 18:24:56 -03:00
Reynaldo H. Verdejo Pinochet
df4346c541 ffserver: fix wrong indentation
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
bd8e16f2e6 ffserver: decouple assignment and check
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
50c1cac432 ffserver: break too-long lines
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
8129ccec3a ffserver: reorder HTTP fwd decls
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:40 -03:00
Reynaldo H. Verdejo Pinochet
2699a37816 ffserver: reflow find_stream_in_feed()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:22:09 -03:00
Reynaldo H. Verdejo Pinochet
197acee767 ffserver: reindent handle_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:22:04 -03:00
Reynaldo H. Verdejo Pinochet
eadd66a4af ffserver: reflow handle_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:19:08 -03:00
Reynaldo H. Verdejo Pinochet
7d3857b7ab ffserver: reindent http_vlog()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 01:11:58 -03:00
Reynaldo H. Verdejo Pinochet
e97545646a ffserver: reflow http_vlog()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 01:10:35 -03:00
Michael Niedermayer
11d8fa5e9d ffserver: Use av_malloc_array()
Reviewed-by: "Reynaldo H. Verdejo Pinochet" <reynaldo@osg.samsung.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 00:17:38 +01:00
Michael Niedermayer
eb3e661bab ffserver: Use avio_closep() to avoid leaving stale pointers in memor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:11:12 +01:00
Reynaldo H. Verdejo Pinochet
9975088472 ffserver: reindent rtsp_cmd_setup()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
ac1940b2ba ffserver: reflow rtsp_cmd_setup()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
196bc03a86 ffserver: drop redundant else clause
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
9e55130a9d ffserver: reindent compute_status()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
907101eb83 ffserver: reflow compute_status()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
a18456a203 ffserver: check for EOF|error at loop condition
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 19:02:16 -03:00
Reynaldo H. Verdejo Pinochet
0121ddabb8 ffserver: reflow close_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:44:33 -03:00
Reynaldo H. Verdejo Pinochet
1146223699 ffserver: minor formatting improvement to http_server()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:34:52 -03:00
Reynaldo H. Verdejo Pinochet
978bc4327b ffserver: reindent start_multicast()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:18:19 -03:00
Reynaldo H. Verdejo Pinochet
719cc02586 ffserver: reflow start_multicast()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:12:39 -03:00
Reynaldo H. Verdejo Pinochet
18011888cc ffserver: reindent start_children()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
Reynaldo H. Verdejo Pinochet
ec42251715 ffserver: reflow start_children()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
Reynaldo H. Verdejo Pinochet
1abdfb100a ffserver: break lines at 80 in func prototypes
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
Lukasz Marek
8b0226f2a6 ffserver: use avcodec_copy_context to copy context
Copying context using dedicated function is safer that raw memcpy
which creates shallow copy.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-02 21:58:34 +01:00
Lukasz Marek
3d0867917f ffserver: dont leak pb_buffer 2014-11-26 23:32:33 +01:00
Lukasz Marek
3cb0bec687 ffserver: dont leak child arguments
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
ec6e035b8b ffserver: export recommented encoder configuration
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
aaf6cc925f ffserver: allow skip setting defaults
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Reynaldo H. Verdejo Pinochet
33d6f90e3e ffserver: drop pointless explicit !=0 checks
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-11-16 20:25:55 -03:00
Lukasz Marek
f524d2e47c ffserver: move configuration code to separate file
This commit doesn't change any existing logic.
It moves ffserver configuration related code to separate file.
It intends to make maintaining easier.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-22 22:37:40 +02:00
Michael Niedermayer
e97f38ce63 ffserver: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 15:22:24 +02:00
Reynaldo H. Verdejo Pinochet
2638af2fc5 ffserver: drop custom skip_spaces() impl
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-13 21:01:01 -03:00
Reynaldo H. Verdejo Pinochet
4c8be331bc ffserver: use correct error for stream not found
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-13 21:01:01 -03:00
Reimar Döffinger
d9e2aceb7f Add missing "const" all over the place.
Only "./configure --enable-gpl" on x86 was tested.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-29 18:57:25 +02:00
Reynaldo H. Verdejo Pinochet
fb2de3c4d1 ffserver: warn if config uses a system port
Should be harmless as far as users know what they are doing
but an informative warning wont hurt. For details, refer to
http://tools.ietf.org/html/rfc6335

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-08-17 22:51:45 -04:00
Stefano Sabatini
1013d8dd69 ffserver: deprecate Port and BindAddress options in favor of HTTPPort and HTTPBindAddress
The new option names are more explicit.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-08-17 22:51:45 -04:00
Michael Niedermayer
81a663f49e Drop remaining unneeded != NULL
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 22:47:45 +02:00
Michael Niedermayer
fb33bff990 Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
  cosmetics: Write NULL pointer equality checks more compactly

Conflicts:
	cmdutils.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/dvbsub.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/dxa.c
	libavcodec/libxvid_rc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/vc1dec.c
	libavcodec/zmbv.c
	libavdevice/v4l2.c
	libavformat/matroskadec.c
	libavformat/movenc.c
	libavformat/sdp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Michael Niedermayer
1d8d21b90a ffserver: initialize pbuffer in prepare_sdp_description()
also check pbuffer before use

Found-by: CSA
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 18:32:37 +02:00
Michael Niedermayer
f46e876027 ffserver: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 18:00:25 +02:00
Michael Niedermayer
307239bdb6 ffserver: add HAVE_UNISTD_H around #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:56:53 +02:00
Reynaldo H. Verdejo Pinochet
e0877aa544 ffserver: don't leak poll_table if poll fails
Should fix Coverity Scan issue #732265

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-05-10 18:16:19 -04:00
Reynaldo H. Verdejo Pinochet
5b881499a8 ffserver: do not ignore lseek() return
Should fix FFmpeg Coverity Scan issue #732177

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-29 01:08:06 -04:00
Reynaldo H. Verdejo Pinochet
898192e029 ffserver: do not ignore getsockname() return
Should fix FFmpeg Coverity Scan issue #732176

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:58 -04:00
Reynaldo H. Verdejo Pinochet
e79bc6a88a ffserver: do not ignore send() return
Should fix Coverity Scan issue #732178

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:58 -04:00
Reynaldo H. Verdejo Pinochet
8baa5b32a5 ffserver: do not ignore setsockopt return
Should fix FFmpeg Coverity Scan issue #732181

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:58 -04:00
Reynaldo H. Verdejo Pinochet
6d953ae2c4 ffserver: do not ignore ff_socket_nonblock return
Should fix FFmpeg Coverity Scan issues #732180 & #732182

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:46 -04:00
Reynaldo H. Verdejo Pinochet
7228bdeebd ffserver: fix missing frees at connection setup
Should fix FFmpeg Coverity Scan issue #732266 and some of #732265

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-25 19:49:55 -03:00
Reynaldo H. Verdejo Pinochet
1404e2a389 ffserver: free AVStream st before wiping context
Should fix FFmpeg Coverity Scan issue #732269

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-25 19:49:55 -03:00
Reynaldo H. Verdejo Pinochet
107f2468c4 ffserver: free nacl as needed
Should fix FFmpeg Coverity Scan issue #732268

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-25 19:49:55 -03:00
Reynaldo H. Verdejo Pinochet
02497a5dc8 ffserver: don't hardcode RTSP status codes
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-07 00:24:00 -03:00
Reynaldo H. Verdejo Pinochet
0c5a6ef886 ffserver: nits & typos
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-07 00:24:00 -03:00
Reynaldo H. Verdejo Pinochet
87079bd055 ffserver: merge RTSP's teardown & pause routines
They were basically the same.

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-14 14:31:42 -03:00
Reynaldo H. Verdejo Pinochet
720530e52a ffserver: cosmetics
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-14 14:31:41 -03:00
Reynaldo H. Verdejo Pinochet
35e525b732 ffserver: fix some comments
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-14 14:31:41 -03:00
Reynaldo H. Verdejo Pinochet
ba6186d6eb ffserver: factor out connection closing from handler
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-14 14:31:41 -03:00
Reynaldo H. Verdejo Pinochet
5df2a502f2 ffserver: avoid useless substitution
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-14 14:31:41 -03:00
Reynaldo H. Verdejo Pinochet
958d98cc1c ffserver: drop unneeded delay1 var
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-08 00:30:29 -03:00
Reynaldo H. Verdejo Pinochet
db93c2d031 ffserver: move misplaced comment
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-08 00:29:39 -03:00
Reynaldo H. Verdejo Pinochet
1507e2a095 ffserver: drop obvious comment
Following code line is self explanatory

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-08 00:29:39 -03:00
Reynaldo H. Verdejo Pinochet
47ba472814 ffserver: cosmetics and grammar
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-02-08 00:29:39 -03:00
Michael Niedermayer
c18cfd1001 ffserver: use avformat_alloc_context()
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-04 16:01:02 +01:00
Stefano Sabatini
1d6666a6b8 ffserver: extend report_config_error() facilities, and use it for warnings 2013-12-16 19:19:04 +01:00
Stefano Sabatini
9985710a5a ffserver: add stream Metadata option
Also deprecate Author, Comment, Copyright, and Title options, and update
docs to use the new Metadata option.
2013-12-16 19:18:45 +01:00
Stefano Sabatini
33f10fa657 ffserver: fix spacing typoin error message 2013-12-16 18:30:21 +01:00
Stefano Sabatini
93f0882725 ffserver: improve error feedback in case of av_write_frame() error 2013-12-13 09:42:15 +01:00
Stefano Sabatini
b58161d6b6 ffserver: print error code description in case of write_header() failure
Improve feedback.
2013-11-30 14:35:33 +01:00
Stefano Sabatini
73b8730475 ffserver: improve error feedback in case of write_header() failure 2013-11-29 12:11:39 +01:00
Stefano Sabatini
b133ec6244 ffserver: improve feedback in case no feed is defined for a stream 2013-11-29 12:11:34 +01:00
Stefano Sabatini
0083514727 ffserver: improve feedback in case of stream with unknown feed name 2013-11-29 12:11:28 +01:00
Stefano Sabatini
b1049f89fa ffserver: deprecate inconsistent parsing behavior of Truncate option
Also make it accept the more consistent behavior (boolean option set to
true when specified).
2013-11-29 10:28:03 +01:00
Stefano Sabatini
0124fca03f ffserver: extend feedback in http_start_receive_data() 2013-11-29 10:28:03 +01:00
Stefano Sabatini
ab89d2dd2a ffserver: fix typo in comment: defaut -> default 2013-11-28 23:13:46 +01:00
Stefano Sabatini
77f5cb92af ffserver: factorize code setting ReadOnlyFile/File options 2013-11-28 23:13:45 +01:00
Stefano Sabatini
0e1e5d0053 ffserver: improve error feedback in open_input_stream() 2013-11-28 23:13:45 +01:00
Stefano Sabatini
ddab41995f ffserver: drop stream AudioQuality option
It has no effect, and it was never documented.
2013-11-28 23:13:45 +01:00
Stefano Sabatini
4f60d53b18 ffserver: add comment about how Launch path program is created 2013-11-28 23:13:45 +01:00
Stefano Sabatini
7cbbc4f7e7 ffserver: extend error handling when parsing the configuration file
In particular, abort immediately in case of memory error, avoid potential
crashes.
2013-11-28 23:13:45 +01:00
Stefano Sabatini
04702a0d3d ffserver: add some error handling to main() 2013-11-28 23:13:45 +01:00