Commit graph

3469 commits

Author SHA1 Message Date
Thomas Vander Stichele 0232ff9645 enable more; update for basetransform
Original commit message from CVS:
enable more; update for basetransform
2005-08-24 13:34:05 +00:00
Jan Schmidt 3885c61ec9 gst/level/gstlevel.c: GST_MESSAGE_SRC became a GObject
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_message_new):
GST_MESSAGE_SRC became a GObject
2005-08-24 11:58:59 +00:00
Christian Schaller d5a4a6b887 fix speex entry
Original commit message from CVS:
fix speex entry
2005-08-24 11:42:58 +00:00
Christian Schaller 7d85838ea7 add speex to spec file and remove gstosslement from POTFILES.in
Original commit message from CVS:
add speex to spec file and remove gstosslement from POTFILES.in
2005-08-24 10:04:35 +00:00
Stefan Kost 8097706201 ext/speex/gstspeexenc.h: Fixed include path of adapter
Original commit message from CVS:
* ext/speex/gstspeexenc.h:
Fixed include path of adapter
2005-08-23 19:40:11 +00:00
David Schleef bde8ec9bf7 gst/audioresample/Makefile.am: Leet audioresampling code
Original commit message from CVS:
* gst/audioresample/Makefile.am: Leet audioresampling code
* gst/audioresample/buffer.c:
* gst/audioresample/buffer.h:
* gst/audioresample/debug.c:
* gst/audioresample/debug.h:
* gst/audioresample/functable.c:
* gst/audioresample/functable.h:
* gst/audioresample/gstaudioresample.c:
* gst/audioresample/gstaudioresample.h:
* gst/audioresample/resample.c:
* gst/audioresample/resample.h:
* gst/audioresample/resample_chunk.c:
* gst/audioresample/resample_functable.c:
* gst/audioresample/resample_ref.c:
2005-08-23 19:29:38 +00:00
Wim Taymans 3a9fc48680 ext/speex/: Fix property warning.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (gst_speex_dec_class_init):
* ext/speex/gstspeexenc.c: (gst_speexenc_class_init):
Fix property warning.
2005-08-23 18:24:36 +00:00
Wim Taymans c981471810 gst/rtp/: Small updates, RFC reference to payload encoders.
Original commit message from CVS:
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_init),
(gst_rtpamrdec_sink_setcaps), (gst_rtpamrdec_chain):
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain):
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain):
Small updates, RFC reference to payload encoders.
2005-08-23 16:54:38 +00:00
Ronald S. Bultje 590d6bcc9a Port speexdec. Leads to some unfamiliar warnings on console, but works otherwise.
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/speex/Makefile.am:
* ext/speex/gstspeex.c: (plugin_init):
* ext/speex/gstspeexdec.c: (speex_get_query_types),
(gst_speex_dec_init), (speex_dec_src_query), (speex_dec_src_event),
(speex_dec_event), (speex_dec_chain):
Port speexdec. Leads to some unfamiliar warnings on console,
but works otherwise.
2005-08-23 15:14:01 +00:00
Andy Wingo 256ec1a0cb sys/oss/gstosssrc.c (gst_oss_src_open): Set the device-name property after opening the mixer.
Original commit message from CVS:
2005-08-23  Andy Wingo  <wingo@pobox.com>

* sys/oss/gstosssrc.c (gst_oss_src_open): Set the device-name
property after opening the mixer.
2005-08-23 14:10:04 +00:00
Andy Wingo 7d8f87a3aa sys/oss/gstosssrc.*: Easy to implement a mixer, eh...
Original commit message from CVS:
2005-08-23  Andy Wingo  <wingo@pobox.com>

* sys/oss/gstosssrc.c:
* sys/oss/gstosssrc.h: Easy to implement a mixer, eh...
2005-08-23 13:59:22 +00:00
Andy Wingo f0613ad951 sys/oss/gstossmixerelement.*: Added mixer element like alsamixer.
Original commit message from CVS:
2005-08-23  Andy Wingo  <wingo@pobox.com>

* sys/oss/gstossmixerelement.h:
* sys/oss/gstossmixerelement.c: Added mixer element like
alsamixer.

* sys/oss/Makefile.am:
* sys/oss/gstossaudio.c: Register the ossmixer element.
2005-08-23 13:53:17 +00:00
Andy Wingo 528b50a315 changelog
Original commit message from CVS:
changelog
2005-08-23 13:27:30 +00:00
Andy Wingo f578e8b2fa sys/oss/gstosssrc.*: Totally ported, dude.
Original commit message from CVS:
2005-08-23  Andy Wingo  <wingo@pobox.com>

* sys/oss/gstosssrc.h:
* sys/oss/gstosssrc.c: Totally ported, dude.

* sys/oss/Makefile.am:
* sys/oss/gstossaudio.c: Add osssrc.

* sys/oss/gstosssink.c: We do native byte order.
2005-08-23 09:46:29 +00:00
Owen Fraser-Green 20d34ea8fa Fixed mishandling events and incorrect audio skipping after seek.
Original commit message from CVS:
Fixed mishandling events and incorrect audio skipping after seek.
2005-08-23 07:54:31 +00:00
Jan Schmidt b9a506ccf5 ext/mad/gstid3tag.c: Works a bit better now, but still needs a rewrite to use get_range instead of this seeking nasti...
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_init),
(gst_id3_tag_sink_event), (gst_id3_tag_do_caps_nego),
(gst_id3_tag_chain), (gst_id3_tag_change_state), (plugin_init):
Works a bit better now, but still needs a rewrite to use
get_range instead of this seeking nastiness.
2005-08-22 19:58:57 +00:00
Ronald S. Bultje de4a9596e9 Port flacdec (seeking is still slow'ish).
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/flac/Makefile.am:
* ext/flac/gstflac.c: (plugin_init):
* ext/flac/gstflacdec.c: (flacdec_get_type), (gst_flacdec_init),
(gst_flacdec_update_metadata), (gst_flacdec_seek),
(gst_flacdec_tell), (gst_flacdec_length), (gst_flacdec_read),
(gst_flacdec_write), (gst_flacdec_loop),
(gst_flacdec_get_src_query_types), (gst_flacdec_src_query),
(gst_flacdec_src_event), (gst_flacdec_sink_activate),
(gst_flacdec_sink_activate_pull), (gst_flacdec_change_state):
* ext/flac/gstflacdec.h:
Port flacdec (seeking is still slow'ish).
2005-08-22 11:20:18 +00:00
Owen Fraser-Green e0d978d364 Fixed some seeking issues
Original commit message from CVS:
Fixed some seeking issues
2005-08-22 07:32:59 +00:00
Christian Schaller fb0c4a290f add mpegaudioparse to spec file
Original commit message from CVS:
add mpegaudioparse to spec file
2005-08-19 16:25:07 +00:00
Wim Taymans d18517be84 gst/udp/gstmultiudpsink.c: Remove get_time code that is both wrong and unneeded.
Original commit message from CVS:
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_class_init):
Remove get_time code that is both wrong and unneeded.
2005-08-19 16:22:41 +00:00
Wim Taymans f331fb4423 gst/rtp/gstrtph263penc.*: Added configurable pt and ssrc, to be merged in the caps or a base class...
Original commit message from CVS:
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain),
(gst_rtph263penc_set_property), (gst_rtph263penc_get_property):
* gst/rtp/gstrtph263penc.h:
Added configurable pt and ssrc, to be merged in the caps or
a base class...
2005-08-19 15:01:05 +00:00
Wim Taymans 5366bfbd26 gst/rtp/: Some cleanups in the h263p (de)payloaders.
Original commit message from CVS:
* gst/rtp/gstrtph263pdec.c: (gst_rtph263pdec_init),
(gst_rtph263pdec_chain):
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain):
Some cleanups in the h263p (de)payloaders.
2005-08-19 14:51:20 +00:00
Christian Schaller 2c45299973 add mpegaudioparse to configure.ac
Original commit message from CVS:
add mpegaudioparse to configure.ac
2005-08-19 14:49:11 +00:00
Christian Schaller 279d5efff0 latest makefile and spec file fixes
Original commit message from CVS:
latest makefile and spec file fixes
2005-08-19 14:44:09 +00:00
Wim Taymans 0e91d936b2 ext/amrnb/: Update caps with audio/AMR.
Original commit message from CVS:
* ext/amrnb/amrnbdec.c:
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_setcaps):
* ext/amrnb/amrnbparse.c:
Update caps with audio/AMR.

* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_init),
(gst_rtpamrdec_sink_setcaps), (gst_rtpamrdec_chain),
(gst_rtpamrdec_change_state):
* gst/rtp/gstrtpamrdec.h:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain):
Dont set FT headers twice, it was already in the encoded
bitstream.

* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
* gst/rtsp/rtspconnection.c: (parse_line):
Cleanups

* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property):
* gst/udp/gstudpsrc.h:
Added caps property, we need this soon to type the buffers.
2005-08-19 12:44:32 +00:00
Wim Taymans 2ead961fea gst/rtp/gstrtpamrdec.c: Fix up amr depayloader a bit.
Original commit message from CVS:
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_init),
(gst_rtpamrdec_chain):
Fix up amr depayloader a bit.

* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
Look for options result in Public and Allow header fields..
spec says Allow but some servers return Public...
2005-08-18 20:14:44 +00:00
Wim Taymans 40632a94a6 gst/rtp/gstrtpamrenc.*: Added payload_type and ssrc properties to the payloader.
Original commit message from CVS:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain),
(gst_rtpamrenc_set_property), (gst_rtpamrenc_get_property):
* gst/rtp/gstrtpamrenc.h:
Added payload_type and ssrc properties to the payloader.

* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play):
Options need to be stripped and are in the Public header field.

* gst/rtsp/rtspurl.c: (rtsp_url_parse):
Fix url / parsing...
2005-08-18 19:47:38 +00:00
Wim Taymans bf2a98d517 gst/rtp/: Added very simplistic amr payloader. depayloader does not work yet.
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_get_type),
(gst_rtpamrdec_base_init), (gst_rtpamrdec_class_init),
(gst_rtpamrdec_init), (gst_rtpamrdec_chain),
(gst_rtpamrdec_set_property), (gst_rtpamrdec_get_property),
(gst_rtpamrdec_change_state), (gst_rtpamrdec_plugin_init):
* gst/rtp/gstrtpamrdec.h:
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_get_type),
(gst_rtpamrenc_base_init), (gst_rtpamrenc_class_init),
(gst_rtpamrenc_init), (gst_rtpamrenc_chain),
(gst_rtpamrenc_set_property), (gst_rtpamrenc_get_property),
(gst_rtpamrenc_change_state), (gst_rtpamrenc_plugin_init):
* gst/rtp/gstrtpamrenc.h:
* gst/rtp/gstrtpmpaenc.c: (gst_rtpmpaenc_class_init),
(gst_rtpmpaenc_flush), (gst_rtpmpaenc_chain):
Added very simplistic amr payloader. depayloader does not
work yet.
2005-08-18 17:39:10 +00:00
Wim Taymans 7244d60355 gst/rtsp/: Handle RTSP defaults better.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
(gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspdefs.c: (rtsp_method_as_text), (rtsp_find_method):
* gst/rtsp/rtspdefs.h:
* gst/rtsp/rtsptransport.c: (rtsp_transport_parse):
Handle RTSP defaults better.
Issue OPTIONS request to figure out what we are allowed to do.
Make the methods a bitfield so we can easily collect supported
options.
Fix rtsp_find_method.
Do proper RTSP connection shutdown.
2005-08-18 16:53:12 +00:00
Wim Taymans b9d46a55cd gst/rtp/: Remove old code that is now in gst-libs/gst/rtp/.
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp-common.h:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpL16enc.h:
* gst/rtp/gstrtpdec.c: (gst_rtpdec_get_type),
(gst_rtpdec_class_init), (gst_rtpdec_chain_rtp),
(gst_rtpdec_chain_rtcp), (gst_rtpdec_change_state),
(gst_rtpdec_plugin_init):
* gst/rtp/gstrtph263pdec.c: (gst_rtph263pdec_get_type),
(gst_rtph263pdec_base_init), (gst_rtph263pdec_class_init),
(gst_rtph263pdec_init), (gst_rtph263pdec_chain),
(gst_rtph263pdec_set_property), (gst_rtph263pdec_get_property),
(gst_rtph263pdec_change_state), (gst_rtph263pdec_plugin_init):
* gst/rtp/gstrtph263pdec.h:
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_get_type),
(gst_rtph263penc_base_init), (gst_rtph263penc_class_init),
(gst_rtph263penc_init), (gst_rtph263penc_flush),
(gst_rtph263penc_chain), (gst_rtph263penc_set_property),
(gst_rtph263penc_get_property), (gst_rtph263penc_change_state),
(gst_rtph263penc_plugin_init):
* gst/rtp/gstrtph263penc.h:
* gst/rtp/gstrtpmpadec.c: (gst_rtpmpadec_get_type),
(gst_rtpmpadec_base_init), (gst_rtpmpadec_class_init),
(gst_rtpmpadec_init), (gst_rtpmpadec_chain),
(gst_rtpmpadec_set_property), (gst_rtpmpadec_get_property),
(gst_rtpmpadec_change_state), (gst_rtpmpadec_plugin_init):
* gst/rtp/gstrtpmpadec.h:
* gst/rtp/gstrtpmpaenc.c: (gst_rtpmpaenc_get_type),
(gst_rtpmpaenc_base_init), (gst_rtpmpaenc_class_init),
(gst_rtpmpaenc_init), (gst_rtpmpaenc_flush), (gst_rtpmpaenc_chain),
(gst_rtpmpaenc_set_property), (gst_rtpmpaenc_get_property),
(gst_rtpmpaenc_change_state), (gst_rtpmpaenc_plugin_init):
* gst/rtp/gstrtpmpaenc.h:
* gst/rtp/rtp-packet.c:
* gst/rtp/rtp-packet.h:
Remove old code that is now in gst-libs/gst/rtp/.
Added some payload/depayloaders.

* gst/udp/gstudpsink.c: (gst_udpsink_class_init):
Fix port number range.
2005-08-18 10:33:13 +00:00
Wim Taymans ba5b1e6c8e configure.ac: Added mpegaudioparse
Original commit message from CVS:
* configure.ac:
Added mpegaudioparse

* ext/lame/gstlame.c: (gst_lame_src_getcaps),
(gst_lame_src_setcaps), (gst_lame_sink_setcaps),
(gst_lame_sink_event), (gst_lame_chain):
Some cleanups.
Fix memleak.

* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_class_init), (gst_mp3parse_init),
(gst_mp3parse_chain), (gst_mp3parse_change_state):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Ported mpegaudioparse
2005-08-17 19:05:51 +00:00
Christian Schaller 07dbb08aab removing README from Makefile.am as its gone from CVS
Original commit message from CVS:
removing README from Makefile.am as its gone from CVS
2005-08-17 11:30:19 +00:00
Wim Taymans fc4971c4a5 gst/rtsp/gstrtspsrc.c: Support absolute control urls too.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open), (gst_rtspsrc_play):
Support absolute control urls too.
2005-08-17 10:30:55 +00:00
Ronald S. Bultje 18ab06084c gst/: Uncomment metadata and codec-name handling.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_add_stream), (qtdemux_parse_tree):
Uncomment metadata and codec-name handling.
2005-08-16 16:30:23 +00:00
Wim Taymans 2a4f274b81 Fix compile warning.
Original commit message from CVS:
* configure.ac:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_read_header):
Fix compile warning.

* ext/lame/gstlame.c: (gst_lame_class_init),
(gst_lame_src_getcaps), (gst_lame_src_setcaps),
(gst_lame_sink_setcaps), (gst_lame_init), (gst_lame_sink_event),
(gst_lame_chain), (gst_lame_change_state):
* ext/lame/gstlame.h:
Port lame plugin
2005-08-16 16:12:14 +00:00
Andy Wingo 61406d319d ext/raw1394/gstdv1394src.c (gst_dv1394src_iso_receive): Note license info in the source code -- was only in the commi...
Original commit message from CVS:
2005-08-16  Andy Wingo  <wingo@pobox.com>

* ext/raw1394/gstdv1394src.c (gst_dv1394src_iso_receive): Note
license info in the source code -- was only in the commit log
before.

* ext/dv/gstdvdec.h:
* ext/dv/gstdvdec.c: Only decodes systemstream=FALSE dv video --
old pipelines using dvdec should probably have a dvdemux first.

* ext/dv/gstdvdemux.h:
* ext/dv/gstdvdemux.c: Split out from dvdec, chunks the incoming
systemstream=TRUE data into frames, sets caps data, and spits out
PCM audio in addition to systemstream=FALSE video frames. Operates
in chain mode only for now; should make a getrange version as
well.

* ext/dv/gstdv.c: New file, registers the libgstdv plugin.

* ext/dv/Makefile.am: Library name changed to libgstdv. Split
dvdec into dvdemux and dvdec.
2005-08-16 14:04:38 +00:00
Thomas Vander Stichele b01792e15e remove seeking example, they're in gst-plugins-base
Original commit message from CVS:
remove seeking example, they're in gst-plugins-base
2005-08-16 13:37:47 +00:00
Ronald S. Bultje ea28d448c6 Handle _push() return values.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event), (gst_faad_chain):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Handle _push() return values.
2005-08-16 09:54:10 +00:00
Ronald S. Bultje 638a8faf13 Fix debug.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Fix debug.
2005-08-15 15:58:49 +00:00
Ronald S. Bultje b4b1210a9e gst/qtdemux/qtdemux.c: Forwardport from 0.8 to implement RLE.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_video_caps):
Forwardport from 0.8 to implement RLE.
2005-08-15 13:44:50 +00:00
Wim Taymans 7ee5aa031d gst/rtsp/README: Added rtsp server implementation docs.
Original commit message from CVS:
* gst/rtsp/README:
Added rtsp server implementation docs.
2005-08-15 13:29:40 +00:00
Thomas Vander Stichele 1dbe462756 rename
Original commit message from CVS:
rename
2005-08-14 16:24:49 +00:00
Thomas Vander Stichele 96c88620c1 pound some sense in the colorspace elements
Original commit message from CVS:
pound some sense in the colorspace elements
2005-08-14 16:21:00 +00:00
Thomas Vander Stichele 58e4556c7b licensing, name and description changes
Original commit message from CVS:
licensing, name and description changes
2005-08-14 16:10:55 +00:00
Thomas Vander Stichele d9a21a8385 conform
Original commit message from CVS:
conform
2005-08-13 15:30:32 +00:00
Thomas Vander Stichele 80986a1885 conform
Original commit message from CVS:
conform
2005-08-13 15:06:56 +00:00
Tim-Philipp Müller cd41b8513d Use -lgstfoo-@GST_MAJORMINOR@ instead of -lgstfoo-0.9
Original commit message from CVS:
* ext/mad/Makefile.am:
* gst/avi/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
* gst/wavparse/Makefile.am:
Use -lgstfoo-@GST_MAJORMINOR@ instead of -lgstfoo-0.9
2005-08-13 11:58:02 +00:00
Thomas Vander Stichele ed91ba5316 removed from HEAD
Original commit message from CVS:
removed from HEAD
2005-08-13 11:43:57 +00:00
Tim-Philipp Müller 38ee98f4b3 ext/jpeg/gstjpegdec.c: Fix decoding of pictures with certain uneven or unaligned widths where jpeglib needs more hori...
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_decode_indirect),
(gst_jpeg_dec_decode_direct), (gst_jpeg_dec_chain):
Fix decoding of pictures with certain uneven or unaligned
widths where jpeglib needs more horizontal padding than our
I420 buffers provide, resulting in blocky artifacts at the
left side of the picture (#164176).
Also make use of our shiny new GST_ROUND_N() macros.
2005-08-12 19:33:30 +00:00
Tim-Philipp Müller 8d2f24e71a ext/jpeg/gstjpegdec.*: Fix crashes/invalid memory access for pictures that have a height that is not a multiple of 16...
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init), (gst_jpeg_dec_chain),
(gst_jpeg_dec_change_state):
* ext/jpeg/gstjpegdec.h:
Fix crashes/invalid memory access for pictures that have a height
that is not a multiple of 16 (or rather: v_samp_factor * DCTSIZE).
Also fix the state change function for downwards state changes
(need to chain up to parent before destroying our resources, to
make sure pads get deactivated and our chain function isn't
running and using those very same resources in another thread).
The jpeg line buffer only needs to be v_samp_factor*DCTSIZE lines
per plane, not picture_height lines; allocate that on the stack.
2005-08-11 15:02:37 +00:00