Commit graph

1368 commits

Author SHA1 Message Date
Ronald S. Bultje
3d60a6065b gst/matroska/matroska-demux.c: Don't set DEFAULT, unsupported - makes length display incorrectly in some cases.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query):
Don't set DEFAULT, unsupported - makes length display incorrectly
in some cases.
2004-12-08 22:12:13 +00:00
Christian Schaller
f301742650 fix licensing of monoscope
Original commit message from CVS:
fix licensing of monoscope
2004-12-07 17:22:18 +00:00
Christian Schaller
e8cda18257 fix licensing information for monoscope plugin
Original commit message from CVS:
fix licensing information for monoscope plugin
2004-12-07 10:32:11 +00:00
Arwed v. Merkatz
dc9a86eb92 set correct buffer durations in mp3parse, set default_duration in matroskamux for mpeg1 audio
Original commit message from CVS:
set correct buffer durations in mp3parse, set default_duration in matroskamux for mpeg1 audio
2004-12-06 19:32:33 +00:00
Benjamin Otte
cffb318704 ext/alsa/gstalsa.*: refactor big chunks of the core caps negotiation code to make it a lot faster, because people cla...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_close_audio):
* ext/alsa/gstalsa.h:
refactor big chunks of the core caps negotiation code to make it
a lot faster, because people claim it's really slow
(actually, just cache the getcaps when the device is opened)
2004-12-06 16:10:06 +00:00
Ronald S. Bultje
cc32e6ddff ext/a52dec/gsta52dec.*: Do something useful with timestamps. Make chain-based (since there's really no reason to be l...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init),
(gst_a52dec_handle_event), (gst_a52dec_update_streaminfo),
(gst_a52dec_handle_frame), (gst_a52dec_chain),
(gst_a52dec_change_state), (plugin_init):
* ext/a52dec/gsta52dec.h:
Do something useful with timestamps. Make chain-based (since
there's really no reason to be loopbased).
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Update current_byte/frame correctly.
2004-12-06 10:28:13 +00:00
Ronald S. Bultje
9c6a6151ce gst/apetag/apedemux.c: Forward tags, too.
Original commit message from CVS:
* gst/apetag/apedemux.c: (gst_ape_demux_parse_tags),
(gst_ape_demux_stream_init):
Forward tags, too.
2004-12-04 12:05:33 +00:00
Ronald S. Bultje
09aa496aa0 gst/apetag/apedemux.c: Let's make sure we're done typefinding when detecting tags.
Original commit message from CVS:
* gst/apetag/apedemux.c: (gst_ape_demux_stream_init):
Let's make sure we're done typefinding when detecting tags.
2004-12-04 11:44:47 +00:00
Ronald S. Bultje
627517c36a gst/matroska/: Disgustingly evil hack for working around INTERRUPT events and their extremely annoying habit of being...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_class_init),
(gst_ebml_read_init), (gst_ebml_read_use_event),
(gst_ebml_read_element_id), (gst_ebml_peek_id),
(gst_ebml_read_seek), (gst_ebml_read_skip),
(gst_ebml_read_reserve), (gst_ebml_read_buffer),
(gst_ebml_read_master):
* gst/matroska/ebml-read.h:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents),
(gst_matroska_demux_loop_stream), (gst_matroska_demux_audio_caps):
Disgustingly evil hack for working around INTERRUPT events and
their extremely annoying habit of being a pain in the ass. We
simply peek a cluster before reading any of it.
2004-12-03 21:08:17 +00:00
Ronald S. Bultje
52be33631e ext/musepack/gstmusepackdec.cpp: There's also floating point libmusepacks.
Original commit message from CVS:
* ext/musepack/gstmusepackdec.cpp:
There's also floating point libmusepacks.
2004-12-03 18:13:43 +00:00
Ronald S. Bultje
98298a8c56 ext/faad/gstfaad.c: Set DURATION even if source buffer didn't. Also use increasing timestamps.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_chanpos_from_gst),
(gst_faad_chanpos_to_gst), (gst_faad_chain):
Set DURATION even if source buffer didn't. Also use increasing
timestamps.
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Block_align can have larger values than 8192.
2004-12-03 15:34:19 +00:00
Ronald S. Bultje
c34370c5d8 gst/law/: Fix caps.
Original commit message from CVS:
* gst/law/alaw-decode.c: (alawdec_getcaps), (alawdec_link):
* gst/law/alaw-encode.c: (alawenc_getcaps), (alawenc_link):
* gst/law/mulaw-decode.c: (mulawdec_getcaps), (mulawdec_link):
* gst/law/mulaw-encode.c: (mulawenc_getcaps), (mulawenc_link):
Fix caps.
2004-12-02 17:38:59 +00:00
Ronald S. Bultje
56ba2a4a6d sys/v4l/v4l_calls.c: Fix logic bug.
Original commit message from CVS:
* sys/v4l/v4l_calls.c: (gst_v4l_get_chan_names):
Fix logic bug.
2004-12-01 22:47:41 +00:00
Ronald S. Bultje
8471836cea ext/ogg/gstoggdemux.c: Yay, another one.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_type_find):
Yay, another one.
2004-12-01 21:45:27 +00:00
Ronald S. Bultje
4fe1a737b3 ext/esd/esdsink.c: Make error actually say something useful (fixes #156798).
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_chain):
Make error actually say something useful (fixes #156798).
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add Intel Video 5.0 fourcc (IV50).
2004-12-01 20:42:01 +00:00
Christophe Fergeau
4246a92142 ext/mad/gstmad.c: fix xing header detection on mono and stereo mp3 files.
Original commit message from CVS:
2004-12-01  Christophe Fergeau  <teuf@gnome.org>

* ext/mad/gstmad.c: (mpg123_parse_xing_header): fix xing header
detection on mono and stereo mp3 files.
2004-12-01 20:07:24 +00:00
Ronald S. Bultje
795615d52e gst/playback/gstplaybasebin.c: Don't crash on EMPTY caps (e.g. when the demuxer didn't recognize the contained stream).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state):
Don't crash on EMPTY caps (e.g. when the demuxer didn't recognize
the contained stream).
2004-12-01 17:58:19 +00:00
Ronald S. Bultje
54effec909 ext/faad/gstfaad.c: Oops, remove debug.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_srcconnect), (gst_faad_chain):
Oops, remove debug.
2004-12-01 16:07:43 +00:00
Ronald S. Bultje
370e7d8af1 gst/law/: Prevent warnings when negotiating caps (fixes #159338).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/law/alaw-decode.c: (alawdec_getcaps):
* gst/law/mulaw-decode.c: (mulawdec_getcaps):
Prevent warnings when negotiating caps (fixes #159338).
2004-12-01 15:18:34 +00:00
Ronald S. Bultje
b74999eddc gst/ffmpegcolorspace/gstffmpegcolorspace.c: Remove old leftover that shouldn't be there...
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_chain):
Remove old leftover that shouldn't be there...
2004-12-01 15:13:47 +00:00
Ronald S. Bultje
5e10a662b3 gst-libs/gst/riff/riff-read.c: Don't forward DISCONT events (fixes #159684).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
Don't forward DISCONT events (fixes #159684).
2004-12-01 13:23:39 +00:00
Ronald S. Bultje
946ce9b49a gst/playback/gstplaybin.c: Unlink manually since sometimes bin disposal (and therefore pad unlinking) is delayed, whi...
Original commit message from CVS:
* gst/playback/gstplaybin.c: (remove_sinks), (setup_sinks):
Unlink manually since sometimes bin disposal (and therefore
pad unlinking) is delayed, which will cause a new media file
to not be able to start playing instantly.
2004-12-01 13:14:57 +00:00
Ronald S. Bultje
a818da90ad gst/playback/gststreaminfo.c: On mute of an unlinked stream, check for pad availability so we don't crash on unlinked...
Original commit message from CVS:
* gst/playback/gststreaminfo.c: (stream_info_mute_pad):
On mute of an unlinked stream, check for pad availability so
we don't crash on unlinked pad.
2004-11-29 17:01:34 +00:00
Ronald S. Bultje
e22aa0550c gst/avi/gstavidemux.c: Fix quite humiliating bug in omitting 0-sized index chunks but forgetting to count them for ti...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_massage_index):
Fix quite humiliating bug in omitting 0-sized index chunks but
forgetting to count them for timestamps.
2004-11-29 12:41:03 +00:00
Ronald S. Bultje
de1f13f1ad ext/a52dec/gsta52dec.c: Actually leave the loop if we failed to sync. Don't crash.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_loop):
Actually leave the loop if we failed to sync. Don't crash.
2004-11-29 11:16:47 +00:00
Ronald S. Bultje
315c5c8324 gst/mpegstream/gstdvddemux.*: Fix crash (#159759). Doesn't work, though. :-(.
Original commit message from CVS:
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_process_private):
* gst/mpegstream/gstdvddemux.h:
Fix crash (#159759). Doesn't work, though. :-(.
2004-11-28 21:18:18 +00:00
Benjamin Otte
05103c18ca gst/audioconvert/gstchannelmix.c: more overwriting protection due to modifying channels one by one instead of all at ...
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c: (gst_audio_convert_mix):
more overwriting protection due to modifying channels one by one
instead of all at once
2004-11-28 20:41:23 +00:00
Ronald S. Bultje
836ea71ea1 gst/audioconvert/gstchannelmix.c: Normalize using absolute values.
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c:
(gst_audio_convert_fill_normalize):
Normalize using absolute values.
2004-11-28 19:22:07 +00:00
Julien Moutte
d70c927c8b Adding a first version of directfbvideosink.
Original commit message from CVS:
2004-11-28  Julien MOUTTE  <julien@moutte.net>

* configure.ac:
* ext/Makefile.am:
* ext/directfb/Makefile.am:
* ext/directfb/directfbvideosink.c: (gst_directfbvideosink_create),
(gst_directfbvideosink_get_pixel_format),
(gst_directfbvideosink_get_format_from_fourcc),
(gst_directfbvideosink_fixate), (gst_directfbvideosink_getcaps),
(gst_directfbvideosink_sink_link),
(gst_directfbvideosink_change_state),
(gst_directfbvideosink_chain), (gst_directfbvideosink_buffer_free),
(gst_directfbvideosink_buffer_alloc),
(gst_directfbvideosink_interface_supported),
(gst_directfbvideosink_interface_init),
(gst_directfbvideosink_navigation_send_event),
(gst_directfbvideosink_navigation_init),
(gst_directfbvideosink_set_property),
(gst_directfbvideosink_get_property),
(gst_directfbvideosink_finalize), (gst_directfbvideosink_init),
(gst_directfbvideosink_base_init),
(gst_directfbvideosink_class_init),
(gst_directfbvideosink_get_type), (plugin_init):
* ext/directfb/directfbvideosink.h: Adding a first version of
directfbvideosink.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_init): Initializing some
more.
2004-11-28 19:08:45 +00:00
Benjamin Otte
110fd90222 gst/audioconvert/gstchannelmix.c: walk the samples backwards if out_channels > in_channels so we don't overwrite data
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c: (gst_audio_convert_mix):
walk the samples backwards if out_channels > in_channels so we don't
overwrite data
2004-11-28 18:26:36 +00:00
Ronald S. Bultje
4fdf8d5b16 gst/audioconvert/: Implement a channel mixer.
Original commit message from CVS:
* gst/audioconvert/Makefile.am:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_link), (gst_audio_convert_change_state),
(gst_audio_convert_channels):
* gst/audioconvert/gstchannelmix.c:
(gst_audio_convert_unset_matrix),
(gst_audio_convert_fill_identical),
(gst_audio_convert_fill_compatible),
(gst_audio_convert_detect_pos), (gst_audio_convert_fill_one_other),
(gst_audio_convert_fill_others),
(gst_audio_convert_fill_normalize),
(gst_audio_convert_fill_matrix), (gst_audio_convert_setup_matrix),
(gst_audio_convert_passthrough), (gst_audio_convert_mix):
* gst/audioconvert/gstchannelmix.h:
Implement a channel mixer.
2004-11-28 16:09:13 +00:00
Martin Soto
a931717c2e ext/alsa/: Make alsasink actually honor gst_element_set_clock and use that clock instead of ist internal one.
Original commit message from CVS:
2004-11-28  Martin Soto  <martinsoto@users.sourceforge.net>

* ext/alsa/gstalsasink.c (gst_alsa_sink_loop):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsa.c (gst_alsa_set_clock):
Make alsasink actually honor gst_element_set_clock and use that
clock instead of ist internal one.
2004-11-28 13:35:44 +00:00
Christophe Fergeau
2b204597ba gst/playback/gstplaybasebin.c: fixed a caps leak nullify source and decoder when going from READY to NULL so that we ...
Original commit message from CVS:
2004-11-27  Christophe Fergeau  <teuf@gnome.org>

* gst/playback/gstplaybasebin.c: (setup_source): fixed a caps leak
(gst_play_base_bin_change_state): nullify source and decoder when
going from READY to NULL so that we don't try to do weird stuff with
them when going from NULL to READY
* gst/playback/gstplaybin.c: (gst_play_bin_init): use gst_object_unref
instead of g_object_unref
(gen_video_element), (gen_audio_element): more refcounting fixes, now
it should be correct
(gst_play_bin_change_state): don't call remove_sinks if we are
currently disposing the object
2004-11-27 20:28:27 +00:00
Ronald S. Bultje
4afaba5347 ext/a52dec/gsta52dec.c: Don't forget bass if it's there. Else left channel is silent...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_loop):
Don't forget bass if it's there. Else left channel is silent...
2004-11-27 20:27:18 +00:00
Ronald S. Bultje
1de3e19fdb ext/a52dec/gsta52dec.c: Don't do sample adjusting anymore, we use float audio now.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_loop),
(gst_a52dec_change_state):
Don't do sample adjusting anymore, we use float audio now.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate):
Don't fixate to non-existing properties.
2004-11-27 20:22:42 +00:00
Ronald S. Bultje
6bf9bf004c ext/a52dec/gsta52dec.c: Advertise that we can do surround sound.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels),
(gst_a52dec_change_state):
Advertise that we can do surround sound.
2004-11-27 19:41:26 +00:00
Ronald S. Bultje
23de88f783 ext/a52dec/gsta52dec.c: Add buffer-frames=0.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_reneg):
Add buffer-frames=0.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_get_type),
(dvdreadsrc_init), (dvdreadsrc_get_event_mask),
(dvdreadsrc_get_query_types), (dvdreadsrc_get_formats),
(dvdreadsrc_srcpad_event), (dvdreadsrc_srcpad_query),
(_seek_title), (_seek_chapter), (get_next_cell_for), (_read),
(seek_sector), (dvdreadsrc_get), (dvdreadsrc_open_file),
(dvdreadsrc_change_state), (dvdreadsrc_uri_get_type),
(dvdreadsrc_uri_get_protocols), (dvdreadsrc_uri_get_uri),
(dvdreadsrc_uri_set_uri), (dvdreadsrc_uri_handler_init):
* ext/dvdread/dvdreadsrc.h:
Add seeking, querying for bytes, sectors, title, angle and
chapter. Handle multiple chapters. Relicense to LGPL because
Billy agreed on that (thanks Billy!).
2004-11-27 17:20:26 +00:00
Christophe Fergeau
39f436c1a0 gst/audioconvert/gstaudioconvert.c: call parent dispose method
Original commit message from CVS:
2004-11-27  Christophe Fergeau  <teuf@gnome.org>

* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_dispose):
call parent dispose method
2004-11-27 14:41:51 +00:00
Martin Soto
8ed05be101 gst-libs/gst/audio/audioclock.c (gst_audio_clock_set_active)
Original commit message from CVS:
2004-11-27  Martin Soto  <martinsoto@users.sourceforge.net>

* gst-libs/gst/audio/audioclock.c (gst_audio_clock_set_active)
(gst_audio_clock_get_internal_time):
Fix active <-> inactive transitions: ensure time value always
grows and avoid abrupt value changes.
2004-11-27 09:37:20 +00:00
Arwed v. Merkatz
ae0628f6af added TTA parser and decoder
Original commit message from CVS:
added TTA parser and decoder
2004-11-26 23:10:28 +00:00
Ronald S. Bultje
c414d6277b gst/playback/gstplaybasebin.*: Implement buffering. Needs some more work.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(probe_triggered), (check_queue), (buffer_underrun),
(buffer_running), (buffer_overrun), (gen_source_element),
(setup_source):
* gst/playback/gstplaybasebin.h:
Implement buffering. Needs some more work.
2004-11-26 12:31:05 +00:00
Ronald S. Bultje
f74ad551ef ext/theora/theoradec.c: Fix ilog mask range overflow.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain):
Fix ilog mask range overflow.
2004-11-26 12:25:44 +00:00
Ronald S. Bultje
e71527d6d9 ext/alsa/gstalsa.c: Don't omit the last (which incase of dmix is the only :) ) channel count. Don't set channels if <...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps):
Don't omit the last (which incase of dmix is the only :) )
channel count. Don't set channels if <= 2.
2004-11-26 11:47:24 +00:00
Christophe Fergeau
0e8f1eb7a3 gst/playback/gstplaybin.c: Removed 2 obsolete comments
Original commit message from CVS:
2004-11-26  Christophe Fergeau  <teuf@gnome.org>

* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element): Removed 2 obsolete comments
2004-11-26 11:35:47 +00:00
Stéphane Loeuillet
0894bc9159 ext/vorbis/oggvorbisenc.c
Original commit message from CVS:
* ext/vorbis/oggvorbisenc.c
* ext/vorbis/vorbisenc.c :
change description fields of those plugins to differentiate them
(pitivi show Encoders by description, they had the same one)
2004-11-26 11:28:11 +00:00
Ronald S. Bultje
e8bdc657ef gst/playback/gstplaybin.c: Refcounting fixes for provided audio-/videosinks.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/playback/gstplaybin.c: (gst_play_bin_dispose),
(gst_play_bin_set_property), (gen_video_element),
(gen_audio_element):
Refcounting fixes for provided audio-/videosinks.
2004-11-25 20:52:16 +00:00
Ronald S. Bultje
f1f79e13f6 gst/playback/gstplaybin.c: Don't reference all sinks, but only the video- and audiosinks.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element), (setup_sinks), (gst_play_bin_change_state):
Don't reference all sinks, but only the video- and audiosinks.
The vis. element should be disposed when we're done with it.
We don't have any reason to keep it around. This fixes warnings
when reusing playbin for playing multiple audio files with
vis. enabled. Also release audio device on pause - idea stolen
from Rhythmbox.
2004-11-25 20:46:55 +00:00
Ronald S. Bultje
3a0a2898af Surround sound support.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push),
(gst_a52dec_reneg), (gst_a52dec_loop), (plugin_init):
* ext/alsa/gstalsa.c: (gst_alsa_get_caps):
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/dts/gstdtsdec.c: (gst_dtsdec_channels),
(gst_dtsdec_renegotiate), (gst_dtsdec_loop), (plugin_init):
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_chanpos_from_gst),
(gst_faad_chanpos_to_gst), (gst_faad_sinkconnect),
(gst_faad_srcgetcaps), (gst_faad_srcconnect), (gst_faad_chain),
(gst_faad_change_state), (plugin_init):
* ext/faad/gstfaad.h:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/audio/audio.c: (plugin_init):
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_get_channel_positions),
(gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(add_list_to_struct), (gst_audio_set_caps_channel_positions_list),
(gst_audio_fixate_channel_positions):
* gst-libs/gst/audio/multichannel.h:
* gst-libs/gst/audio/testchannels.c: (main):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init), (gst_audio_convert_init),
(gst_audio_convert_dispose), (gst_audio_convert_getcaps),
(gst_audio_convert_parse_caps), (gst_audio_convert_link),
(gst_audio_convert_fixate), (gst_audio_convert_channels):
* gst/audioconvert/plugin.c: (plugin_init):
Surround sound support.
2004-11-25 20:36:29 +00:00
Ronald S. Bultje
78cfd8e8af ext/ogg/gstoggdemux.c: Fix position for discont if we're close as well. Nitpicking, but saves a few milliseconds of e...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_push):
Fix position for discont if we're close as well. Nitpicking, but
saves a few milliseconds of extra waiting or skipping.
2004-11-25 20:31:22 +00:00
Ronald S. Bultje
051fe366bd gst/playback/gstdecodebin.c: We sometimes need parsers for playback, so add those too.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter):
We sometimes need parsers for playback, so add those too.
2004-11-25 20:22:13 +00:00