Commit graph

213 commits

Author SHA1 Message Date
Jan Schmidt
b3bed8b0da ext/mad/gstmad.c: When handling seeks, don't convert -1 start or stop values to a bogus byte position - pass them ups...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src):
When handling seeks, don't convert -1 start or stop values to a bogus
byte position - pass them upstream as -1.
2007-03-12 17:26:13 +00:00
Tim-Philipp Müller
03f40e53fd Printf format fixes.
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_goto_title),
(gst_dvd_read_src_handle_seek_event):
* ext/mad/gstid3tag.c: (gst_id3_tag_chain):
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain):
* ext/sidplay/gstsiddec.cc:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_parse_data):
* gst/realmedia/rmdemux.c: (gst_rmdemux_loop),
(gst_rmdemux_parse_packet):
Printf format fixes.
2006-10-05 17:07:52 +00:00
Michal Benes
092e714778 ext/mad/gstmad.c: Fix timestamping in mad by only activating a new timestamp when the previous frame has been decoded...
Original commit message from CVS:
Patch by: Michal Benes <michal dot benes at itonis dot tv>
* ext/mad/gstmad.c: (gst_mad_chain):
Fix timestamping in mad by only activating a new timestamp when the
previous frame has been decoded. Fixes #350723.
Also clean up some of the non fatal warnings when the input buffer is
too small to decode a header.
2006-08-16 10:34:57 +00:00
Michael Dominic K
7a9ac30688 ext/mad/gstmad.c: Send newsegment event before calling gst_pad_alloc_buffer_and_set_caps(), makes mad behave better i...
Original commit message from CVS:
Patch by: Michael Dominic K.  < mdk at mdk org pl>
* ext/mad/gstmad.c: (gst_mad_chain):
Send newsegment event before calling
gst_pad_alloc_buffer_and_set_caps(), makes mad behave better
in connection with pad blocking (#342594). While we're at it,
do some minor clean-ups.
2006-06-17 19:35:41 +00:00
Lutz Müller
2f20ba90fd ext/mad/gstmad.c: Make mad the second element to support the highly useful
Original commit message from CVS:
Patch by: Lutz Müller <lutz at topfrose de>
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_src_query):
Make mad the second element to support the highly useful
FORMATS query (#340594)
2006-05-04 08:24:52 +00:00
Stefan Kost
8c5e23f9cb Define GstElementDetails as const and also static (when defined as global)
Original commit message from CVS:
* ext/mad/gstid3tag.c:
* ext/mad/gstmad.c:
* gst/ac3parse/gstac3parse.c:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
* gst/synaesthesia/gstsynaesthesia.c:
Define GstElementDetails as const and also static (when defined as
global)
2006-04-25 21:47:03 +00:00
Tim-Philipp Müller
84d42edc7f ext/mad/gstmad.c: .. and DEFAULT queries should work too. Use magic gst util scale functions in some places.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src),
(gst_mad_src_query), (gst_mad_chain):
.. and DEFAULT queries should work too. Use magic gst util scale
functions in some places.
2006-04-21 20:37:43 +00:00
Tim-Philipp Müller
bb88d43290 ext/mad/gstmad.c: Fix duration query in BYTES format (#336824).
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_query):
Fix duration query in BYTES format (#336824).
2006-04-21 19:31:47 +00:00
Sébastien Moutte
800c1bf33c ext/mad/gstmad.c: move GstIndexEntry *entry variable declaration before the first instruction
Original commit message from CVS:
* ext/mad/gstmad.c: (index_seek):
move GstIndexEntry *entry variable declaration before
the first instruction
* ext/mad/gstmad.c:
remove debug macros with variable number of parameter by using
GST_DEBUG for WIN32
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic):
use gst_guint64_to_gdouble for conversions
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_sync_stream_to_time):
replace __FUNCTION__ which is not supported by MSVC by the current function name
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_reset):
remove LL suffix by using G_GINT64_CONSTANT
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead),(gst_mpeg_parse_get_rate):
use gst_guint64_to_gdouble for conversions
* gst/mpegstream/gstmpegparse.h:
remove LL suffix by using G_GINT64_CONSTANT
* win32/vs6:
add project files for tagac3parse, asfdemux, dvdlpcmdec, dvdsub, iec958, lame,
mad, mpegaudioparse, mpegstream, realmedia, synaesthesia
2006-04-09 18:09:40 +00:00
Stefan Kost
d398763d01 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_class_init):
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_class_init):
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_class_init):
* ext/mad/gstmad.c: (gst_mad_class_init):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_class_init):
* gst/asfdemux/gstasfmux.c: (gst_asfmux_class_init):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_class_init):
* gst/iec958/ac3iec.c: (ac3iec_class_init):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_class_init):
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init):
* gst/mpegstream/gstmpegclock.c: (gst_mpeg_clock_class_init):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_class_init):
* gst/realmedia/rmdemux.c: (gst_rmdemux_class_init):
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2006-04-08 21:42:19 +00:00
Tim-Philipp Müller
5ed66b9e38 ext/mad/gstmad.c: Include AUDIO_CODEC tag with tags posted if input is not framed (#334258). Use _scale() util functi...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_update_info),
(gst_mad_sink_event), (gst_mad_change_state):
Include AUDIO_CODEC tag with tags posted if input is not
framed (#334258). Use _scale() util functions in more places.
2006-03-14 19:41:17 +00:00
Jon Trowbridge
a2ac615910 ext/mad/gstmad.c: Port fixes for bugs 314771, 308772, 140237, and 302625
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_init), (scale), (gst_mad_update_info),
(gst_mad_sink_event), (gst_mad_check_caps_reset), (gst_mad_chain),
(gst_mad_change_state):
Port fixes for bugs 314771, 308772, 140237, and 302625
from 0.8 (Patch by Jonathan Matthew, Fixes #329575)
Use GST_EVENT_FLUSH_STOP to clear data from the current input
buffer, to avoid using it for any future decoding.
2006-02-16 09:50:43 +00:00
Radoslaw Szkodzinski
bcd611761c ext/mad/gstmad.c: Merge patch from Radoslaw Szkodzinski (bug 326734)
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_src), (scale),
(gst_mad_check_caps_reset), (gst_mad_chain):
Merge patch from Radoslaw Szkodzinski (bug 326734)
2006-01-31 22:03:30 +00:00
Tim-Philipp Müller
0560526695 ext/mad/gstmad.c: Fix debug message.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Fix debug message.
2006-01-23 10:15:27 +00:00
Tim-Philipp Müller
9828b301eb Pass unhandled queries upstream (useful e.g. for SEEKING query)
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_query):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
* ext/mad/gstmad.c: (gst_mad_src_query):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_query):
* ext/sidplay/gstsiddec.cc:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query):
* gst/realmedia/rmdemux.c: (gst_rmdemux_src_query):
Pass unhandled queries upstream (useful e.g. for SEEKING query)
(fixes #325652; based on patch by: Philippe); make rmdemux return
FALSE for position queries, instead of setting -1 as value and
returning TRUE.
2006-01-10 11:43:37 +00:00
Tim-Philipp Müller
b528f778d0 ext/mad/gstmad.c: Don't forget that we need to send out a newsegment event after a restart even if we don't have enou...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Don't forget that we need to send out a newsegment event after a
restart even if we don't have enough data to decode a frame right
now.
2006-01-04 15:17:15 +00:00
Jan Schmidt
16d1543b88 ext/mad/gstid3tag.c: Fix typefinding in id3demux, and then remove it in favour of the new LGPL id3demux in gst-plugin...
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_do_typefind),
(gst_id3_tag_do_caps_nego), (gst_id3_tag_chain), (plugin_init):
Fix typefinding in id3demux, and then remove it in favour
of the new LGPL id3demux in gst-plugins-good
* ext/mad/gstmad.c: (gst_mad_dispose):
dispose can run more than once.
2005-12-18 15:08:15 +00:00
Tim-Philipp Müller
741c6663e2 ext/mad/gstmad.c: For position and duration queries in TIME format, try the peer first (might be a demuxer).
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_query):
For position and duration queries in TIME format, try the peer
first (might be a demuxer).
2005-12-09 18:38:53 +00:00
Thomas Vander Stichele
ffe763c043 expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:48:07 +00:00
Andy Wingo
be0fdf972b Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/a52dec/gsta52dec.c: (gst_a52dec_push):
* ext/mad/gstmad.c: (gst_mad_chain):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
* gst/iec958/ac3iec.c: (ac3iec_chain_raw):
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_parse_packet): Update for alloc_buffer changes.
2005-12-05 13:03:40 +00:00
Edward Hervey
254cf104d8 ext/mad/gstmad.c: Proper warning statements,
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Proper warning statements,
Don't error if the src pad isn't linked when pushing.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_change_state):
Proper state_change, avoids borkage when going to READY
2005-11-28 15:47:01 +00:00
Jan Schmidt
93714f6be3 ext/mad/gstmad.c: When pad_alloc returns other-than-GST_FLOW_OK and mad exits early, skip frame synthesis and consume...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
When pad_alloc returns other-than-GST_FLOW_OK and mad exits early,
skip frame synthesis and consume input data as if we'd done the
decode. Makes mad not error when the src pad is not connected.
(#319784)
2005-11-25 00:03:52 +00:00
Tim-Philipp Müller
1d09aeb36d ext/mad/gstmad.c: Fix seeking even more by sending the newsegment event with the right parameters. Should fix queryin...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Fix seeking even more by sending the newsegment event with the
right parameters. Should fix querying in playbin/totem after
a seek.
2005-11-22 18:39:36 +00:00
Tim-Philipp Müller
750f0f9d13 ext/mad/gstmad.c: Fix seeking in stand-alone mode. Fix nonexistant enum value introduced in previous commit. Improve ...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_mode_get_type), (gst_mad_src_query),
(normal_seek), (gst_mad_sink_event), (gst_mad_chain):
Fix seeking in stand-alone mode. Fix nonexistant enum value
introduced in previous commit. Improve debug messages here and
there. Actually return a proper return value in the sink event
handler.
2005-11-22 17:39:36 +00:00
Thomas Vander Stichele
9a7654bc79 fix up GValueEnum
Original commit message from CVS:
fix up GValueEnum
2005-11-22 17:04:38 +00:00
Andy Wingo
d731d22791 ext/a52dec/gsta52dec.c (gst_a52dec_sink_event) ext/mad/gstid3tag.c (gst_id3_tag_sink_event) ext/mad/gstmad.c (gst_mad...
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* ext/a52dec/gsta52dec.c (gst_a52dec_sink_event)
* ext/mad/gstid3tag.c (gst_id3_tag_sink_event)
* ext/mad/gstmad.c (gst_mad_chain)
* gst/mpegaudioparse/gstmpegaudioparse.c
(gst_mp3parse_sink_event)
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_discont)
(gst_mpeg_parse_send_discont, gst_mpeg_parse_pad_added)
* gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek)
(gst_rmdemux_chain, gst_rmdemux_add_stream): Run update-funcnames.
2005-11-22 11:55:32 +00:00
Andy Wingo
aa5c8d66bd ext/: Don't take the stream lock.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* ext/sidplay/gstsiddec.cc (gst_siddec_sink_event):
* ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event):
* ext/mad/gstmad.c (gst_mad_sink_event):
* ext/a52dec/gsta52dec.c (gst_a52dec_sink_event): Don't take the
stream lock.

* gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek): Update for
stream lock changes.
2005-11-21 17:34:30 +00:00
Johan Dahlin
d62642b8f8 ext/mad/gstid3tag.c (gst_mad_id3_to_tag_list): unset GValues after calling transform.
Original commit message from CVS:
* ext/mad/gstid3tag.c (gst_mad_id3_to_tag_list): unset GValues after
calling transform.
(gst_id3_tag_do_typefind): Unref caps

* ext/mad/gstmad.c (gst_mad_check_caps_reset): Ditto
2005-11-15 22:46:23 +00:00
Johan Dahlin
ec83de8d48 remove accidentally commited hack
Original commit message from CVS:
remove accidentally commited hack
2005-11-15 21:00:44 +00:00
Johan Dahlin
d7ce1d37b5 free pad templates
Original commit message from CVS:
free pad templates
2005-11-15 20:30:53 +00:00
Wim Taymans
dcd58b7551 API change fixen.
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_query),
(gst_amrnbparse_state_change):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
* ext/mad/gstmad.c: (gst_mad_get_query_types), (gst_mad_src_query):
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/sidplay/gstsiddec.cc:
* gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset),
(gst_rmdemux_src_query), (gst_rmdemux_src_query_types):
API change fixen.
2005-10-19 16:01:35 +00:00
Wim Taymans
f7690579ef newsegment API update.
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_sink_event):
* ext/mad/gstmad.c: (gst_mad_chain):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event), (gst_mp3parse_chain):
* gst/realmedia/rmdemux.c: (gst_rmdemux_perform_seek),
(gst_rmdemux_chain), (gst_rmdemux_add_stream):
newsegment API update.
2005-10-11 16:37:16 +00:00
Wim Taymans
fae42be53d ext/amrnb/amrnbdec.c: Mark invalid frame sizes
Original commit message from CVS:
* ext/amrnb/amrnbdec.c:
Mark invalid frame sizes

* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain):
UNUSABLE is not to be used here, just push out stuff so
probes can continue linking or making the pad usable.
2005-10-06 13:14:38 +00:00
Andy Wingo
fa4bd0499f All plugins updated for element state changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* All plugins updated for element state changes.
2005-09-02 15:43:54 +00:00
Ronald S. Bultje
c5a6eb857e ext/mad/gstmad.c: It'd be nice if I could listen to my mp3 files, so send out an initial discont, as the sink apparen...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain):
It'd be nice if I could listen to my mp3 files, so send out an
initial discont, as the sink apparently wants.
2005-08-09 13:02:54 +00:00
Wim Taymans
a9166d4c28 Various event updates and cleanups.
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_event),
(gst_amrnbparse_loop):
* ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event),
(gst_dvdec_handle_src_event), (gst_dvdec_decode_frame):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_event),
(gst_id3_tag_sink_event), (gst_id3_tag_chain):
* ext/mad/gstmad.c: (gst_mad_src_query), (index_seek),
(normal_seek), (gst_mad_sink_event), (gst_mad_chain):
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/shout2/gstshout2.c: (gst_shout2send_event):
* ext/sidplay/gstsiddec.cc:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_send_event), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry):
* gst/goom/gstgoom.c: (gst_goom_event):
* gst/realmedia/rmdemux.c: (gst_rmdemux_sink_event),
(gst_rmdemux_chain), (gst_rmdemux_send_event),
(gst_rmdemux_add_stream):
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_loop), (gst_wavparse_srcpad_event):
Various event updates and cleanups.
2005-07-27 18:37:25 +00:00
Ronald S. Bultje
3b88b92563 ext/mad/gstmad.c: First try forwarding events, makes seeking in AVI files with mp3 audio work again.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_event):
First try forwarding events, makes seeking in AVI files with mp3
audio work again.
2005-07-22 08:53:19 +00:00
Wim Taymans
865cfa3a5c ext/mad/gstmad.c: Add convert function for proper timestamp calculations.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_sink_event),
(gst_mad_chain):
Add convert function for proper timestamp calculations.

* gst/avi/gstavidemux.c: (gst_avi_demux_send_event),
(gst_avi_demux_stream_header), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop):
Send out initial discont.
2005-07-16 16:43:53 +00:00
Wim Taymans
746475e6d6 gst/base/gstbasesrc.c: Allow subclasses to implement their own negotiation.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.
2005-07-07 08:21:41 +00:00
Jan Schmidt
4fae157653 Replace GST_PLUGINS_LIBS_* with GST_PLUGINS_BASE_*
Original commit message from CVS:
2005-07-01  Jan Schmidt  <thaytan@mad.scientist.com>
* ext/libcaca/Makefile.am:
* ext/mad/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
Replace GST_PLUGINS_LIBS_* with GST_PLUGINS_BASE_*

* ext/mad/gstid3tag.c: (gst_id3_tag_src_query),
(gst_id3_tag_src_event), (gst_id3_tag_sink_event),
(gst_id3_tag_chain), (plugin_init):
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain):
Signedness warning fix, use gst_pad_get_peer instead of GST_PAD_PEER
in querying and event handling, because we're not holding the pad
lock and the peer may disappear.
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index):
Signedness warning fixes.

* gst/videofilter/gstvideotemplate.c: (plugin_init):
Remove gst_library_load
2005-07-01 08:10:55 +00:00
Edward Hervey
f0011b68c8 gst/avi/Makefile.am: Added linking to libgstriff-0.9
Original commit message from CVS:
* gst/avi/Makefile.am: (libgstavi_la_LIBADD):
Added linking to libgstriff-0.9
* ext/mad/gstmad.c: (gst_mad_src_query):
check the format of the upstream query and return query if it's the
same format as the requested one.
2005-06-30 16:29:39 +00:00
Andy Wingo
2b91f50455 ext/mad/gstid3tag.c (gst_id3_tag_get_event_masks): Reschmoove.
Original commit message from CVS:
2005-06-29  Andy Wingo  <wingo@pobox.com>

* ext/mad/gstid3tag.c (gst_id3_tag_get_event_masks): Reschmoove.

* ext/mad/gstmad.c (gst_mad_get_event_masks): Remove.
(gst_mad_chain): Appease GCC.

* ext/libcaca/gstcacasink.c (gst_cacasink_setcaps): Signedness.

* ext/aalib/gstaasink.c (gst_aasink_fixate): Unref caps, not free.
(gst_aasink_scale): Signedness.
2005-06-29 16:36:15 +00:00
Andy Wingo
cc8f46edf2 configure.ac (GST_CFLAGS): GCC strikes back!!! Let the build breakage ensue!!!
Original commit message from CVS:
2005-06-29  Andy Wingo  <wingo@pobox.com>

* configure.ac (GST_CFLAGS): GCC strikes back!!! Let the build
breakage ensue!!!

* gst/rtsp/gstrtspsrc.c (gst_rtspsrc_loop, gst_rtspsrc_open):
Signedness, unused var fixes.
(gst_rtspsrc_close): Unused?

* gst/realmedia/rmdemux.c (re_hexdump_bytes): Unused.

* gst/law/mulaw-encode.c (gst_mulawenc_chain): Signeness fix.

* gst/law/alaw-encode.c (alawenc_getcaps): Remove unneeded
declarations. Typo (probably crasher) fix.

* gst/law/mulaw-encode.c (mulawdec_getcaps):
* gst/law/mulaw-encode.c (mulawenc_getcaps):
* gst/law/alaw-decode.c (alawdec_getcaps): Same crasher fix.

* gst/goom/gstgoom.c (gst_goom_init): Hook up the event function.

* gst/effectv/gstwarp.c (gst_warptv_setup): Signedness fix.

* gst/effectv/gstdice.c (gst_dicetv_draw): Um, deferencing
uninitialized pointer not good.

* gst/videofilter/gstvideoexample.c (plugin_init):
* gst/videofilter/Makefile.am (libgstvideoexample_la_LIBADD): Link
to libgstvideofilter instead of gst_library_load.

* gst/alpha/gstalpha.c (gst_alpha_chroma_key_i420)
(gst_alpha_chroma_key_ayuv): Signedness fixen.
2005-06-29 16:14:30 +00:00
Wim Taymans
f14938b97f ext/mad/: RPAD_ -> PAD
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_src_link):
* ext/mad/gstmad.c: (gst_mad_chain):
RPAD_ -> PAD
Fix args in bufferalloc function call.
Makes the mad plugin compile again
2005-06-27 09:25:19 +00:00
Wim Taymans
2a98869f30 No need to take the lock anymore, core already did that before calling us.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain), (gst_mad_change_state):
* ext/sidplay/gstsiddec.cc:
* gst/alpha/gstalpha.c: (gst_alpha_chain):
* gst/goom/gstgoom.c: (gst_goom_chain):
No need to take the lock anymore,  core already did
that before calling us.
2005-05-25 12:58:23 +00:00
Wim Taymans
075f660a6a ext/mad/: Fix mad and id3tag compilation again.
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
* ext/mad/gstmad.c: (gst_mad_chain):
Fix mad and id3tag compilation again.
2005-05-12 19:48:45 +00:00
Tim-Philipp Müller
a5a4848761 ext/mad/gstmad.c: Make queries actually work (update core first).
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_sink_event):
Make queries actually work (update core first).
2005-05-12 14:15:37 +00:00
Tim-Philipp Müller
9ee658c36b ext/mad/gstmad.c: Port to new query API and replace gst_pad_convert() and gst_pad_get_formats() usage. gstid3tag look...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_src_query),
(index_seek), (normal_seek), (gst_mad_sink_event):
Port to new query API and replace gst_pad_convert()
and gst_pad_get_formats() usage. gstid3tag looks like
it needs some more love before it will work again, if
not a rewrite.
2005-05-11 22:42:47 +00:00
Christian Schaller
431ec45241 ported mad and effectv plugins
Original commit message from CVS:
ported mad and effectv plugins
2005-05-06 11:04:30 +00:00
David Schleef
59e2b0fcd5 configure.ac: Put DEFAULT_AUDIOSINK in config.h and use whereever possible. (Fixes #165997)
Original commit message from CVS:
* configure.ac: Put DEFAULT_AUDIOSINK in config.h and use
whereever possible.  (Fixes #165997)
* examples/capsfilter/capsfilter1.c: (main):
* examples/dynparams/filter.c: (create_ui):
* examples/seeking/cdparanoia.c: (get_track_info), (main):
* examples/seeking/chained.c: (main):
* examples/seeking/seek.c: (make_mod_pipeline), (make_dv_pipeline),
(make_wav_pipeline), (make_flac_pipeline), (make_sid_pipeline),
(make_vorbis_pipeline), (make_mp3_pipeline), (make_avi_pipeline),
(make_mpeg_pipeline), (make_mpegnt_pipeline):
* examples/seeking/spider_seek.c: (make_spider_pipeline):
* examples/switch/switcher.c: (main):
* ext/dv/demo-play.c: (main):
* ext/faad/gstfaad.c: (gst_faad_change_state):
* ext/mad/gstmad.c: (gst_mad_chain):
* ext/smoothwave/demo-osssrc.c: (main):
* gst-libs/gst/gconf/gconf.c: (gst_gconf_set_string),
(gst_gconf_render_bin_from_description),
(gst_gconf_get_default_audio_sink),
(gst_gconf_get_default_video_sink),
(gst_gconf_get_default_audio_src),
(gst_gconf_get_default_video_src),
(gst_gconf_get_default_visualization_element):
* gst/level/demo.c: (main):
* gst/level/plot.c: (main):
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/playondemand/demo-mp3.c: (setup_pipeline):
* gst/sine/demo-dparams.c: (main):
* gst/spectrum/demo-osssrc.c: (main):
* gst/speed/demo-mp3.c: (main):
* gst/volume/demo.c: (main):
* testsuite/embed/embed.c: (main):
2005-02-02 08:14:01 +00:00
Ronald S. Bultje
0b1be013a6 Allow seeks on audio pad, make mad forward those (#164826).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/mad/gstmad.c: (gst_mad_src_event):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Allow seeks on audio pad, make mad forward those (#164826).
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Set duration (#165335).
2005-01-27 10:14:22 +00:00
Benjamin Otte
804052d1ef ext/mad/gstmad.c: - on half framerate, compute the rate in advance so the comparisons don't compare wrong values
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
- on half framerate, compute the rate in advance so the comparisons
don't compare wrong values
- don't use mad_synth/frame_mute anymore, this mirrors mad_decoder
behaviour
- don't use mad_header_decode anymore, mad_frame_decode does that
automatically
- when getting rid of consumed bytes, reset the stream's skiplen
(fixes #163867)
2005-01-25 21:48:46 +00:00
Ronald S. Bultje
911cb0f678 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
d5257d4ea3 ext/mad/gstmad.c: Don't call mad_stream_sync() directly after recovering sync.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/mad/gstmad.c: (gst_mad_chain):
Don't call mad_stream_sync() directly after recovering sync.
Fixes #151661.
2005-01-09 01:58:04 +00:00
Christophe Fergeau
3e3cca4adf 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
Benjamin Otte
3824908ab3 ext/mad/gstmad.c: don't overflow data buffer. Flush not needed sync data when syncing failed.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
don't overflow data buffer. Flush not needed sync data when syncing
failed.
2004-11-05 03:33:26 +00:00
Wim Taymans
f460723e27 ext/mad/gstmad.c: Decoding the header first fixes some problems in resyncing in more mp3s.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
Decoding the header first fixes some problems in resyncing
in more mp3s.
2004-10-13 14:21:02 +00:00
Ronald S. Bultje
1b7b0e099d ext/mad/gstmad.c: Allow for mp3 rate/channels changes. However, only very conservatively. Reason that we *have* to en...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset),
(gst_mad_change_state):
Allow for mp3 rate/channels changes. However, only very
conservatively. Reason that we *have* to enable this is smiply
because the mad find_sync() function is not good enough, it will
regularly sync on random data as valid frames and therefore make
us provide random caps as *final* caps of the stream. The best fix
I could think of is to simply require several of the same stream
changes in a row before we change caps.
The actual testcase that works now is #
* ext/ogg/Makefile.am:
* ext/ogg/gstogg.c: (plugin_init):
* ext/ogg/gstogmparse.c:
OGM support (video only for now; I need an audio sample file).
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_process_stream), (gst_asf_demux_video_caps),
(gst_asf_demux_add_video_stream):
WMV extradata.
* gst/playback/gstplaybasebin.c: (unknown_type):
Don't error out on single unknown-types after all. It's wrong.
If we found type of video and audio but not of a subtitle stream,
it will still error out (which is unwanted). Will find a better fix
later on.
* gst/typefind/gsttypefindfunctions.c: (ogmvideo_type_find),
(ogmaudio_type_find), (plugin_init):
OGM support.
2004-09-20 12:40:40 +00:00
Benjamin Otte
6dbd7c1dce ext/mad/gstmad.c: fix mad plugin crashing on Sun (fixes #148289)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* ext/mad/gstmad.c:
fix mad plugin crashing on Sun (fixes #148289)
2004-07-25 14:08:58 +00:00
Benjamin Otte
c85cc84f32 ext/mad/gstmad.c: allow seeking for other methods than just SET
Original commit message from CVS:
* ext/mad/gstmad.c: (normal_seek):
allow seeking for other methods than just SET
2004-07-11 19:27:43 +00:00
Thomas Vander Stichele
6db1495c32 sync mp3 caps
Original commit message from CVS:
sync mp3 caps
2004-06-14 10:58:27 +00:00
Benjamin Otte
81bbf631d5 ext/alsa/gstalsa.c: cast to GstClockTime to get higher granularity
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_samples_to_timestamp):
cast to GstClockTime to get higher granularity
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
use gst_element_set_time_delay to get the exact time
* ext/mad/gstmad.c: (gst_mad_chain):
use the negotiated rate instead of the current frame's rate which
might be wrong because of bit errors. This avoids emitting totally
bogus timestamps and screwing sync.
(fixes #143454)
2004-06-07 01:41:37 +00:00
Benjamin Otte
0746a067ed ext/mad/gstmad.c: don't unref the event twice
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_handle_event):
don't unref the event twice
2004-05-19 19:34:12 +00:00
Ronald S. Bultje
a32b513bfc ext/mad/gstmad.c: Fix for when the first format in a discont event is not a byte-based one. Should fix #137710.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_handle_event):
Fix for when the first format in a discont event is not a
byte-based one. Should fix #137710.
2004-05-18 00:25:09 +00:00
Ronald S. Bultje
33e58c689e ext/mad/gstmad.c: Ignore CRCs by default (fixes #142566).
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_class_init), (gst_mad_init):
Ignore CRCs by default (fixes #142566).
2004-05-16 20:50:13 +00:00
Benjamin Otte
c1ff34505b ext/lame/gstlame.c: simplify
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_chain):
simplify
* ext/mad/gstmad.c: (gst_mad_handle_event):
fix event leak
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find):
be able to detect mp3 files < 4096 bytes
2004-05-07 00:43:50 +00:00
Thomas Vander Stichele
7dc9385301 do not change caps in middle of stream except on new streams fixes #139382
Original commit message from CVS:
do not change caps in middle of stream except on new streams
fixes #139382
2004-04-07 15:48:40 +00:00
Benjamin Otte
53fbf25868 ext/mad/gstmad.c: fix GST_FORMAT_TIME usage
Original commit message from CVS:
* ext/mad/gstmad.c: (normal_seek):
fix GST_FORMAT_TIME usage
2004-04-06 06:03:31 +00:00
Thomas Vander Stichele
43a9410066 more debugging, only reset caps when not in error
Original commit message from CVS:
more debugging, only reset caps when not in error
2004-04-05 12:28:57 +00:00
Thomas Vander Stichele
f8a4777286 add debug category + commenting and cleanups
Original commit message from CVS:
add debug category + commenting and cleanups
2004-04-05 11:38:04 +00:00
Thomas Vander Stichele
9ac53e9a2a don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:25 +00:00
Thomas Vander Stichele
908defa2c4 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:30 +00:00
Thomas Vander Stichele
9dcd265258 report mode/layer/emph
Original commit message from CVS:
report mode/layer/emph
2004-03-06 18:39:39 +00:00
Christophe Fergeau
e81c3184bb ext/mad/gstmad.c: fixed caps leak
Original commit message from CVS:
2004-03-06  Christophe Fergeau  <teuf@gnome.org>

* ext/mad/gstmad.c: (gst_mad_chain): fixed caps leak
2004-03-06 18:22:51 +00:00
Christophe Fergeau
05a4a12c53 ext/mad/gstmad.c: send the average bitrate read from the xing header
Original commit message from CVS:
2004-03-06  Christophe Fergeau  <teuf@gnome.org>

* ext/mad/gstmad.c: (gst_mad_chain): send the average bitrate read
from the xing header
2004-03-06 16:02:21 +00:00
Christophe Fergeau
1391986f6e For some reason, I only committed a ChangeLog entry yesterday and not the corresponding code...
Original commit message from CVS:
2004-03-06  Christophe Fergeau  <teuf@gnome.org>

For some reason, I only committed a ChangeLog entry yesterday and
not the corresponding code...
* ext/mad/gstmad.c: Fix detection of Xing headers
* gst/tags/gstid3tag.c: Changes to support TLEN tags
2004-03-06 12:04:32 +00:00
Christophe Fergeau
9daabec27d ext/mad/: parse Xing header in vbr files, and report the parsed length as a GST_TAG_DURATION tag.
Original commit message from CVS:
2004-03-06  Christophe Fergeau  <teuf@gnome.org>

* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list):
* ext/mad/gstmad.c: (gst_mad_init), (is_xhead),
(mpg123_parse_xing_header), (gst_mad_chain): parse Xing header in vbr
files, and report the parsed length as a GST_TAG_DURATION tag.
* gst/tags/gstid3tag.c: support TLEN (duration) tag
2004-03-05 23:32:36 +00:00
Andy Wingo
9840e4882e gst/intfloat/, gst/oneton: Removed, replaced by audioconvert and interleave respectively.
Original commit message from CVS:
2004-02-20  Andy Wingo  <wingo@pobox.com>

* gst/intfloat/, gst/oneton: Removed, replaced by audioconvert and
interleave respectively.

* gst/interleave/deinterleave.c: New plugin: deinterleave
(replaces on oneton).
* gst/interleave/interleave.c: New plugin: interleave.
* gst/interleave/plugin.h: Support file.
* gst/interleave/plugin.c: Support file.

* configure.ac: Remove intfloat and oneton, add interleave.

* ext/sndfile/gstsf.c: Handle events better.

* gst/audioconvert/gstaudioconvert.c: Change to support int2float
and float2int operation. int2float has scheduling problems as
noted in in2float_chain.
2004-02-20 14:17:57 +00:00
Thomas Vander Stichele
2ce3a35e15 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:32 +00:00
Thomas Vander Stichele
611d7f4dd0 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:44 +00:00
Thomas Vander Stichele
7a033494ea 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
David Schleef
763b096ef2 Convert elements to use gst_pad_use_explicit_caps() where appropriate.
Original commit message from CVS:
Convert elements to use gst_pad_use_explicit_caps() where appropriate.
2004-01-02 07:09:23 +00:00
David Schleef
ceb2719593 Negotiation fixes.
Original commit message from CVS:
Negotiation fixes.
2003-12-31 08:02:04 +00:00
David Schleef
200089a2ba Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:08 +00:00
Ronald S. Bultje
b26c0ce2c5 Fix crasher (#129287)
Original commit message from CVS:
Fix crasher (#129287)
2003-12-15 08:52:16 +00:00
Benjamin Otte
33da588e1b rework id3tag plugin to work as a) parser - just strip id3 tags b) tag reader - extract tags and go EOS c) tag writer...
Original commit message from CVS:
rework id3tag plugin to work as
a) parser - just strip id3 tags
b) tag reader - extract tags and go EOS
c) tag writer - change id3 tags
Included is some revamping to ease code to make it possible to strip id3tag from its mad dependency (without ID3v2 support), which would still make the parsing bits work. This is however not done yet.
This plugin supercedes the id3types plugin.
2003-12-09 16:33:52 +00:00
Andy Wingo
dbf9d697eb remove copyright field from plugins
Original commit message from CVS:
remove copyright field from plugins
2003-12-04 10:37:35 +00:00
Benjamin Otte
c5ca1b712d tagging stuff and build fixes. In detail:
Original commit message from CVS:
tagging stuff and build fixes. In detail:
- make gdk-pixbuf loader work when distchecking
- fix invalid syntax in ffmpeg Makefile. wildcards for EXTRA_DIST are not allowed. This broke builds where distdir != srcdir
- fix ffmpeg cvs grabbing when srcdir != distdir
- new id3tag plugin for id3 tag reading/writing (uses mad's libid3tag)
- mad and libid3tag require mad/libid3tag v0.15. Fixed configure to require that
- added ogg demuxer in ext/ogg. The demuxer does not handle events yet. Especially getting seeking right will require some effort or code copying from libvorbis.
- added raw vorbis detection to typefinding. oggdemux requires a typefind function to detect its contents.
- tags plugin in gst/tags. Provides API in <gst/tags/gsttagediting.h>. API includes tag matching GStreamer <=> ID3 and GStreamer <=> vorbis and writing/reading vorbiscomments or ID3v1 tags. Also included is a simple vorbiscomment reader/writer. Writing will not really work though until someone writes oggmux.
- various build fixes. Mostly missing (DIST)CLEANFILES.
- vorbisenc handles tag writing.

Now it's YOUR turn to fix and write more plugins that handle writing/reading of tags. :)
2003-11-24 04:08:47 +00:00
Leif Johnson
b71ed5aa7d + checking in plugin category changes
Original commit message from CVS:
+ checking in plugin category changes
2003-11-16 22:02:04 +00:00
Benjamin Otte
abfdbffca2 first bunch of conversions to new plugin_init. Includes libs/gst, gst/id3, sys/oss, ext/gnomevfs, gst/typefind and ex...
Original commit message from CVS:
first bunch of conversions to new plugin_init. Includes libs/gst, gst/id3, sys/oss, ext/gnomevfs, gst/typefind and ext/mad.
You guessed it, everything Rhythmbox needs ;)
fixed BMP typefind and made gnomevfs one plugin instead of two while doing this
2003-10-31 20:03:29 +00:00
Benjamin Otte
97bf62c74f merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
2003-10-28 20:52:41 +00:00
Andy Wingo
6300f2611c /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:10 +00:00
Ronald S. Bultje
0ea59b7a7b New typefind system: bytestream is now part of the core all plugins have been modified to use this new typefind syste...
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
2003-10-01 13:14:51 +00:00
Thomas Vander Stichele
e78672327e 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
4535cf586b 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:38 +00:00
Ronald S. Bultje
6e8f57d253 gcc-2.9x fixes
Original commit message from CVS:
gcc-2.9x fixes
2003-08-02 00:56:11 +00:00
Joshua N. Pritikin
6dc7c1b621 Provide valuable diagnostics for seek events control by the GST_SEEK debug category.
Original commit message from CVS:
Provide valuable diagnostics for seek events control by the GST_SEEK
debug category.
2003-07-25 02:04:01 +00:00
David Schleef
dc18488304 Applied patch from vishnu to remove can_seek.
Original commit message from CVS:
Applied patch from vishnu to remove can_seek.
2003-07-17 08:32:06 +00:00
Ronald S. Bultje
ed2362149a 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:50 +00:00
Benjamin Otte
b4786e830b 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:09 +00:00