Commit graph

713 commits

Author SHA1 Message Date
Ronald S. Bultje
1c3dc42d55 gst/avi/gstavimux.c: Fix...
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avimux_write_tag),
(gst_avimux_riff_get_avi_header):
Fix...
2005-01-22 10:54:07 +00:00
Ronald S. Bultje
5006606231 gst/avi/gstavimux.c: Fix padding...
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avimux_write_tag):
Fix padding...
2005-01-19 20:25:26 +00:00
Ronald S. Bultje
2b6207564c gst/matroska/ebml-read.c: Allow for 0-sized buffers. Fixes length query problems in starwars.mkv from the testsuite.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_buffer):
Allow for 0-sized buffers. Fixes length query problems in
starwars.mkv from the testsuite.
2005-01-19 19:31:54 +00:00
Tim-Philipp Müller
b43e960650 Fix row strides for I420 (fixes #163159)
Original commit message from CVS:
Fix row strides for I420 (fixes #163159)
2005-01-19 17:09:57 +00:00
Ronald S. Bultje
471c844eb5 ext/mad/gstmad.c: Fail if caps negotiation fails. Should fix #162184, and should definately be in there regardless of...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
Fail if caps negotiation fails. Should fix #162184, and should
definately be in there regardless of it fixing the actual bug.
* gst/avi/gstavimux.c: (gst_avimux_get_type), (gst_avimux_init),
(gst_avimux_write_tag), (gst_avimux_riff_get_avi_header),
(gst_avimux_riff_get_avix_header),
(gst_avimux_riff_get_video_header),
(gst_avimux_riff_get_audio_header), (gst_avimux_write_index),
(gst_avimux_start_file), (gst_avimux_handle_event),
(gst_avimux_change_state):
* gst/avi/gstavimux.h:
Refactor structure writing to use GST_WRITE_UINT macros, add
metadata writing support.
2005-01-19 11:01:09 +00:00
Ronald S. Bultje
20a14f8b13 gst/qtdemux/qtdemux.c: More memory leak fixes (#149162).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (gst_qtdemux_handle_esds):
More memory leak fixes (#149162).
2005-01-18 12:30:05 +00:00
Ronald S. Bultje
28215a31c1 gst/qtdemux/qtdemux.c: Fix two memleaks.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_add_stream):
Fix two memleaks.
2005-01-17 23:44:06 +00:00
Ronald S. Bultje
46ed1fae90 gst/avi/gstavimux.c: Free events (fix memleak in #162905).
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avimux_handle_event):
Free events (fix memleak in #162905).
2005-01-16 10:08:12 +00:00
Thomas Vander Stichele
d78e43f5c5 debugging
Original commit message from CVS:
debugging
2005-01-13 17:11:08 +00:00
Ronald S. Bultje
3b12894436 gst/avi/gstavimux.c: Reusability fixes.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avimux_class_init),
(gst_avimux_pad_unlink), (gst_avimux_release_pad):
Reusability fixes.
2005-01-11 16:52:47 +00:00
Ronald S. Bultje
b3f034287c gst/qtdemux/qtdemux.c: Also shove tags on kid pads.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Also shove tags on kid pads.
2005-01-10 16:24:14 +00:00
Ronald S. Bultje
5024a7c5b6 gst-libs/gst/riff/riff-read.c: Don't bail on unknown events.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
Don't bail on unknown events.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Don't crash on events before negotiation.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Send tags on pads, too.
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Forward events on first pad if no input was selected yet.
2005-01-10 16:09:25 +00:00
Ronald S. Bultje
73fdfd3298 gst/qtdemux/qtdemux.c: Fix warning (#161191).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event):
Fix warning (#161191).
2005-01-09 20:51:18 +00:00
Ronald S. Bultje
0f37f59441 ext/alsa/gstalsa.c: Reset variables on READY.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state):
Reset variables on READY.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_loop):
Require data before writing header.
2005-01-09 10:30:59 +00:00
Ronald S. Bultje
65262fe081 OGM text support, Matroska UTF-8 text support, deadlock fixes all over the place, subtitle awareness in decodebin/pla...
Original commit message from CVS:
* configure.ac:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_new):
* ext/ogg/gstogmparse.c: (gst_ogm_text_parse_get_type),
(gst_ogm_text_parse_base_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_get_sink_querytypes), (gst_ogm_parse_sink_convert),
(gst_ogm_parse_sink_query), (gst_ogm_parse_chain),
(gst_ogm_parse_plugin_init):
* ext/pango/gsttextoverlay.c: (gst_textoverlay_linkedpads),
(gst_textoverlay_link), (gst_textoverlay_getcaps),
(gst_textoverlay_event), (gst_textoverlay_video_chain),
(gst_textoverlay_loop), (gst_textoverlay_init), (plugin_init):
* ext/pango/gsttextoverlay.h:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_sync_streams),
(gst_matroska_demux_parse_blockgroup),
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
* gst/playback/gstdecodebin.c: (close_pad_link):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(gen_preroll_element), (remove_groups), (add_stream),
(new_decoded_pad), (setup_subtitles), (gen_source_element),
(setup_source):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gen_text_element), (setup_sinks):
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c: (gst_subparse_get_type),
(gst_subparse_base_init), (gst_subparse_class_init),
(gst_subparse_init), (gst_subparse_formats),
(gst_subparse_eventmask), (gst_subparse_event),
(gst_subparse_handle_event), (convert_encoding), (get_next_line),
(parse_mdvdsub), (parse_mdvdsub_init), (parse_subrip),
(parse_subrip_deinit), (parse_subrip_init), (parse_mpsub),
(parse_mpsub_deinit), (parse_mpsub_init),
(gst_subparse_buffer_format_autodetect),
(gst_subparse_format_autodetect), (gst_subparse_loop),
(gst_subparse_change_state), (gst_subparse_type_find),
(plugin_init):
* gst/subparse/gstsubparse.h:
* gst/typefind/gsttypefindfunctions.c: (ogmtext_type_find),
(plugin_init):
Add subtitle support, .sub parser (supports SRT and MPsub),
OGM text support, Matroska UTF-8 text support, deadlock fixes
all over the place, subtitle awareness in decodebin/playbin
and some fixes to textoverlay to handle subtitles in a stream
correctly. Fixes #100931.
2005-01-08 18:22:41 +00:00
Stéphane Loeuillet
c838dd54c4 ext/dv/gstdvdec.c: Fix audio caps i just broke (missing ',')
Original commit message from CVS:
* ext/dv/gstdvdec.c:
Fix audio caps i just broke (missing ',')
* gst/matroska/matroska-mux.c: (gst_matroska_mux_get_type),
(gst_matroska_mux_reset):
Fix typo + add FIXME about old "x-gst-metadata" crap
2005-01-07 23:46:23 +00:00
Stéphane Loeuillet
74cf60cca5 gst/: Add AMR (VBR and CBR) ids to riff.h audio codec list
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h:
* gst/wavenc/riff.h:
Add AMR (VBR and CBR) ids to riff.h audio codec list

* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_process_object):
Retrieve more tags from ASF files (Genre, AlbumTitle, Artist)
2005-01-05 21:46:19 +00:00
Ronald S. Bultje
eef19db944 examples/gstplay/player.c: Don't iterate.
Original commit message from CVS:
* examples/gstplay/player.c: (main):
Don't iterate.
* examples/seeking/seek.c: (fixate), (make_playerbin_pipeline):
Add visualizations.
* ext/a52dec/gsta52dec.c: (gst_a52dec_push),
(gst_a52dec_handle_frame):
Set duration.
* ext/dvdnav/gst-dvd:
Add audioconvert. Fixes #161325.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_get):
Explicitely case to gint64. Possible valgrind error.
* gst-libs/gst/play/play.c: (caps_set), (setup_size),
(gst_play_tick_callback), (gst_play_change_state),
(gst_play_dispose), (gst_play_init), (gst_play_class_init),
(gst_play_set_location), (gst_play_get_location),
(gst_play_seek_to_time), (gst_play_set_data_src),
(gst_play_set_video_sink), (gst_play_set_audio_sink),
(gst_play_set_visualization), (gst_play_connect_visualization),
(gst_play_get_framerate), (gst_play_get_all_by_interface),
(gst_play_new):
Use playbin. Fixes #139749 and #147744.
* gst/apetag/apedemux.c: (gst_ape_demux_parse_tags):
Add genre tag.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type),
(audioscale_get_type), (gst_audioscale_base_init),
(gst_audioscale_class_init), (gst_audioscale_expand_caps),
(gst_audioscale_getcaps), (gst_audioscale_fixate),
(gst_audioscale_link), (gst_audioscale_get_buffer),
(gst_audioscale_decrease_rate), (gst_audioscale_increase_rate),
(gst_audioscale_init), (gst_audioscale_dispose),
(gst_audioscale_chain), (gst_audioscale_set_property),
(gst_audioscale_get_property), (plugin_init):
Indent properly.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private):
Fix LPCM.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta),
(qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (qtdemux_video_caps):
Add more metadata (fixes #162656).
2005-01-05 14:56:27 +00:00
Thomas Vander Stichele
bb6c6585c8 Fix for #154773 - fixes playback of small .wav files
Original commit message from CVS:
Fix for #154773 - fixes playback of small .wav files
2005-01-04 11:09:19 +00:00
Maciej Katafiasz
df19ded406 Remove time-based check for first vorbis packet altogether, as it was a hack since day one (Arwed who wrote it says s...
Original commit message from CVS:
Remove time-based check for first vorbis packet altogether, as it
was a hack since day one (Arwed who wrote it says so)...
2004-12-28 17:09:06 +00:00
Maciej Katafiasz
6a25ab5bd4 Ooops, fix previous commit. Never trust file names I guess...
Original commit message from CVS:
Ooops, fix previous commit. Never trust file names I guess...
2004-12-28 16:50:28 +00:00
Maciej Katafiasz
e857c88844 Fix Vorbis streams failing to decode in some files, where cluster_time isn't 0, because then it doesn't send codec_pr...
Original commit message from CVS:
Fix Vorbis streams failing to decode in some files, where cluster_time isn't 0,
because then it doesn't send codec_priv before actual data.
2004-12-28 16:39:48 +00:00
Ronald S. Bultje
a0f3fb2a36 gst/: Add 3GP (variables name Q3GP because they can't start with a decoder is work in progress. Also do a GST_WARNING...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_type_get), (qtdemux_audio_caps):
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(plugin_init):
Add 3GP (variables name Q3GP because they can't start with a
number). Add samr audio fourcc (used in .3gp files), decoder
is work in progress. Also do a GST_WARNING instead of ERROR
in case of unknown nodes, to decrease output.
2004-12-24 12:58:17 +00:00
Ronald S. Bultje
3b494824c0 gst/matroska/matroska-demux.c: Save position, so that queries give proper return values. Don't know how this could ev...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Save position, so that queries give proper return values. Don't
know how this could ever have worked before...
2004-12-23 13:14:24 +00:00
Ronald S. Bultje
889e28ef62 gst/avi/gstavidemux.c: Add some more debug. Fix logic error when setting movi offset while reading index.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan):
Add some more debug. Fix logic error when setting movi offset
while reading index.
2004-12-23 11:44:03 +00:00
Ronald S. Bultje
f0def31bea gst/avi/gstavidemux.c: Add some debugging. Better detection of broken indexes and the accompanying index recovery. No...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
Add some debugging. Better detection of broken indexes and the
accompanying index recovery. No infinite loops on state changes
when we're still in our loopfunction.
2004-12-23 10:53:27 +00:00
Stéphane Loeuillet
8f66306a15 fix int and float audio caps in auparse, partially fixes bug #142812
Original commit message from CVS:
fix int and float audio caps in auparse, partially fixes bug #142812
2004-12-19 16:54:46 +00:00
Ronald S. Bultje
54752ea6e0 gst/deinterlace/gstdeinterlace.c: Rowstride fixes. Fixes #161039.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_link),
(gst_deinterlace_chain):
Rowstride fixes. Fixes #161039.
* gst/videocrop/gstvideocrop.c: (gst_video_crop_init),
(gst_video_crop_get_property), (gst_video_crop_add_to_struct_val),
(gst_video_crop_getcaps), (gst_video_crop_link),
(gst_video_crop_i420), (gst_video_crop_chain),
(gst_video_crop_change_state):
Rework of negotiation. Actually works now. Fixes #158650.
2004-12-18 23:43:47 +00:00
Ronald S. Bultje
f16a6fa764 gst/matroska/matroska-demux.c: That was very stupid.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_sint):
That was very stupid.
2004-12-18 22:53:29 +00:00
Ronald S. Bultje
d209b3de10 gst/matroska/matroska-demux.c: Fix possible crasher.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix possible crasher.
2004-12-18 22:47:47 +00:00
Ronald S. Bultje
59726ae2df gst/matroska/matroska-demux.c: Lace sizes can be zero.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_uint),
(gst_matroska_ebmlnum_sint), (gst_matroska_demux_parse_blockgroup):
Lace sizes can be zero.
2004-12-18 22:40:24 +00:00
Ronald S. Bultje
a4bf155817 gst/avi/gstavidemux.c: Work for truncated (unfinished download etc.) files. Fixes #160514.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index):
Work for truncated (unfinished download etc.) files. Fixes #160514.
2004-12-18 19:36:59 +00:00
Ronald S. Bultje
b76bb4154e gst/matroska/matroska-demux.c: Some MPEG-AAC hacks, because else it doesn't work...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (aac_rate_idx), (aac_profile_idx),
(gst_matroska_demux_audio_caps):
Some MPEG-AAC hacks, because else it doesn't work...
2004-12-16 22:16:02 +00:00
Stéphane Loeuillet
6e1fa8a5bf as HAVE_LIBMMX went away from configure, don't use it in goom Makefile
Original commit message from CVS:

as HAVE_LIBMMX went away from configure, don't use it in goom Makefile
2004-12-16 09:17:21 +00:00
Stéphane Loeuillet
6bb25dba0b forgot to add h264 to avidemux caps
Original commit message from CVS:
forgot to add h264 to avidemux caps
2004-12-13 12:18:07 +00:00
Stéphane Loeuillet
2a5d5ee911 add VSSH (VideoSoft h264) and remove s323 (h323) from riff-lib because s323 is quicktime specific
Original commit message from CVS:
add VSSH (VideoSoft h264) and remove s323 (h323) from riff-lib
because s323 is quicktime specific
2004-12-13 12:11:57 +00:00
Stéphane Loeuillet
77f52f2943 add s263 4CC code to qtdemux too
Original commit message from CVS:
add s263 4CC code to qtdemux too
2004-12-13 00:54:14 +00:00
Stéphane Loeuillet
13cba6bffe gst/asfdemux/README gst/wavenc/riff.h gst-libs/gst/riff/riff-ids.h gst-libs/gst/riff/riff-media.c add new 4CC codes f...
Original commit message from CVS:
* gst/asfdemux/README
* gst/wavenc/riff.h
* gst-libs/gst/riff/riff-ids.h
* gst-libs/gst/riff/riff-media.c
add new 4CC codes for h263 related codecs
fixes partially bug #155163
2004-12-13 00:47:20 +00:00
Stéphane Loeuillet
e822442495 put the same mail for Zaheer Merali everywhere
Original commit message from CVS:
put the same mail for Zaheer Merali everywhere
2004-12-11 13:43:19 +00:00
Ronald S. Bultje
66b58bd6bb 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
fdbea2d6a7 fix licensing of monoscope
Original commit message from CVS:
fix licensing of monoscope
2004-12-07 17:22:19 +00:00
Christian Schaller
e08a835a4a 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
a9d5e7b74f 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
Ronald S. Bultje
fd2b4713a6 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
75ff7535dd 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
9743f9532f 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
c30aaaef6b 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:35 +00:00
Ronald S. Bultje
9506620fe2 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
Jan Schmidt
659b0d1798 Update libvisual to 0.1.7. Link in the debug handling to gstreamer
Original commit message from CVS:
* configure.ac:
* ext/libvisual/visual.c: (gst_visual_get_type),
(libvisual_log_handler), (gst_visual_getcaps),
(gst_visual_srclink), (gst_visual_change_state), (make_valid_name),
(plugin_init):
Update libvisual to 0.1.7. Link in the debug handling to gstreamer
* ext/smoothwave/Makefile.am:
* ext/smoothwave/demo-osssrc.c: (main):
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init),
(gst_smoothwave_init), (gst_smoothwave_dispose), (gst_sw_sinklink),
(gst_sw_srclink), (gst_smoothwave_chain), (gst_sw_change_state),
(plugin_init):
* ext/smoothwave/gstsmoothwave.h:
Make gstsmoothwave a working element in the 20th century.
* gst/chart/gstchart.c: (gst_chart_init), (gst_chart_srcconnect):
Fix incorrect link function
2004-11-12 17:37:49 +00:00
Ronald S. Bultje
780c4c1c86 gst/matroska/matroska-demux.c: Signal no-more-pads (so it works in playbin).
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_loop_stream):
Signal no-more-pads (so it works in playbin).
2004-11-11 20:37:03 +00:00