Wim Taymans
3ca1e62f03
ext/xvid/gstxvidenc.c: Compile fixes.
...
Original commit message from CVS:
* ext/xvid/gstxvidenc.c: (gst_xvidenc_class_init),
(gst_xvidenc_init), (gst_xvidenc_finalize),
(gst_xvidenc_handle_sink_event), (gst_xvidenc_setup),
(gst_xvidenc_setcaps), (gst_xvidenc_encode), (gst_xvidenc_chain),
(gst_xvidenc_flush_buffers), (gst_xvidenc_set_property),
(gst_xvidenc_get_property):
Compile fixes.
2006-05-12 10:43:49 +00:00
Mark Nauwelaerts
39f82f2f19
ext/xvid/: xvid plugin to support more capabilities of XviD codec.
...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* ext/xvid/gstxvid.c: (gst_xvid_init), (gst_xvid_structure_to_csp),
(gst_xvid_csp_to_caps), (gst_xvid_image_get_size),
(gst_xvid_image_fill):
* ext/xvid/gstxvid.h:
* ext/xvid/gstxviddec.c: (gst_xviddec_class_init),
(gst_xviddec_init), (gst_xviddec_reset), (gst_xviddec_unset),
(gst_xviddec_handle_sink_event), (gst_xviddec_setup),
(gst_xviddec_add_par), (gst_xviddec_negotiate),
(gst_xviddec_decode), (gst_xviddec_chain),
(gst_xviddec_flush_buffers), (gst_xviddec_src_getcaps),
(gst_xviddec_src_link), (gst_xviddec_setcaps),
(gst_xviddec_change_state):
* ext/xvid/gstxviddec.h:
* ext/xvid/gstxvidenc.c: (gst_xvidenc_profile_get_type),
(gst_xvidenc_quant_type_get_type), (gst_xvidenc_pass_get_type),
(gst_xvidenc_get_type), (gst_xvidenc_base_init),
(gst_xvidenc_class_init), (gst_xvidenc_init),
(gst_xvidenc_finalize), (gst_xvidenc_handle_sink_event),
(gst_xvidenc_setup), (gst_xvidenc_setcaps), (gst_xvidenc_encode),
(gst_xvidenc_chain), (gst_xvidenc_flush_buffers),
(gst_xvidenc_set_property), (gst_xvidenc_get_property),
(gst_xvidenc_change_state):
* ext/xvid/gstxvidenc.h:
xvid plugin to support more capabilities of XviD codec.
Fixes #339462 .
Some more cleanups here and there.
2006-05-12 09:28:15 +00:00
Stefan Kost
bf3fd4f95d
Define GstElementDetails as const and also static (when defined as global)
...
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/audioresample/gstaudioresample.c:
* ext/bz2/gstbz2dec.c:
* ext/bz2/gstbz2enc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/swfdec/gstswfdec.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/colorspace/gstcolorspace.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/librfb/gstrfbsrc.c:
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/smoothwave/gstsmoothwave.c:
* gst/spectrum/gstspectrum.c:
* gst/speed/gstspeed.c:
* gst/stereo/gststereo.c:
* gst/switch/gstswitch.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/vbidec/gstvbidec.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
* sys/cdrom/gstcdplayer.c:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directsound/gstdirectsoundsink.c:
* sys/glsink/glimagesink.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l2/gstv4l2src.c:
* sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
* sys/ximagesrc/ximagesrc.c:
Define GstElementDetails as const and also static (when defined as
global)
2006-04-25 21:56:38 +00:00
j^
dacf8eaa18
Unify the long descriptions in the plugin details ( #337263 ).
...
Original commit message from CVS:
Patch by: j^ <j at bootlab dot org>
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/polyp/polypsink.c: (gst_polypsink_base_init):
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
Unify the long descriptions in the plugin details (#337263 ).
2006-04-06 11:35:26 +00:00
Mark Nauwelaerts
06e6b4ec67
ext/xvid/gstxvidenc.c: Patch to mark outgoing encoded buffers as delta-units (or not).
...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* ext/xvid/gstxvidenc.c: (gst_xvidenc_init), (gst_xvidenc_setup),
(gst_xvidenc_chain):
Patch to mark outgoing encoded buffers as delta-units (or not).
Note that this patch also patches:
- the setting of fincr and fbase in xvid-encoder creation based on
caps framerate
- makes 0, rather than 2, the default max_b_frames, as the current
xvidenc does not seem "fully prepared" to handle b-frame
"effects", such as encoder returning 0 encoded bytes, etc.
Fixes #335585
2006-03-23 09:15:09 +00:00
Edgard Lima
9a85a17c4d
Fixed some mem-leaks in xvid.
...
Original commit message from CVS:
Fixed some mem-leaks in xvid.
2005-12-15 14:39:00 +00:00
Edgard Lima
96e747214a
xviddec and xvideenc ported to 0.10
...
Original commit message from CVS:
xviddec and xvideenc ported to 0.10
2005-12-14 22:41:47 +00:00
Jan Schmidt
012dfb8b33
Fix up all the state change functions.
...
Original commit message from CVS:
Fix up all the state change functions.
2005-09-05 17:20:29 +00:00
Andy Wingo
259401774d
Way, way, way too many files: Remove crack comment from the 2000 era.
...
Original commit message from CVS:
2005-07-05 Andy Wingo <wingo@pobox.com>
* Way, way, way too many files:
Remove crack comment from the 2000 era.
2005-07-05 10:51:49 +00:00
Benjamin Otte
23c774e5a3
ext/: \1/Codec, ( fixes #142193 )
...
Original commit message from CVS:
reviewed by Benjamin Otte <otte@gnome.org>
* ext/a52dec/gsta52dec.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c: (gst_faad_base_init):
* ext/ivorbis/vorbisfile.c:
* ext/lame/gstlame.c:
* ext/libfame/gstlibfame.c:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/sidplay/gstsiddec.cc:
* ext/speex/gstspeexdec.c:
* ext/speex/gstspeexenc.c:
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
correct klasses. Mostly s,Codec/(Audio|Video),\1/Codec,
(fixes #142193 )
2004-05-09 14:37:16 +00:00
Stéphane Loeuillet
35c03af85e
default value (-1) was out of bound
...
Original commit message from CVS:
default value (-1) was out of bound
2004-05-03 17:27:19 +00:00
Ronald S. Bultje
7002053d5d
ext/xvid/gstxvidenc.c: ulong/int mess-up.
...
Original commit message from CVS:
* ext/xvid/gstxvidenc.c: (gst_xvidenc_set_property),
(gst_xvidenc_get_property):
ulong/int mess-up.
2004-03-25 02:32:33 +00:00
Thomas Vander Stichele
4fd57bbe3f
don't mix tabs and spaces
...
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:27 +00:00
Thomas Vander Stichele
7a778ee4b7
gst-indent
...
Original commit message from CVS:
gst-indent
2004-03-14 22:34:33 +00:00
Thomas Vander Stichele
ef255131dc
fix headers fix signals to use - instead of _
...
Original commit message from CVS:
fix headers
fix signals to use - instead of _
2004-03-04 21:39:15 +00:00
Thomas Vander Stichele
7fa1c52301
change NULL to (NULL) for GST_ELEMENT_ERROR
...
Original commit message from CVS:
change NULL to (NULL) for GST_ELEMENT_ERROR
Make sure errors end with "."
2004-02-02 17:23:33 +00:00
Thomas Vander Stichele
92eb19b993
GST_ELEMENT_ERROR
...
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
Thomas Vander Stichele
07ed811a09
use new error signal and classification
...
Original commit message from CVS:
use new error signal and classification
2004-01-18 21:46:58 +00:00
Benjamin Otte
f768ab94c7
gst-libs/gst/video/video.h: Fix caps template names to be understandable.
...
Original commit message from CVS:
2004-01-12 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst-libs/gst/video/video.h:
Fix caps template names to be understandable.
Prefix everything with GST_VIDEO.
* ext/aalib/gstaasink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/gdk_pixbuf/gstgdkpixbuf.c:
* ext/hermes/gstcolorspace.c: (gst_colorspace_base_init):
* ext/jpeg/gstjpegdec.c: (raw_caps_factory):
* ext/jpeg/gstjpegenc.c: (raw_caps_factory):
* ext/libcaca/gstcacasink.c:
* ext/libpng/gstpngenc.c: (raw_caps_factory):
* ext/snapshot/gstsnapshot.c:
* ext/swfdec/gstswfdec.c:
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/chart/gstchart.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/effectv/gsteffectv.c:
* gst/flx/gstflxdec.c: (gst_flxdec_loop):
* gst/goom/gstgoom.c:
* gst/median/gstmedian.c:
* gst/monoscope/gstmonoscope.c: (gst_monoscope_init),
(gst_monoscope_srcconnect), (gst_monoscope_chain):
* gst/overlay/gstoverlay.c:
* gst/smooth/gstsmooth.c:
* gst/smpte/gstsmpte.c:
* gst/synaesthesia/gstsynaesthesia.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/y4m/gsty4mencode.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps):
Make them work with new video.h file.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc):
Make it work with new buffer allocation system.
2004-01-12 02:01:52 +00:00
Ronald S. Bultje
b5c817cb14
ext/divx/gstdivxenc.c: Use explicit caps - fix capsnego.
...
Original commit message from CVS:
2004-01-09 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxenc.c: (gst_divxenc_init):
Use explicit caps - fix capsnego.
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
Remove macro-inside-macro which caused compile errors.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_header):
Error out if it's not a RIFF file. Else we error out without
gst_element_error() which is not good...
2004-01-09 09:48:43 +00:00
Jan Schmidt
0051f0e18e
ifdef out ARGB type when it isn't available in xvidcore 1.0.0beta2
...
Original commit message from CVS:
ifdef out ARGB type when it isn't available in xvidcore 1.0.0beta2
2004-01-06 14:34:52 +00:00
Ronald S. Bultje
47d4010afb
Update xvid plugin to latest xvid (1.0.0-beta3) API.
...
Original commit message from CVS:
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
reviewed by: <delete if not using a buddy>
* configure.ac:
* ext/xvid/gstxvid.c: (gst_xvid_init), (gst_xvid_error),
(gst_xvid_structure_to_csp), (gst_xvid_csp_to_caps):
* ext/xvid/gstxvid.h:
* ext/xvid/gstxviddec.c: (gst_xviddec_class_init),
(gst_xviddec_init), (gst_xviddec_setup), (gst_xviddec_chain),
(gst_xviddec_src_link), (gst_xviddec_sink_link),
(gst_xviddec_change_state):
* ext/xvid/gstxviddec.h:
* ext/xvid/gstxvidenc.c: (gst_xvidenc_profile_get_type),
(gst_xvidenc_base_init), (gst_xvidenc_class_init),
(gst_xvidenc_init), (gst_xvidenc_setup), (gst_xvidenc_chain),
(gst_xvidenc_link), (gst_xvidenc_set_property),
(gst_xvidenc_get_property), (gst_xvidenc_change_state):
* ext/xvid/gstxvidenc.h:
Update xvid plugin to latest xvid (1.0.0-beta3) API.
2004-01-03 19:38:40 +00:00
David Schleef
b144bc6c58
Merge CAPS branch
...
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Ronald S. Bultje
cb90622b41
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes fro...
...
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
2003-11-07 12:47:02 +00:00
Ronald S. Bultje
f1b647a6f5
Remove obsolete external function call and do all element registrations in plugin_init()
...
Original commit message from CVS:
Remove obsolete external function call and do all element registrations in plugin_init()
2003-11-05 11:01:03 +00:00
Iain Holmes
343ee1744a
XVid compiles again...I'm off to bed :)
...
Original commit message from CVS:
XVid compiles again...I'm off to bed :)
2003-11-02 02:31:04 +00:00
Ronald S. Bultje
f43766333b
More Andy fixage
...
Original commit message from CVS:
More Andy fixage
2003-10-09 19:52:36 +00:00
Andy Wingo
c07813ac2c
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488 .
...
Original commit message from CVS:
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488 .
2003-10-08 16:08:19 +00:00
Thomas Vander Stichele
671eef9b9d
reverting error patch before making a branch.
...
Original commit message from CVS:
reverting error patch before making a branch.
2003-09-16 10:00:00 +00:00
Benjamin Otte
982b39d30a
converted gst_element_error to new format in ext/ - gettext pending
...
Original commit message from CVS:
converted gst_element_error to new format in ext/ - gettext pending
2003-09-15 01:08:40 +00:00
Ronald S. Bultje
833a8b579b
call xvid_init() only once, and move duplicated code into one place
...
Original commit message from CVS:
call xvid_init() only once, and move duplicated code into one place
2003-07-29 11:59:09 +00:00
Ronald S. Bultje
ff1182f0bd
Fix some weird-ass segfaults in xvid
...
Original commit message from CVS:
Fix some weird-ass segfaults in xvid
2003-07-14 06:31:26 +00:00
Ronald S. Bultje
95011fd7e8
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
...
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
2003-07-06 20:49:52 +00:00
Benjamin Otte
f4a7caa418
compatibility fix for new GST_DEBUG stuff.
...
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h
I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
2003-06-29 19:46:13 +00:00
Ronald S. Bultje
e87e59e1b3
Somewhat improve error reporting
...
Original commit message from CVS:
Somewhat improve error reporting
2003-06-01 15:13:56 +00:00
Ronald S. Bultje
08889d7a8f
Added corresponding divx/xvid decoders and fixed some first-hand encoder bugs
...
Original commit message from CVS:
Added corresponding divx/xvid decoders and fixed some first-hand encoder bugs
2003-04-22 14:55:12 +00:00
Ronald S. Bultje
ab57fbcd54
Adds divx/xvid encoders. divx encoder is based on divx4linux (commercial, closed-source)
...
Original commit message from CVS:
Adds divx/xvid encoders.
* divx encoder is based on divx4linux (commercial, closed-source)
* xvid encoder is based on xvidcore (http://www.xvid.org/ , GPL - Christian? ;) )
Both use a GstCaps that doesn't conform with what we currently use, I might fix that later on or so. For now, it doesn't matter, it's just a test. We're also missing corresponding decoders (ffmpeg can decoded this too, but that's not the point), these might come later too.
2003-04-21 21:54:27 +00:00