Wim Taymans [Thu, 18 Aug 2005 17:39:17 +0000 (17:39 +0000)]
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.
Wim Taymans [Thu, 18 Aug 2005 16:53:14 +0000 (16:53 +0000)]
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.
Wim Taymans [Thu, 18 Aug 2005 10:33:15 +0000 (10:33 +0000)]
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.
Wim Taymans [Wed, 17 Aug 2005 19:05:50 +0000 (19:05 +0000)]
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
Christian Schaller [Wed, 17 Aug 2005 11:30:19 +0000 (11:30 +0000)]
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
Wim Taymans [Wed, 17 Aug 2005 10:30:55 +0000 (10:30 +0000)]
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.
Ronald S. Bultje [Tue, 16 Aug 2005 16:30:23 +0000 (16:30 +0000)]
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.
Wim Taymans [Tue, 16 Aug 2005 16:12:14 +0000 (16:12 +0000)]
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
Andy Wingo [Tue, 16 Aug 2005 14:04:39 +0000 (14:04 +0000)]
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.
Thomas Vander Stichele [Tue, 16 Aug 2005 13:37:47 +0000 (13:37 +0000)]
remove seeking example, they're in gst-plugins-base
Original commit message from CVS:
remove seeking example, they're in gst-plugins-base
Ronald S. Bultje [Tue, 16 Aug 2005 09:54:10 +0000 (09:54 +0000)]
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.
Ronald S. Bultje [Mon, 15 Aug 2005 15:58:49 +0000 (15:58 +0000)]
Fix debug.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Fix debug.
Ronald S. Bultje [Mon, 15 Aug 2005 13:44:50 +0000 (13:44 +0000)]
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.
Wim Taymans [Mon, 15 Aug 2005 13:29:41 +0000 (13:29 +0000)]
gst/rtsp/README: Added rtsp server implementation docs.
Original commit message from CVS:
* gst/rtsp/README:
Added rtsp server implementation docs.
Thomas Vander Stichele [Sun, 14 Aug 2005 16:21:01 +0000 (16:21 +0000)]
pound some sense in the colorspace elements
Original commit message from CVS:
pound some sense in the colorspace elements
Thomas Vander Stichele [Sun, 14 Aug 2005 16:14:11 +0000 (16:14 +0000)]
standard elements
Original commit message from CVS:
standard elements
Thomas Vander Stichele [Sun, 14 Aug 2005 16:10:55 +0000 (16:10 +0000)]
licensing, name and description changes
Original commit message from CVS:
licensing, name and description changes
Tim-Philipp Müller [Sat, 13 Aug 2005 11:58:03 +0000 (11:58 +0000)]
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
Thomas Vander Stichele [Sat, 13 Aug 2005 11:43:57 +0000 (11:43 +0000)]
removed from HEAD
Original commit message from CVS:
removed from HEAD
Tim-Philipp Müller [Fri, 12 Aug 2005 19:33:31 +0000 (19:33 +0000)]
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.
Tim-Philipp Müller [Thu, 11 Aug 2005 15:02:37 +0000 (15:02 +0000)]
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.
Tim-Philipp Müller [Wed, 10 Aug 2005 12:12:31 +0000 (12:12 +0000)]
gst/wavparse/gstwavparse.c: Add some fixes from 0.8 branch: allow 24/32bps songs and blockalign samples to the header...
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers),
(gst_wavparse_stream_data):
Add some fixes from 0.8 branch: allow 24/32bps songs and
blockalign samples to the header-specified size, if any
(#311070); error out on channels==0 or bitrate==0
(#309043, #304588).
Thomas Vander Stichele [Wed, 10 Aug 2005 10:54:02 +0000 (10:54 +0000)]
port fixes from 0.8 to level
Original commit message from CVS:
port fixes from 0.8 to level
Ronald S. Bultje [Wed, 10 Aug 2005 09:33:58 +0000 (09:33 +0000)]
ext/faad/gstfaad.c: Add debug category, remove Close() call that made it crash whenever reusing, renegotiating or any...
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_class_init), (gst_faad_setcaps):
Add debug category, remove Close() call that made it crash
whenever reusing, renegotiating or anything; Close() actually
free()s the handle and should only be called on READY->NULL.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Actually set caps on buffer (in addition to pad), also.
Owen Fraser-Green [Wed, 10 Aug 2005 08:33:18 +0000 (08:33 +0000)]
Implemented push-pull and seeking in rmdemux
Original commit message from CVS:
Implemented push-pull and seeking in rmdemux
Ronald S. Bultje [Tue, 9 Aug 2005 14:43:48 +0000 (14:43 +0000)]
ext/faad/gstfaad.c: Sign/unsign mismatch.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event):
Sign/unsign mismatch.
* configure.ac:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(gst_qtdemux_init), (gst_qtdemux_get_src_query_types),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event),
(plugin_init), (gst_qtdemux_handle_sink_event),
(gst_qtdemux_change_state), (gst_qtdemux_loop_header),
(qtdemux_sink_activate), (qtdemux_sink_activate_pull),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
* gst/qtdemux/qtdemux.h:
Half-assed port (hey, it works).
Tim-Philipp Müller [Tue, 9 Aug 2005 14:40:02 +0000 (14:40 +0000)]
gst/avi/gstavidemux.c: Fix AVI header parsing: add missing break statement after
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
Fix AVI header parsing: add missing break statement after
GST_RIFF_INFO_LIST parsing code; gst_riff_read_chunk() has
already advanced the avi->offset, no need to do it twice
(fixes MovieOfMovies.avi).
Tim-Philipp Müller [Tue, 9 Aug 2005 14:16:33 +0000 (14:16 +0000)]
ext/jpeg/gstjpegdec.*: Make mjpeg actually work and skip jpeg data parsing if we know that the input is packetized (i...
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init),
(gst_jpeg_dec_setcaps), (gst_jpeg_dec_chain),
(gst_jpeg_dec_change_state):
* ext/jpeg/gstjpegdec.h:
Make mjpeg actually work and skip jpeg data parsing if we
know that the input is packetized (ie. each input buffer
is exactly one jpeg frame).
Ronald S. Bultje [Tue, 9 Aug 2005 13:02:53 +0000 (13:02 +0000)]
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.
Ronald S. Bultje [Tue, 9 Aug 2005 12:33:21 +0000 (12:33 +0000)]
gst/avi/gstavidemux.c: Fix seeking (or, well, fix threading issue where a variable was set before a lock was taken an...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_handle_seek):
Fix seeking (or, well, fix threading issue where a variable was
set before a lock was taken and was already unset before that
same lock was taken and was thus no longer in existance when it
actually had to be used).
Ronald S. Bultje [Tue, 9 Aug 2005 12:22:12 +0000 (12:22 +0000)]
gst/avi/gstavidemux.c: Mixing binary and logical operators is not going to work; fix position-querying in Totem.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Mixing binary and logical operators is not going to work; fix
position-querying in Totem.
Tim-Philipp Müller [Mon, 8 Aug 2005 19:20:01 +0000 (19:20 +0000)]
ext/faad/gstfaad.*: Fix negotiation (#310932) and miscellaneous other stuff. Probably still needs some more work.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_base_init), (gst_faad_class_init),
(gst_faad_init), (gst_faad_setcaps), (gst_faad_srcgetcaps),
(gst_faad_event), (gst_faad_update_caps), (gst_faad_chain),
(gst_faad_change_state):
* ext/faad/gstfaad.h:
Fix negotiation (#310932) and miscellaneous other stuff. Probably
still needs some more work.
Tim-Philipp Müller [Mon, 8 Aug 2005 19:09:19 +0000 (19:09 +0000)]
ext/jpeg/gstjpegdec.c: Add setcaps() function (for mjpeg).
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init),
(gst_jpeg_dec_setcaps), (gst_jpeg_dec_chain):
Add setcaps() function (for mjpeg).
Andy Wingo [Mon, 8 Aug 2005 17:27:28 +0000 (17:27 +0000)]
ext/esd/esdsink.c (gst_esdsink_getcaps): Seems that wierd va_list caps setting function was borked. Fixed esdsink.
Original commit message from CVS:
2005-08-08 Andy Wingo <wingo@pobox.com>
* ext/esd/esdsink.c (gst_esdsink_getcaps): Seems that wierd
va_list caps setting function was borked. Fixed esdsink.
Andy Wingo [Mon, 8 Aug 2005 16:43:47 +0000 (16:43 +0000)]
sys/oss/gstosssink.c (gst_oss_sink_open, gst_oss_sink_close)
Original commit message from CVS:
2005-08-08 Andy Wingo <wingo@pobox.com>
* sys/oss/gstosssink.c (gst_oss_sink_open, gst_oss_sink_close)
(gst_oss_sink_prepare, gst_oss_sink_unprepare): Update for newer
audiosink api.
* ext/raw1394/gstdv1394src.c (gst_dv1394src_get_property)
(gst_dv1394src_set_property): Style. All about the style.
* ext/esd/esdsink.c (gst_esdsink_getcaps): Return specific caps
only if in READY or higher (i.e., if _open() has been called.)
(gst_esdsink_open, gst_esdsink_close, gst_esdsink_prepare)
(gst_esdsink_unprepare): Update for audiosink changes.
(gst_esdsink_change_state): Die!
Christian Schaller [Mon, 8 Aug 2005 16:30:17 +0000 (16:30 +0000)]
update spec file and fix some disting omissions
Original commit message from CVS:
update spec file and fix some disting omissions
Ronald S. Bultje [Mon, 8 Aug 2005 14:51:35 +0000 (14:51 +0000)]
ext/jpeg/Makefile.am: Fix compile.
Original commit message from CVS:
* ext/jpeg/Makefile.am:
Fix compile.
Tim-Philipp Müller [Mon, 8 Aug 2005 12:13:08 +0000 (12:13 +0000)]
Port jpegdec to 0.9; handles 'progressive loading' now, ie. input does no longer need to be one single buffer.
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/jpeg/gstjpeg.c: (plugin_init):
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_get_type),
(gst_jpeg_dec_finalize), (gst_jpeg_dec_base_init),
(gst_jpeg_dec_class_init), (gst_jpeg_dec_fill_input_buffer),
(gst_jpeg_dec_init_source), (gst_jpeg_dec_skip_input_data),
(gst_jpeg_dec_resync_to_restart), (gst_jpeg_dec_term_source),
(gst_jpeg_dec_my_output_message), (gst_jpeg_dec_my_emit_message),
(gst_jpeg_dec_my_error_exit), (gst_jpeg_dec_init),
(is_jpeg_start_marker), (is_jpeg_end_marker),
(gst_jpeg_dec_find_jpeg_header), (gst_jpeg_dec_ensure_header),
(gst_jpeg_dec_have_end_marker),
(gst_jpeg_dec_parse_tag_has_entropy_segment),
(gst_jpeg_dec_parse_image_data), (gst_jpeg_dec_chain),
(gst_jpeg_dec_change_state):
* ext/jpeg/gstjpegdec.h:
Port jpegdec to 0.9; handles 'progressive loading' now, ie. input does
no longer need to be one single buffer.
Andy Wingo [Thu, 4 Aug 2005 20:05:51 +0000 (20:05 +0000)]
sys/oss/gstossaudio.c (plugin_init): Second-class citizen.
Original commit message from CVS:
2005-08-04 Andy Wingo <wingo@pobox.com>
* sys/oss/gstossaudio.c (plugin_init): Second-class citizen.
* gst/videobox/gstvideobox.c (gst_video_box_get_size): Update for
API changes.
* configure.ac (DEFAULT_AUDIOSINK, DEFAULT_VIDEOSINK): Set to
autoaudiosink and autovideosink.
Edward Hervey [Thu, 4 Aug 2005 18:31:12 +0000 (18:31 +0000)]
gst/avi/gstavidemux.c: You need to allocatate (len+1) characters to store a len size string.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_parse_stream), (gst_avi_demux_process_next_entry):
You need to allocatate (len+1) characters to store a len size string.
Also don't stop the processing task if the output pad is not linked.
Ronald S. Bultje [Wed, 3 Aug 2005 17:18:31 +0000 (17:18 +0000)]
Use new ghostpad API; now they actually work in Totem, also.
Original commit message from CVS:
* ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_reset),
(gst_gconf_audio_sink_init), (do_toggle_element),
(cb_toggle_element), (gst_gconf_audio_sink_change_state):
* ext/gconf/gstgconfaudiosink.h:
* ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_reset),
(gst_gconf_video_sink_init), (do_toggle_element),
(cb_toggle_element), (gst_gconf_video_sink_change_state):
* ext/gconf/gstgconfvideosink.h:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_reset),
(gst_auto_audio_sink_init), (gst_auto_audio_sink_detect),
(gst_auto_audio_sink_change_state):
* gst/autodetect/gstautoaudiosink.h:
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_reset),
(gst_auto_video_sink_init), (gst_auto_video_sink_detect),
(gst_auto_video_sink_change_state):
* gst/autodetect/gstautovideosink.h:
Use new ghostpad API; now they actually work in Totem, also.
Ronald S. Bultje [Wed, 3 Aug 2005 14:49:06 +0000 (14:49 +0000)]
ext/libpng/Makefile.am: Fix uninstalled build.
Original commit message from CVS:
* ext/libpng/Makefile.am:
Fix uninstalled build.
Stefan Kost [Tue, 2 Aug 2005 12:15:25 +0000 (12:15 +0000)]
delete obsolete example
Original commit message from CVS:
delete obsolete example
Stefan Kost [Tue, 2 Aug 2005 11:53:31 +0000 (11:53 +0000)]
removed obsolete include
Original commit message from CVS:
removed obsolete include
Edward Hervey [Tue, 2 Aug 2005 11:42:33 +0000 (11:42 +0000)]
Ported pngenc , still have to port pngdec...
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/libpng/Makefile.am:
* ext/libpng/gstpng.c:
* ext/libpng/gstpngenc.c:
Ported pngenc , still have to port pngdec...
Stefan Kost [Mon, 1 Aug 2005 16:22:31 +0000 (16:22 +0000)]
deactivate and remove dparams (libgstcontrol)
Original commit message from CVS:
deactivate and remove dparams (libgstcontrol)
Wim Taymans [Wed, 27 Jul 2005 20:29:14 +0000 (20:29 +0000)]
ext/faad/gstfaad.c: Compile fixes.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event):
Compile fixes.
Wim Taymans [Wed, 27 Jul 2005 18:37:25 +0000 (18:37 +0000)]
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.
Christian Schaller [Mon, 25 Jul 2005 15:23:43 +0000 (15:23 +0000)]
update spec and add missing header file
Original commit message from CVS:
update spec and add missing header file
Thomas Vander Stichele [Mon, 25 Jul 2005 14:06:15 +0000 (14:06 +0000)]
forward port from 0.9 and enable videoflip now that it works
Original commit message from CVS:
forward port from 0.9 and enable videoflip now that it works
Thomas Vander Stichele [Mon, 25 Jul 2005 13:59:16 +0000 (13:59 +0000)]
clean up flags
Original commit message from CVS:
clean up flags
Thomas Vander Stichele [Sun, 24 Jul 2005 20:15:02 +0000 (20:15 +0000)]
Dear God. One videoflip element being installed is quite enough, thank you. Three hours of puzzling wasted.
Original commit message from CVS:
Dear God. One videoflip element being installed is
quite enough, thank you. Three hours of puzzling
wasted.
Edward Hervey [Sat, 23 Jul 2005 17:03:41 +0000 (17:03 +0000)]
Ported silence to 0.9 using GstBaseSrc ... 180 lines :)
Original commit message from CVS:
* configure.ac:
* gst/silence/Makefile.am:
* gst/silence/gstsilence.h:
* gst/silence/gstsilence.c:
Ported silence to 0.9 using GstBaseSrc ... 180 lines :)
Ronald S. Bultje [Fri, 22 Jul 2005 08:53:19 +0000 (08:53 +0000)]
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.
Edgard Lima [Thu, 21 Jul 2005 14:13:50 +0000 (14:13 +0000)]
configure.ac ext/Makefile.am ext/amrnb/amrnbdec.c ext/amrnb/amrnbenc.c ext/amrnb/amrnbparse.c ext/faad/gstfaad.c ext/...
Original commit message from CVS:
2005-07-19 Edgard N. A. G. Lima <edgard.lima@indt.org.br>
* configure.ac
* ext/Makefile.am
* ext/amrnb/amrnbdec.c
* ext/amrnb/amrnbenc.c
* ext/amrnb/amrnbparse.c
* ext/faad/gstfaad.c
* ext/mpeg2dec/gstmpeg2dec.c
Ported amrnb, faad, mpeg2dec to 0.9
Andy Wingo [Wed, 20 Jul 2005 17:13:18 +0000 (17:13 +0000)]
ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event): Signedness fix.
Original commit message from CVS:
2005-07-20 Andy Wingo <wingo@pobox.com>
* ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event): Signedness
fix.
Edward Hervey [Wed, 20 Jul 2005 11:26:05 +0000 (11:26 +0000)]
Ported wavparse to 0.9 . Playing, seeking and state changes work.
Original commit message from CVS:
* configure.ac:
* gst/wavparse/gstwavparse.c:
* gst/wavparse/gstwavparse.h:
* gst/wavparse/Makefile.am:
Ported wavparse to 0.9 . Playing, seeking and state changes work.
Could need more loving on the headers though.
Ronald S. Bultje [Wed, 20 Jul 2005 10:07:10 +0000 (10:07 +0000)]
Port auto/gconfsinks to 0.9. They actually appear to work here in
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gconf/gconf.c: (gst_bin_find_unconnected_pad),
(gst_gconf_render_bin_from_description),
(gst_gconf_get_default_video_sink):
* ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init),
(gst_gconf_audio_sink_class_init), (gst_gconf_audio_sink_dispose),
(cb_toggle_element), (gst_gconf_audio_sink_change_state):
* ext/gconf/gstgconfelements.h:
* ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init),
(gst_gconf_video_sink_class_init), (gst_gconf_video_sink_dispose),
(cb_toggle_element), (gst_gconf_video_sink_change_state):
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_base_init), (gst_auto_audio_sink_class_init),
(gst_auto_audio_sink_detect), (gst_auto_audio_sink_change_state):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_base_init), (gst_auto_video_sink_class_init),
(gst_auto_video_sink_find_best), (gst_auto_video_sink_detect):
Port auto/gconfsinks to 0.9. They actually appear to work here in
Totem as well, making them actually useful.
Thomas Vander Stichele [Wed, 20 Jul 2005 09:58:52 +0000 (09:58 +0000)]
add gconf.{ch} from gst-libs
Original commit message from CVS:
add gconf.{ch} from gst-libs
Thomas Vander Stichele [Wed, 20 Jul 2005 09:55:36 +0000 (09:55 +0000)]
put in gconf sinks
Original commit message from CVS:
put in gconf sinks
Thomas Vander Stichele [Wed, 20 Jul 2005 09:40:32 +0000 (09:40 +0000)]
merging autodetect from 0.8 branch
Original commit message from CVS:
merging autodetect from 0.8 branch
Ronald S. Bultje [Wed, 20 Jul 2005 08:34:18 +0000 (08:34 +0000)]
ext/faad/Makefile.am: Fix uninstalled build.
Original commit message from CVS:
* ext/faad/Makefile.am:
Fix uninstalled build.
Edgard Lima [Tue, 19 Jul 2005 20:51:15 +0000 (20:51 +0000)]
Ported to 0.9 (faad, amrnb, mpeg2dec)
Original commit message from CVS:
Ported to 0.9 (faad, amrnb, mpeg2dec)
Wim Taymans [Tue, 19 Jul 2005 19:03:26 +0000 (19:03 +0000)]
sys/oss/gstosssink.c: Parse spec to set correct oss values.
Original commit message from CVS:
* sys/oss/gstosssink.c: (gst_oss_sink_get_format),
(gst_oss_sink_open):
Parse spec to set correct oss values.
Andy Wingo [Tue, 19 Jul 2005 16:08:18 +0000 (16:08 +0000)]
ext/dv/gstdvdec.c (gst_dvdec_decode_video): Set the proper framerate on the outbound buffer.
Original commit message from CVS:
2005-07-19 Andy Wingo <wingo@pobox.com>
* ext/dv/gstdvdec.c (gst_dvdec_decode_video): Set the proper
framerate on the outbound buffer.
Andy Wingo [Tue, 19 Jul 2005 15:29:08 +0000 (15:29 +0000)]
ext/dv/gstdvdec.c (gst_dvdec_decode_video): Don't clobber alloc_buffer's return value.
Original commit message from CVS:
2005-07-19 Andy Wingo <wingo@pobox.com>
* ext/dv/gstdvdec.c (gst_dvdec_decode_video): Don't clobber
alloc_buffer's return value.
(gst_dvdec_decode_frame): Handle unlinked pads with grace and
agility.
Andy Wingo [Tue, 19 Jul 2005 13:14:07 +0000 (13:14 +0000)]
ext/dv/gstdvdec.h: Fix signedness error.
Original commit message from CVS:
2005-07-19 Andy Wingo <wingo@pobox.com>
* ext/dv/gstdvdec.h: Fix signedness error.
Wim Taymans [Tue, 19 Jul 2005 11:56:11 +0000 (11:56 +0000)]
ext/dv/gstdvdec.*: Implemented seeking in dvdec.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_src_convert),
(gst_dvdec_sink_convert), (gst_dvdec_get_src_query_types),
(gst_dvdec_src_query), (gst_dvdec_get_sink_query_types),
(gst_dvdec_sink_query), (gst_dvdec_send_event),
(gst_dvdec_handle_sink_event), (gst_dvdec_handle_src_event),
(gst_dvdec_decode_audio), (gst_dvdec_decode_video),
(gst_dvdec_decode_frame), (gst_dvdec_flush), (gst_dvdec_chain):
* ext/dv/gstdvdec.h:
Implemented seeking in dvdec.
Andy Wingo [Tue, 19 Jul 2005 11:14:39 +0000 (11:14 +0000)]
ext/Makefile.am: Enable dvdev and raw1394src.
Original commit message from CVS:
2005-07-19 Andy Wingo <wingo@pobox.com>
* ext/Makefile.am: Enable dvdev and raw1394src.
Andy Wingo [Mon, 18 Jul 2005 15:47:11 +0000 (15:47 +0000)]
configure.ac: Use AS_LIBTOOL_TAGS. Fix crap gettext commit comment.
Original commit message from CVS:
2005-07-18 Andy Wingo <wingo@pobox.com>
* configure.ac: Use AS_LIBTOOL_TAGS. Fix crap gettext commit
comment.
Andy Wingo [Mon, 18 Jul 2005 15:44:48 +0000 (15:44 +0000)]
configure.ac (DEFAULT_AUDIOSINK, DEFAULT_AUDIOSRC): Use alsa by default. Also because it's the only thing that really...
Original commit message from CVS:
2005-07-18 Andy Wingo <wingo@pobox.com>
* configure.ac (DEFAULT_AUDIOSINK, DEFAULT_AUDIOSRC): Use alsa by
default. Also because it's the only thing that really works. (This
is used in the GConf elements).
Use AS_LIBTOOL_TAGS. Fix crap commit re: gettext.
Wim Taymans [Mon, 18 Jul 2005 15:40:36 +0000 (15:40 +0000)]
gst/rtsp/gstrtspsrc.c: Fix for core changes.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_add_element),
(gst_rtspsrc_play):
Fix for core changes.
Jan Schmidt [Mon, 18 Jul 2005 13:58:21 +0000 (13:58 +0000)]
Pass on the discont event when returning to NORMAL mode after reading tags.
Original commit message from CVS:
Pass on the discont event when returning to NORMAL mode after reading tags.
Wim Taymans [Mon, 18 Jul 2005 10:33:19 +0000 (10:33 +0000)]
gst/realmedia/rmdemux.c: Send discont event before pushing first buffer.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_sink_event),
(gst_rmdemux_change_state), (gst_rmdemux_chain),
(gst_rmdemux_get_stream_by_id), (gst_rmdemux_send_event),
(gst_rmdemux_add_stream):
Send discont event before pushing first buffer.
Philippe Kalaf [Mon, 18 Jul 2005 09:59:38 +0000 (09:59 +0000)]
gst/fdsrc/gstfdsrc.c: Removed #include <gst_private.h>
Original commit message from CVS:
2005-07-17 Philippe Khalaf <burger@speedy.org>
* gst/fdsrc/gstfdsrc.c:
Removed #include <gst_private.h>
Philippe Kalaf [Sat, 16 Jul 2005 19:27:54 +0000 (19:27 +0000)]
gst/fdsrc/: Moved fdsrc 0.9 port from gstreamer/gst/elements to here.
Original commit message from CVS:
2005-07-16 Philippe Khalaf <burger@speedy.org>
* gst/fdsrc/gstfdsrc.c:
* gst/fdsrc/gstfdsrc.h:
* gst/fdsrc/Makefile.am:
Moved fdsrc 0.9 port from gstreamer/gst/elements to here.
Wim Taymans [Sat, 16 Jul 2005 16:43:53 +0000 (16:43 +0000)]
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.
Wim Taymans [Fri, 15 Jul 2005 10:42:30 +0000 (10:42 +0000)]
gst/: Port to new base class.
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_transform):
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_get_size), (gst_video_box_transform):
Port to new base class.
Wim Taymans [Thu, 14 Jul 2005 18:24:31 +0000 (18:24 +0000)]
ext/raw1394/gstdv1394src.c: It's PUSH_SRC now.
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_get_type),
(gst_dv1394src_class_init), (gst_dv1394src_init),
(gst_dv1394src_iso_receive), (gst_dv1394src_create),
(gst_dv1394src_change_state), (gst_dv1394src_query):
It's PUSH_SRC now.
Thomas Vander Stichele [Thu, 14 Jul 2005 09:35:10 +0000 (09:35 +0000)]
more autistic cleanliness in functions/names/defines
Original commit message from CVS:
more autistic cleanliness in functions/names/defines
Christian Schaller [Wed, 13 Jul 2005 11:31:26 +0000 (11:31 +0000)]
add dv to disted directories
Original commit message from CVS:
add dv to disted directories
Philippe Kalaf [Tue, 12 Jul 2005 08:24:58 +0000 (08:24 +0000)]
- ext/dv/Makefile.am
Original commit message from CVS:
- ext/dv/Makefile.am
Replaced GST_BASE_LDFLAGS by GST_PLUGINS_BASE_LIBS
Thomas Vander Stichele [Sun, 10 Jul 2005 12:52:20 +0000 (12:52 +0000)]
more macro splitting; fix po problem
Original commit message from CVS:
more macro splitting; fix po problem
Andy Wingo [Fri, 8 Jul 2005 13:19:16 +0000 (13:19 +0000)]
add missing filez
Original commit message from CVS:
add missing filez
Andy Wingo [Fri, 8 Jul 2005 11:19:19 +0000 (11:19 +0000)]
sys/oss/: Port from THREADED+wim's fixes.
Original commit message from CVS:
2005-07-08 Andy Wingo <wingo@pobox.com>
* sys/oss/: Port from THREADED+wim's fixes.
Andy Wingo [Fri, 8 Jul 2005 10:47:30 +0000 (10:47 +0000)]
gst/avi/Makefile.am (libgstavi_la_CFLAGS): No gettext hacks, the defines come from config.h.
Original commit message from CVS:
2005-07-08 Andy Wingo <wingo@pobox.com>
* gst/avi/Makefile.am (libgstavi_la_CFLAGS): No gettext hacks, the
defines come from config.h.
* autogen.sh: Run autopoint, etc.
* Makefile.am (DIST_SUBDIRS, SUBDIRS): Go into po/.
* configure.ac: Add gettext stuff.
Wim Taymans [Thu, 7 Jul 2005 18:38:54 +0000 (18:38 +0000)]
gst/videobox/gstvideobox.c: Logic was reversed. Needs some more fixes in the transform function to include AYUV output.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_init),
(gst_video_box_transform_caps), (gst_video_box_set_caps):
Logic was reversed. Needs some more fixes in the transform
function to include AYUV output.
Moved AYUV as prefered format.
Wim Taymans [Thu, 7 Jul 2005 17:03:47 +0000 (17:03 +0000)]
Ported DVdec to 0.9.
Original commit message from CVS:
* configure.ac:
* ext/dv/Makefile.am:
* ext/dv/gstdvdec.c: (gst_dvdec_class_init), (gst_dvdec_init),
(gst_dvdec_get_src_query_types), (gst_dvdec_src_query),
(gst_dvdec_handle_sink_event), (gst_dvdec_handle_src_event),
(gst_dvdec_video_getcaps), (gst_dvdec_video_setcaps),
(gst_dvdec_decode_audio), (gst_dvdec_decode_video),
(gst_dvdec_decode_frame), (gst_dvdec_chain),
(gst_dvdec_change_state), (gst_dvdec_set_property),
(gst_dvdec_get_property), (plugin_init):
* ext/dv/gstdvdec.h:
* ext/esd/esdsink.c: (gst_esdsink_class_init):
Ported DVdec to 0.9.
Parent of esdsink is GstAudioSink.
Thomas Vander Stichele [Thu, 7 Jul 2005 16:50:20 +0000 (16:50 +0000)]
remove docs
Original commit message from CVS:
remove docs
Wim Taymans [Thu, 7 Jul 2005 08:34:11 +0000 (08:34 +0000)]
Ported the 1394 source to 0.9.
Original commit message from CVS:
* configure.ac:
* ext/raw1394/Makefile.am:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_get_type),
(gst_dv1394src_class_init), (gst_dv1394src_init),
(gst_dv1394src_iso_receive), (gst_dv1394src_create),
(gst_dv1394src_change_state), (gst_dv1394src_convert),
(gst_dv1394src_get_query_types), (gst_dv1394src_query):
* ext/raw1394/gstdv1394src.h:
Ported the 1394 source to 0.9.
Wim Taymans [Thu, 7 Jul 2005 08:21:41 +0000 (08:21 +0000)]
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.
Edward Hervey [Wed, 6 Jul 2005 09:23:15 +0000 (09:23 +0000)]
gst/udp/gstudpsrc.c: GST_BASESRC --> GST_BASE_SRC
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_init):
GST_BASESRC --> GST_BASE_SRC
Christian Schaller [Tue, 5 Jul 2005 15:26:55 +0000 (15:26 +0000)]
fix disting and spec file
Original commit message from CVS:
fix disting and spec file
Andy Wingo [Tue, 5 Jul 2005 14:20:07 +0000 (14:20 +0000)]
gst/oneton: Removed (replaced by deinterleave).
Original commit message from CVS:
2005-07-05 Andy Wingo <wingo@pobox.com>
* gst/oneton: Removed (replaced by deinterleave).
Andy Wingo [Tue, 5 Jul 2005 14:14:30 +0000 (14:14 +0000)]
gst/: Removed dirs that are now in gst-plugins-base.
Original commit message from CVS:
2005-07-05 Andy Wingo <wingo@pobox.com>
* gst/adder:
* gst/audioconvert:
* gst/audiorate:
* gst/audioscale:
* gst/ffmpegcolorspace:
* gst/playback:
* gst/sine:
* gst/subparse:
* gst/tags:
* gst/tcp:
* gst/videoscale:
* gst/volume: Removed dirs that are now in gst-plugins-base.
Edward Hervey [Tue, 5 Jul 2005 11:23:17 +0000 (11:23 +0000)]
configure.ac: videofilter must be compiled first, since other plugins depend ont it.
Original commit message from CVS:
* configure.ac: (GST_PLUGINS_ALL):
videofilter must be compiled first, since other plugins depend ont it.
Andy Wingo [Tue, 5 Jul 2005 11:12:22 +0000 (11:12 +0000)]
changelog
Original commit message from CVS:
changelog
Andy Wingo [Tue, 5 Jul 2005 10:51:49 +0000 (10:51 +0000)]
Way, way, way too many files: Remove crack comment from the 2000 era.
Original commit message from CVS:
2005-07-05 Andy Wingo <wingo@pobox.com>
* Way, way, way too many files:
Remove crack comment from the 2000 era.
Andy Wingo [Tue, 5 Jul 2005 10:11:24 +0000 (10:11 +0000)]
gst/videobox/gstvideobox.c: Clean up, port to 0.9, use
Original commit message from CVS:
2005-07-05 Andy Wingo <wingo@pobox.com>
* gst/videobox/gstvideobox.c: Clean up, port to 0.9, use
BaseTransform.
* gst/videobox/Makefile.am: Link to base libs, include
plugins-base cflags, dist the README.
* configure.ac (GST_PLUGIN_ALL, AC_CONFIG_FILES): Add videobox to
the build.
Andy Wingo [Mon, 4 Jul 2005 14:02:46 +0000 (14:02 +0000)]
examples/level/: Examples moved out of the source dir. Not updated tho.
Original commit message from CVS:
2005-07-04 Andy Wingo <wingo@pobox.com>
* examples/level/:
* examples/level/Makefile.am:
* examples/level/README:
* examples/level/demo.c:
* examples/level/plot.c: Examples moved out of the source dir. Not
updated tho.
* configure.ac: Add level to the build.
* gst/level/Makefile.am:
* gst/level/gstlevel.h:
* gst/level/gstlevel.c: Cleaned up, ported to 0.9.