Commit graph

3771 commits

Author SHA1 Message Date
Wim Taymans
f830f6f4ac gst/gstsegment.c: Fix boundary checking in to_running_time() and to_stream_time().
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_seek),
(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
(gst_segment_to_running_time):
Fix boundary checking in to_running_time() and to_stream_time().
Fixes #377183.
* tests/check/gst/gstsegment.c: (GST_START_TEST):
stream and running time can now be calculated for the complete
clipped segment.
2006-11-20 10:27:49 +00:00
Tim-Philipp Müller
c0ce620980 gst/gstpad.c: Can't access event structure after giving away ownership of the event.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_push_event):
Can't access event structure after giving away ownership of
the event.
2006-11-15 17:38:13 +00:00
Mark Nauwelaerts
47976eb0c2 gst/gstpad.c: Fix documentation for gst_pad_dispatcher. Fixes #374475.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* gst/gstpad.c:
Fix documentation for gst_pad_dispatcher. Fixes #374475.
2006-11-13 18:03:35 +00:00
Tim-Philipp Müller
bf22daa437 Use g_strerror() instead of strerror() - we want UTF-8.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load_file):
* plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
(gst_file_src_map_region), (gst_file_src_start):
* plugins/indexers/gstfileindex.c: (gst_file_index_load),
(gst_file_index_commit):
Use g_strerror() instead of strerror() - we want UTF-8.
2006-11-06 17:53:24 +00:00
Stefan Kost
d6c257363b gst/gstpad.c: Enhance debug and improve docs
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_event_default_dispatch),
(gst_pad_push_event):
Enhance debug and improve docs
* gst/gsturi.c:
Fix docs
2006-11-06 15:18:57 +00:00
Stefan Kost
894b7f9f4a docs/gst/gstreamer-sections.txt: add new API and fix the build
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
add new API and fix the build
* gst/gstbin.c: (gst_bin_recalc_state):
* gst/gstelement.c: (gst_element_message_full),
(gst_element_get_state_func), (gst_element_set_state_func):
use new API and improve logging
* gst/gstutils.c: (gst_element_state_change_return_get_name):
* gst/gstutils.h:
API: add function to get StateChangereturn names to improve logs
2006-11-06 15:14:46 +00:00
Mark Nauwelaerts
6e0416787d gst/gstpad.c: Some small cleanups. Improve debugging.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* gst/gstpad.c: (gst_pad_init), (pre_activate),
(gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
(gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
Some small cleanups. Improve debugging.
* gst/gstpad.h:
Signal all waiting threads with a broadcast instead of just one.
Fixes #369942.
2006-11-03 13:57:28 +00:00
gorshkov
656c529833 gst/gstinfo.h: _declspec should be __declspec (two underscores, not one). Fixes 366572.
Original commit message from CVS:
Patch by: gorshkov <gorshkov at oghma dot on dot ca>
* gst/gstinfo.h:
_declspec should be __declspec (two underscores, not one). Fixes 366572.
2006-10-30 07:51:13 +00:00
Kjartan Maraas
fcfb59afb1 Typo fixes (#366212).
Original commit message from CVS:
Patch by: Kjartan Maraas  <kmaraas at gnome org>
* docs/design/part-MT-refcounting.txt:
* docs/random/wtay/capsnego2-docs:
* gst/gstclock.c:
* gst/gstxml.c:
Typo fixes (#366212).
2006-10-28 15:42:29 +00:00
Sergey Scobich
f4f604b7b1 Add needed entries in .def files.
Original commit message from CVS:
Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
* gst/gst.c:
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
* win32/vs8/libgstbase.vcproj:
* win32/vs8/libgstcontroller.vcproj:
Add needed entries in .def files.
Use HAVE_UNISTD_H.
Rearrange def files in vs8 solutions. Fixes #366286.
2006-10-28 15:10:26 +00:00
Wim Taymans
6dc97edc2f gst/gstghostpad.c: Make acceptcaps return TRUE when we don't have a target, just like setcaps does.
Original commit message from CVS:
* gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
(gst_ghost_pad_new_full):
Make acceptcaps return TRUE when we don't have a target, just like
setcaps does.
2006-10-27 16:31:15 +00:00
Tim-Philipp Müller
c7fc3dc0e8 gst/gststructure.c: If someone tries to set a non-UTF8 string field on a structure, don't just print a warning, but a...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set_value):
If someone tries to set a non-UTF8 string field on a structure,
don't just print a warning, but also ignore the request and do
not change/add that field to the structure.
* tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
Test for the above.
2006-10-26 08:49:52 +00:00
David Schleef
bc18910072 gst/gstinfo.c: g_hash_table_insert() needs a cast to a non-const pointer duh.
Original commit message from CVS:
* gst/gstinfo.c:
g_hash_table_insert() needs a cast to a non-const pointer duh.
2006-10-26 00:00:34 +00:00
David Schleef
504274019d gst/gstinfo.*: Change name parameter of _gst_debug_register_funcptr to const to reflect the constness of its use in t...
Original commit message from CVS:
* gst/gstinfo.c:
* gst/gstinfo.h:
Change name parameter of _gst_debug_register_funcptr to const
to reflect the constness of its use in the function as well
as to quiet a gcc warning.
2006-10-25 23:47:40 +00:00
Wim Taymans
9bece70bf2 gst/gstevent.h: Add small comment.
Original commit message from CVS:
* gst/gstevent.h:
Add small comment.
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_sink_eventfunc):
Debug segment values *after* updating them as this is more
interesting.
2006-10-24 08:22:19 +00:00
Wim Taymans
340a8fee72 docs/design/part-events.txt: Update some docs.
Original commit message from CVS:
* docs/design/part-events.txt:
Update some docs.
* docs/design/part-block.txt:
* gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
(gst_pad_push_event):
Revert BLOCKING patch, it tries to be smart without really having a
clear idea what or how. So, now we discard all FLUSHING events again on
a blocking pad. Should fix gnonlin again.
2006-10-23 15:21:12 +00:00
Wim Taymans
b1504c37da gst/gstsegment.c: Relax arg checking again, -1 is allowed.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_last_stop),
(gst_segment_set_seek), (gst_segment_set_newsegment_full):
Relax arg checking again, -1 is allowed.
2006-10-18 15:28:19 +00:00
Wim Taymans
fd6d33c360 gst/gstsegment.c: _set_last_stop() must be with a value != -1
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_last_stop),
(gst_segment_set_seek), (gst_segment_set_newsegment_full):
_set_last_stop() must be with a value != -1
A _TYPE_SET to -1 means seek to 0.
Calc last_stop correctly for negative rates.
Make sure we work with positive durations when updating a segment.
2006-10-18 13:27:39 +00:00
Wim Taymans
c0a833edca Small docs fixes.
Original commit message from CVS:
* docs/design/part-live-source.txt:
* gst/gstclock.h:
Small docs fixes.
2006-10-18 13:21:56 +00:00
Tim-Philipp Müller
5e4699885a gst/gstbuffer.h: Add an explicit cast to GstBuffer** to keep old code that added an explicit cast to GstMiniObject** ...
Original commit message from CVS:
* gst/gstbuffer.h:
Add an explicit cast to GstBuffer** to keep old code that added an
explicit cast to GstMiniObject** for gst_mini_object_replace()
compiling without warning.
2006-10-18 10:08:45 +00:00
Stefan Kost
d3da3ed47b gst/gstvalue.c: check for validity of dates
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
check for validity of dates
2006-10-18 08:54:30 +00:00
Peter Kjellerstedt
2a19cd8c49 gst/gstobject.h: Don't define xmlNodePtr to gpointer if the core was built with
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/gstobject.h:
Don't define xmlNodePtr to gpointer if the core was built with
--disable-loadsave and --disable-registry, this will break
applications that want to use libxml2 but are buildling against a
core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
instead so we don't have to mess with the libxml2 namespace
(#361675).
2006-10-17 11:57:32 +00:00
Tim-Philipp Müller
c64c4fd000 gst/gstbuffer.h: Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related type-punned pointer warnings.
Original commit message from CVS:
* gst/gstbuffer.h:
Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
type-punned pointer warnings.
2006-10-17 10:30:27 +00:00
Tim-Philipp Müller
854bc55a2e gst/gstelement.h: Add casts to the correct return type to state <=> state transition macros.
Original commit message from CVS:
* gst/gstelement.h:
Add casts to the correct return type to state <=> state transition
macros.
2006-10-16 20:02:38 +00:00
Wim Taymans
42d34f86ba Update some docs regarding reverse playback.
Original commit message from CVS:
* docs/design/part-trickmodes.txt:
* gst/gstevent.c:
Update some docs regarding reverse playback.
2006-10-16 11:46:04 +00:00
Wim Taymans
df08b4b762 gst/gstsegment.c: When seeking to stop -1, set last_stop (current position) to the duration of the segment.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_seek):
When seeking to stop -1, set last_stop (current position) to the
duration of the segment.
2006-10-13 16:09:53 +00:00
Yves Lefebvre
1b417192e6 gst/gstelement.h: Clarify _NO_PREROLL a bit more.
Original commit message from CVS:
* gst/gstelement.h:
Clarify _NO_PREROLL a bit more.
* gst/gstevent.c:
Fix docs.
* gst/gstpad.c: (gst_pad_link_check_hierarchy),
(gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
(handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
due to wrong locking order. Fixes #361769.
Remove some redundant/misplaced checks in pad_block.
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
For negative rates, count backwards from the duration.
2006-10-13 13:27:46 +00:00
Tim-Philipp Müller
f038abdb38 gst/gsterror.c: Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come up with something better).
Original commit message from CVS:
* gst/gsterror.c: (_gst_library_errors_init):
Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
up with something better).
2006-10-13 09:37:59 +00:00
Wim Taymans
25fa2877ac docs/plugins/: Update element args.
Original commit message from CVS:
* docs/plugins/gstreamer-plugins.args:
* docs/plugins/inspect/plugin-coreelements.xml:
* docs/plugins/inspect/plugin-coreindexers.xml:
Update element args.
* gst/gstsystemclock.c:
Small comment update.
* plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
(gst_tee_request_new_pad), (gst_tee_release_pad),
(gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
(gst_tee_sink_activate_pull):
* plugins/elements/gsttee.h:
Some tee loving:
Add default property defines.
Implement release pad function.
Give properties better blubs etc.
Activate pads before adding them to a running tee.
Do simple buffer_alloc on the first requested pad.
Post error when activation fails.
2006-10-11 16:30:14 +00:00
Tim-Philipp Müller
9f1bef5b1d gst/gst.c: Check return value of write() to make compiler happy.
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
Check return value of write() to make compiler happy.
2006-10-11 12:16:05 +00:00
Sebastien Cote
1482e8bd9b gst/gstpad.c: Update some docs.
Original commit message from CVS:
Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
* gst/gstpad.c: (gst_pad_get_caps_unlocked),
(gst_pad_save_thyself):
Update some docs.
Write pad direction in XML output. Fixes #345496.
2006-10-10 14:47:40 +00:00
Josep Torre Valles
8c9c6d060c gst/Makefile.am: Cast values when making gstenumtypes.h. This pacifies Forte so it doesn't warn about the ~0 as GST_...
Original commit message from CVS:
2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

Patch by: Josep Torre Valles <josep@fluendo.com>

* gst/Makefile.am:
Cast values when making gstenumtypes.h.  This pacifies Forte
so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
in the enumeration.
2006-10-10 12:12:44 +00:00
Wim Taymans
0a53651b1f gst/gstevent.c: Rename some more @cur to @start to fix docs.
Original commit message from CVS:
* gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
Rename some more @cur to @start to fix docs.
* gst/gstsegment.c: (gst_segment_set_seek):
Fix typo.
time and start must always stay in sync as defined in design doc.
* gst/gsttaglist.c: (gst_tag_list_is_empty):
Rename param to fix docs.
* tests/check/gst/gstsegment.c: (GST_START_TEST):
Check that start and time are in sync.
* tests/check/pipelines/parse-launch.c:
(gst_parse_test_element_change_state):
Activate pad before adding to the element.
2006-10-09 17:15:39 +00:00
Wim Taymans
89814eed61 docs/design/part-qos.txt: Fix typo.
Original commit message from CVS:
* docs/design/part-qos.txt:
Fix typo.
* gst/gstevent.c:
* gst/gstevent.h:
Update seek event docs regarding negative rates.
Rename @cur to @start.
* gst/gstsegment.c: (gst_segment_set_seek):
* gst/gstsegment.h:
Update set_seek docs regarding negative rates.
Correctly update last_stop to @stop when dealing with negative
rates.
Rename @cur to @start.
* tests/check/gst/gstpad.c: (GST_START_TEST):
Activate pads before trying to use them.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gst_segment_suite):
Add simple check for segments and negative rates.
2006-10-09 16:33:29 +00:00
Tim-Philipp Müller
3a8fdc1d39 API: add gst_tag_list_is_empty() (#360467).
Original commit message from CVS:
* gst/gsttaglist.c: (gst_tag_list_is_empty):
* gst/gsttaglist.h:
* docs/gst/gstreamer-sections.txt:
API: add gst_tag_list_is_empty() (#360467).
* tests/check/gst/gsttag.c: (GST_START_TEST):
And a test case.
2006-10-09 11:20:44 +00:00
Zaheer Abbas Merali
6ac7827d3c gst/gstmessage.h: Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having a value that doesn't fit on enumeration.
Original commit message from CVS:
2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/gstmessage.h:
Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
a value that doesn't fit on enumeration.
2006-10-09 11:06:50 +00:00
Josep Torre Valles
2f32e21d72 common/m4/gst-error.m4: Disable warning of statement not reached on Forte.
Original commit message from CVS:
2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

Patch by: Josep Torre Valles <josep@fluendo.com>

* common/m4/gst-error.m4:
Disable warning of statement not reached on Forte.
* gst/gstmessage.h:
Fix warning on Forte (value doesn't fit on enumeration).
* libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
Fix warning on Forte (value doesn't fit on enumeration).
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
DEBUG macro says it takes minimum of 2 args and so Forte
complains about the use with just 1 arg.
* plugins/elements/gstfdsink.c:
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstfilesink.c:
* plugins/elements/gstfilesrc.c:
Use correct return type for the uri handler implementations.

All these fix warnings in Forte.  Fixes bug #360860.
2006-10-09 09:32:29 +00:00
Tim-Philipp Müller
0ca5590961 gst/gstelement.h: gcc versions prior to gcc 3.3 apparently complain about a NULL printf format string, so don't use G...
Original commit message from CVS:
* gst/gstelement.h:
gcc versions prior to gcc 3.3 apparently complain about a NULL printf
format string, so don't use G_GNUC_PRINTF for those versions.
2006-10-08 13:27:17 +00:00
Tim-Philipp Müller
35ae6c7472 gst/gsttaglist.*: Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
Original commit message from CVS:
* gst/gsttaglist.c: (gst_is_tag_list):
* gst/gsttaglist.h:
Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
* tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
Small test for the above.
2006-10-07 18:41:19 +00:00
Tim-Philipp Müller
f8571bd952 gst/gsttaglist.h: Less tabs, more spaces.
Original commit message from CVS:
* gst/gsttaglist.h:
Less tabs, more spaces.
2006-10-07 18:11:03 +00:00
Tim-Philipp Müller
06260fdc88 gst/gstinfo.h: Those two function declarations do actually belong there, revert commit from yesterday that turned the...
Original commit message from CVS:
* gst/gstinfo.h:
Those two function declarations do actually belong there, revert
commit from yesterday that turned them intro macros.
2006-10-06 17:21:33 +00:00
Josep Torre Valles
fcb5023fa4 gst/gst.c: Fix empty declaration and type mismatch.
Original commit message from CVS:
2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

Patch by: Josep Torre Valles <josep@fluendo.com>

* gst/gst.c: (gst_init_get_option_group):
Fix empty declaration and type mismatch.
* gst/gstbin.c: (gst_bin_change_state_func):
Fix type mismatch.
* gst/gstelement.c: (gst_element_continue_state),
(gst_element_set_state_func), (gst_element_change_state),
(gst_element_change_state_func):
Fix type mismatches.
* gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
(gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
Cast as appropriate.
* gst/gstobject.c: (gst_class_signal_connect):
Cast as appropriate.  The function pointer parameter really
has the wrong type but would break API if we change it.
* gst/gstquery.c:
Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
order of including string.h.
* gst/gstutils.c: (gst_element_state_get_name):
Remove unreachable line.
* gst/gstxml.c: (gst_xml_parse_doc):
Fix type mismatch.
All these caught by Forte.
2006-10-06 14:46:04 +00:00
Zaheer Abbas Merali
6faacf67a3 gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return. Looks like cruft from 0.8.
Original commit message from CVS:
2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/parse/grammar.y:
Remove static function gst_parse_element_lock as all it does
is return.  Looks like cruft from 0.8.
2006-10-05 15:47:44 +00:00
Tim-Philipp Müller
f468db236d Printf fixes.
Original commit message from CVS:
* gst/gstpad.c: (pre_activate):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistryxml.c: (load_plugin):
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_observe_times):
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Printf fixes.
2006-10-05 14:26:08 +00:00
Tim-Philipp Müller
376f6c34da Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know whether we can use G_GNUC_PRINTF in other header files ...
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/gstconfig.h.in:
* gst/gstelement.h:
* gst/gstinfo.h:
Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
whether we can use G_GNUC_PRINTF in other header files and at
least check the printf format/arguments of debug messages and
GST_ELEMENT_ERROR messages when the printf extension is not
being used.
Replace more tabs with spaces in gstinfo.h and remove two spurious
function declarations in GST_DISABLE_DEBUG part with macros.
2006-10-05 12:31:07 +00:00
Tim-Philipp Müller
c4be4aa916 gst/gstbus.c: More docs for the sync-message signal (mention that it is not emitted by default); log message structur...
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
More docs for the sync-message signal (mention that it is not
emitted by default); log message structures of messages posted on
the bus as well.
2006-10-03 19:13:36 +00:00
Jan Schmidt
438c525bbd gst/gst.c: Use a pipe pair to receive status results from the forked child, and ignore the result from waitpid. Fixes...
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
Use a pipe pair to receive status results from the forked child, and
ignore the result from waitpid. Fixes #355499
2006-10-03 15:10:51 +00:00
Tim-Philipp Müller
785eafa32a gst/gstpad.c: Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
Original commit message from CVS:
* gst/gstpad.c:
Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2006-10-02 16:37:56 +00:00
Edward Hervey
8923a57a6f docs/design/part-block.txt: Further explain the use of flushing on blocked pads.
Original commit message from CVS:
* docs/design/part-block.txt:
Further explain the use of flushing on blocked pads.
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
(gst_pad_push_event):
* gst/gstpad.h:
Added new GstPadFlag : GST_PAD_BLOCKING.
Adds the notion of pads really blocking, which enables to properly
handle FLUSH_START/FLUSH_STOP events on blocked pads.
Fixes #358999
API: gst_pad_is_blocking()
API: GST_PAD_IS_BLOCKING() macro
API: GST_PAD_BLOCKING GstPadFlag
2006-10-02 16:01:54 +00:00
mrcgran
bae90f5955 gst/gstghostpad.c: Filter the proxied caps against the padtemplate if we have one.
Original commit message from CVS:
Patch by: mrcgran <mrc.gran at gmail dot com>
* gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
Filter the proxied caps against the padtemplate if we have one.
* gst/gstquery.c: (gst_query_new_segment):
Add include for gstinfo.h so that compilation with
-DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2006-10-02 10:06:17 +00:00