Commit graph

3406 commits

Author SHA1 Message Date
Ronald S. Bultje
c7cbc47e89 sys/oss/gstosselement.c: Kick the hell out of gcc for not warning me about a symbol conflict.
Original commit message from CVS:
* sys/oss/gstosselement.c: (gst_osselement_class_probe_devices):
Kick the hell out of gcc for not warning me about a symbol conflict.
2005-02-22 15:23:04 +00:00
Tim-Philipp Müller
8f27ab3df3 ext/gdk_pixbuf/pixbufscale.c: Don't leak caps string (fixes #168134)
Original commit message from CVS:
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_link):
Don't leak caps string (fixes #168134)

* ext/jpeg/gstjpegenc.c: (gst_jpegenc_class_init),
(gst_jpegenc_init), (gst_jpegenc_finalize),
(gst_jpegenc_change_state):
Don't leak line buffers and context struct (fixes #168133).
2005-02-22 12:04:15 +00:00
Tim-Philipp Müller
1b72d441d0 Since dirac 0.5.0 the framerate in dirac is expressed as a rational number. Fix build and up requirement to 0.5.0, an...
Original commit message from CVS:
Since dirac 0.5.0 the framerate in dirac is expressed as a rational number. Fix build and up requirement to 0.5.0, and also pass parameters to gst_diracdec_link in the right order. (fixes #167959)
2005-02-21 23:41:23 +00:00
Maciej Katafiasz
83b6c3bdd1 Whoops.
Original commit message from CVS:
Whoops.
2005-02-21 19:01:58 +00:00
Maciej Katafiasz
d2d2f56e41 Fix playback of certain invalid muxed streams. Partial fix for #149158
Original commit message from CVS:
Fix playback of certain invalid muxed streams. Partial fix for #149158
2005-02-21 18:58:46 +00:00
Jan Schmidt
b5d9bcbcc7 gst/dvdlpcmdec/gstdvdlpcmdec.c: Make sure we only write to writable buffers
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain):
Make sure we only write to writable buffers
2005-02-20 15:26:04 +00:00
Tim-Philipp Müller
a84c1f2d5d gst-libs/gst/riff/riff-media.c: Do actually fix invalid RIFF fmt header values for alaw and mulaw audio instead of ju...
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Do actually fix invalid RIFF fmt header values for alaw
and mulaw audio instead of just saying so.

* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Give gst_riff_create_audio_caps_with_data() a chance to
fix up broken format header fields before extracting any
parameters from the header. (fixes #167633)
2005-02-20 12:49:19 +00:00
Tim-Philipp Müller
797a080e39 Don't leak othercaps in link function (fixes #167878)
Original commit message from CVS:
Don't leak othercaps in link function (fixes #167878)
2005-02-19 20:01:36 +00:00
Arwed v. Merkatz
4190810daf support libvisual 0.2.0
Original commit message from CVS:
support libvisual 0.2.0
2005-02-19 17:08:27 +00:00
Tim-Philipp Müller
a2ea6ab303 Fix rowstrides
Original commit message from CVS:
Fix rowstrides
2005-02-18 10:38:34 +00:00
Gergely Nagy
7f683b852e gst/avi/gstavidemux.c: Declare variables at beginning of block and make gcc-2.95 happy
Original commit message from CVS:

* gst/avi/gstavidemux.c: (gst_avi_demux_invert):
Declare variables at beginning of block and make gcc-2.95 happy
(fixes # 167482, patch by Gergely Nagy).

* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpclientsrc.h:
Move some includes into the header, so that struct sockaddr_in is
defined when it should be defined on FreeBSD as well (fixes
#167483).

* gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init_receive):
Don't pass uninitialised values to setsockopt() here either.
2005-02-17 19:21:42 +00:00
Tim-Philipp Müller
eb33462a15 Do not pass uninitialised values to setsockopt(). (fixes #167704)
Original commit message from CVS:
Do not pass uninitialised values to setsockopt(). (fixes #167704)
2005-02-17 17:56:39 +00:00
Ronald S. Bultje
232ea470f6 gst/playback/gstplaybin.c: Invert bin_add/link order to workaround deadlock in opt.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink):
Invert bin_add/link order to workaround deadlock in opt.
2005-02-16 13:33:12 +00:00
Ronald S. Bultje
44addff581 gst/modplug/gstmodplug.cc: Add missing break causing position queries to fail.
Original commit message from CVS:
* gst/modplug/gstmodplug.cc:
Add missing break causing position queries to fail.
2005-02-15 16:25:48 +00:00
Ronald S. Bultje
79a8c06553 ext/ogg/gstoggdemux.c: Granpos can apparently be -1, which screws up calculations...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_populate):
Granpos can apparently be -1, which screws up calculations...
2005-02-15 15:58:15 +00:00
Jan Schmidt
ec937dfcea sys/: Use a mutex protected list to marshal navigation events into the stream thread from whichever thread sends them.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_send_pending_navigation),
(gst_ximagesink_navigation_send_event), (gst_ximagesink_finalize),
(gst_ximagesink_init):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_send_pending_navigation),
(gst_xvimagesink_navigation_send_event),
(gst_xvimagesink_finalize), (gst_xvimagesink_init):
* sys/xvimage/xvimagesink.h:
Use a mutex protected list to marshal navigation
events into the stream thread from whichever thread
sends them.
2005-02-15 14:12:11 +00:00
Tim-Philipp Müller
1636a1c814 Add query function to GstSpeed, so that the stream length and current position get adjusted when queried (note that c...
Original commit message from CVS:
Add query function to GstSpeed, so that the stream length and current position get adjusted when queried (note that current position queries may still be wrong if the audio sink returns values based on buffer timestamps instead of passing on the query
2005-02-15 11:05:34 +00:00
Benjamin Otte
c196377ff6 gst/audioconvert/gstaudioconvert.c: create channel conversion matrix when linking
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link),
(gst_audio_convert_channels):
create channel conversion matrix when linking
* gst/audioconvert/.cvsignore:
* gst/audioconvert/Makefile.am:
* gst/audioconvert/channelmixtest.c: (main):
add (ugly) test that ensures stereo <=> mono conversion works
correctly
2005-02-13 17:39:22 +00:00
Benjamin Otte
f9cf10c748 gst/audioconvert/gstchannelmix.h: include missing header file
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.h:
include missing header file
* gst/audioconvert/gstchannelmix.c:
(gst_audio_convert_fill_compatible):
use same sign for both channels when converting to/from compatible
channel. Previously used different signs made the signals cancel
each other out and appear like silence. (fixes #167269)
2005-02-13 16:10:16 +00:00
Tim-Philipp Müller
c89562b61a Convert to and from YV12 (fixes #156379)
Original commit message from CVS:
Convert to and from YV12 (fixes #156379)
2005-02-12 22:29:00 +00:00
Julien Moutte
4aa7bf75d6 sys/ximage/ximagesink.c: Protect interface methods from chain and negotiation and vice versa (Fixes #166142).
Original commit message from CVS:
2005-02-12  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new),
(gst_ximagesink_sink_link), (gst_ximagesink_change_state),
(gst_ximagesink_chain), (gst_ximagesink_set_xwindow_id),
(gst_ximagesink_expose), (gst_ximagesink_set_property),
(gst_ximagesink_finalize), (gst_ximagesink_init): Protect interface
methods from chain and negotiation and vice versa (Fixes #166142).
* sys/ximage/ximagesink.h: Add stream_lock.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link),
(gst_xvimagesink_chain), (gst_xvimagesink_buffer_free),
(gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_expose): Check for xcontext before trying to link.
2005-02-12 18:41:49 +00:00
Tim-Philipp Müller
6e2b751efb Don't send 'Hey! You gave me a NULL pointer yo naughty person' as error message when we can't open the DVD device; se...
Original commit message from CVS:
Don't send 'Hey! You gave me a NULL pointer yo naughty person' as error message when we can't open the DVD device; send something more useful instead (fixes #167117)
2005-02-12 17:37:37 +00:00
Julien Moutte
415151afa4 sys/xvimage/xvimagesink.c: Protect interface methods from chain and negotiation and vice versa (Fixes #166142).
Original commit message from CVS:
2005-02-11  Julien MOUTTE  <julien@moutte.net>

* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_sink_link), (gst_xvimagesink_change_state),
(gst_xvimagesink_chain), (gst_xvimagesink_buffer_free),
(gst_xvimagesink_buffer_alloc), (gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_expose), (gst_xvimagesink_set_property),
(gst_xvimagesink_finalize), (gst_xvimagesink_init): Protect interface
methods from chain and negotiation and vice versa (Fixes #166142).
Fix a possible bug of images in the buffer pool being discarded because
we are looking at the wrong geometry.
* sys/xvimage/xvimagesink.h: Add stream_lock.
2005-02-11 22:49:23 +00:00
David Schleef
d30486aa46 ext/mpeg2dec/gstmpeg2dec.c: Change uint to unsigned int. (fixes #167128)
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer): Change uint to
unsigned int. (fixes #167128)
2005-02-11 22:25:33 +00:00
David Schleef
b4ad88e3d0 gst/librfb/Makefile.am: Testing stuff before committing is for wimps... and people with fast machines. Fix stupid mi...
Original commit message from CVS:
* gst/librfb/Makefile.am: Testing stuff before committing is
for wimps... and people with fast machines.  Fix stupid
mistake.
2005-02-11 22:16:02 +00:00
David Schleef
e6ed8165da configure.ac: Pull in librfb from my CVS tree, because it is too small and annoying to be separate. Move rfbsrc plug...
Original commit message from CVS:
* configure.ac: Pull in librfb from my CVS tree, because it is
too small and annoying to be separate.  Move rfbsrc plugin
to gst/.
* ext/Makefile.am:
* ext/librfb/Makefile.am:
* ext/librfb/gstrfbsrc.c:
* gst/librfb/Makefile.am:
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfb.c:
* gst/librfb/rfb.h:
* gst/librfb/rfbbuffer.c:
* gst/librfb/rfbbuffer.h:
* gst/librfb/rfbbytestream.c:
* gst/librfb/rfbbytestream.h:
* gst/librfb/rfbcontext.h:
* gst/librfb/rfbdecoder.c:
* gst/librfb/rfbdecoder.h:
* gst/librfb/rfbutil.h:
2005-02-11 22:01:19 +00:00
Tim-Philipp Müller
6fb89a4678 and make it handle more than one channel.
Original commit message from CVS:
Fix speed element and make it chain-based (fixes #156467), and make it handle more than one channel.
2005-02-10 15:06:12 +00:00
Jan Schmidt
5f92c24678 ext/dts/gstdtsdec.*: Don't clobber the stack constructing the channels array.
Original commit message from CVS:
* ext/dts/gstdtsdec.c: (gst_dtsdec_init), (gst_dtsdec_channels),
(gst_dtsdec_handle_event), (gst_dtsdec_handle_frame),
(gst_dtsdec_chain), (gst_dtsdec_change_state):
* ext/dts/gstdtsdec.h:
Don't clobber the stack constructing the channels array.
Make the element chain-based. DTS tracks can now be played.
2005-02-10 06:46:14 +00:00
Tim-Philipp Müller
38f505b3c8 Add G_BEGIN_DECLS and G_END_DECLS around headers where missing, so that they work when included from C++ code
Original commit message from CVS:
Add G_BEGIN_DECLS and G_END_DECLS around headers where missing, so that they work when included from C++ code
2005-02-09 22:31:05 +00:00
David Schleef
6b55d8f1eb testsuite/gst-lint: Check for non-statically scoped parent_class variables. This won't be a problem once plugins are...
Original commit message from CVS:
* testsuite/gst-lint: Check for non-statically scoped
parent_class variables.  This won't be a problem once
plugins are loaded with RTLD_LOCAL.
2005-02-09 20:50:35 +00:00
Ronald S. Bultje
c3118a7382 ext/mplex/gstmplexibitstream.cc: gcc madness.
Original commit message from CVS:
* ext/mplex/gstmplexibitstream.cc:
gcc madness.
2005-02-09 14:27:08 +00:00
Ronald S. Bultje
3da85f8ae9 Die, thou faulty symbol pollutors (non-static parent_class).
Original commit message from CVS:
* ext/ogg/gstogmparse.c:
* gst/debug/gstnavigationtest.c:
Die, thou faulty symbol pollutors (non-static parent_class).
2005-02-09 14:19:33 +00:00
Ronald S. Bultje
e1703e2342 ext/mplex/gstmplexibitstream.cc: Fix event handling (#165525).
Original commit message from CVS:
* ext/mplex/gstmplexibitstream.cc:
Fix event handling (#165525).
2005-02-08 18:51:24 +00:00
Ronald S. Bultje
eaac5e9001 Add missing endianness to template (fixes #165509).
Original commit message from CVS:
* ext/mikmod/gstmikmod.c:
* gst/modplug/gstmodplug.cc:
Add missing endianness to template (fixes #165509).
2005-02-08 15:03:41 +00:00
Ronald S. Bultje
76e9c7b971 gst/asfdemux/gstasfdemux.c: Fix wrong order of reading of optional bytes (#165290).
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_data):
Fix wrong order of reading of optional bytes (#165290).
2005-02-08 13:38:11 +00:00
Ronald S. Bultje
708fb6e61b ext/alsa/gstalsasink.c: Implement FILLER event awareness.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
Implement FILLER event awareness.
2005-02-08 13:06:41 +00:00
Ronald S. Bultje
0d04f83e98 ext/cdparanoia/gstcdparanoia.c: Fix track calculations (#166208).
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_convert):
Fix track calculations (#166208).
2005-02-08 11:28:54 +00:00
Ronald S. Bultje
6dd9f025ef ext/libpng/: Fix byte-order, use proper fixed caps. Fixes #164197.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/libpng/gstpngdec.c: (gst_pngdec_init), (gst_pngdec_chain):
* ext/libpng/gstpngenc.c:
Fix byte-order, use proper fixed caps. Fixes #164197.
2005-02-08 11:11:20 +00:00
Jan Schmidt
83e3fe189c configure.ac: Add dvdlpcmdec
Original commit message from CVS:

* configure.ac:
Add dvdlpcmdec

* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_reset),
(free_all_buffers), (gst_mpeg2dec_alloc_buffer):
Don't push buffers if the src pad isn't negotiated yet.

* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_buffer_to_default_format),
(gst_audio_convert_buffer_from_default_format):
Add support for 24-bit width.

* gst/dvdlpcmdec/.cvsignore:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_get_type),
(gst_dvdlpcmdec_base_init), (gst_dvdlpcmdec_class_init),
(gst_dvdlpcm_reset), (gst_dvdlpcmdec_init), (gst_dvdlpcmdec_link),
(gst_dvdlpcmdec_chain), (gst_dvdlpcmdec_change_state),
(plugin_init):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
New decoder for rearranging DVD LPCM into our audio/x-raw-int
format. Needs support for the channels maps if someone can find
a DVD LPCM track with > 2 channels.

* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_handle_dvd_event),
(gst_dvd_demux_send_discont), (gst_dvd_demux_handle_discont),
(gst_dvd_demux_get_audio_stream), (gst_dvd_demux_process_private):
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont),
(gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_init_stream),
(gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_handle_src_query):
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_reset),
(gst_mpeg_parse_parse_packhead), (gst_mpeg_parse_loop),
(gst_mpeg_parse_get_rate), (gst_mpeg_parse_convert_src),
(gst_mpeg_parse_handle_src_query),
(gst_mpeg_parse_handle_src_event):
Use audio/x-dvd-lpcm for LPCM output.
Add DTS output.
2005-02-08 11:08:15 +00:00
Ronald S. Bultje
a74a92a8d0 gst/alpha/gstalphacolor.c: Add BGRA handling (#165736).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/alpha/gstalphacolor.c: (gst_alpha_color_sink_link),
(transform_rgb), (transform_bgr), (gst_alpha_color_chain):
Add BGRA handling (#165736).
2005-02-08 11:02:58 +00:00
Ronald S. Bultje
1f9ee9a481 gst/law/: Fix caps memleaks (#166600).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/law/alaw-decode.c: (alawdec_link):
* gst/law/alaw-encode.c: (alawenc_link):
* gst/law/mulaw-decode.c: (mulawdec_link):
* gst/law/mulaw-encode.c: (mulawenc_link):
Fix caps memleaks (#166600).
2005-02-08 10:58:13 +00:00
Tim-Philipp Müller
d21a971d0b Include "_stdint.h" instead of <stdint.h>. Fixes build on systems that do not have stdint.h, like Solaris 9 (fixes #1...
Original commit message from CVS:
Include "_stdint.h" instead of <stdint.h>. Fixes build on systems that do not have stdint.h, like Solaris 9 (fixes #166631).
2005-02-08 10:37:43 +00:00
Ronald S. Bultje
6adb32adc4 sys/: Clear window on PAUSED->READY instead of READY->PAUSED. Stop
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_clear),
(gst_xvimagesink_change_state):
Clear window on PAUSED->READY instead of READY->PAUSED. Stop
Xv video (and thereby regenerate Xv colourkey) in clear() so
that PLAY -> READY -> PLAY works (fixes #162504).
2005-02-05 23:01:59 +00:00
Ronald S. Bultje
6c57765f2d sys/v4l/gstv4lmjpegsrc.c: Switch to list instead of range, since MJPEG-devices really just support decimations, not a...
Original commit message from CVS:
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_getcaps):
Switch to list instead of range, since MJPEG-devices really just
support decimations, not any size.
2005-02-05 16:18:15 +00:00
Jan Schmidt
09bb103d33 ext/mpeg2dec/gstmpeg2dec.*: The libmpeg2 user-allocated buffer management is awkward, to say the least. Hopefully thi...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_open_decoder),
(gst_mpeg2dec_reset), (free_all_buffers),
(gst_mpeg2dec_alloc_buffer), (handle_sequence):
* ext/mpeg2dec/gstmpeg2dec.h:
The libmpeg2 user-allocated buffer management is awkward,
to say the least. Hopefully this fixes things.
2005-02-05 07:36:01 +00:00
Andy Wingo
9c1c858d24 gst/audioconvert/bufferframesconvert.c
Original commit message from CVS:
2005-02-04  Andy Wingo  <wingo@pobox.com>

* gst/audioconvert/bufferframesconvert.c
(buffer_frames_convert_fixate): New function, fixates to 256
frames per buffer by default. (Much better than 1.)
(buffer_frames_convert_init): Set the fixate function for both src
and sink pad.
(buffer_frames_convert_link): After success setting nonfixed caps,
get the negotiated caps so we can know how many buffer-frames it
will be. No idea how this worked at all before.
2005-02-04 15:40:38 +00:00
Jan Schmidt
0786f478c3 ext/mpeg2dec/gstmpeg2dec.*: Rearrange buffer tracking and refcounting and refactor a little for readability.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(gst_mpeg2dec_close_decoder), (put_buffer), (check_buffer),
(free_buffer), (free_all_buffers), (gst_mpeg2dec_alloc_buffer),
(handle_sequence), (handle_picture):
* ext/mpeg2dec/gstmpeg2dec.h:
Rearrange buffer tracking and refcounting and refactor
a little for readability.
2005-02-04 13:43:27 +00:00
Jan Schmidt
91d410ea19 sys/v4l/: Add new v4ljpegsrc for handling the ov51x hacky "I'll give you jpeg inside rgb frames" driver.
Original commit message from CVS:
* sys/v4l/gstv4l.c: (plugin_init):
* sys/v4l/gstv4ljpegsrc.c: (gst_v4ljpegsrc_get_type),
(gst_v4ljpegsrc_base_init), (gst_v4ljpegsrc_class_init),
(gst_v4ljpegsrc_init), (gst_v4ljpegsrc_src_link),
(gst_v4ljpegsrc_getcaps), (gst_v4ljpegsrc_get):
* sys/v4l/gstv4ljpegsrc.h:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_open), (gst_v4lsrc_src_link):
* sys/v4l/v4l_calls.h:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_palette_name),
(gst_v4lsrc_get_fps):
* sys/v4l/v4lsrc_calls.h:
Add new v4ljpegsrc for handling the ov51x hacky "I'll give
you jpeg inside rgb frames" driver.
Don't error in the v4lsrc link function, just return
REFUSED.
2005-02-03 18:23:17 +00:00
Ronald S. Bultje
4aa442fcb4 sys/qcam/gstqcamsrc.c: Use GST_ELEMENT_ERROR, not g_warning, if open failed.
Original commit message from CVS:
* sys/qcam/gstqcamsrc.c: (gst_qcamsrc_change_state),
(gst_qcamsrc_open):
Use GST_ELEMENT_ERROR, not g_warning, if open failed.
2005-02-03 12:15:59 +00:00
Ronald S. Bultje
88c2298213 gst/qtdemux/qtdemux.c: Change caps on MJPEG-B so it doesn't interfere with MJPEG/JPEG.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Change caps on MJPEG-B so it doesn't interfere with MJPEG/JPEG.
2005-02-02 17:22:59 +00:00