Commit graph

4640 commits

Author SHA1 Message Date
Tim-Philipp Müller
7b43847c2c Split libgsttag docs into multiple sections.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/gstid3tag.c:
* gst-libs/gst/tag/gstvorbistag.c:
* gst-libs/gst/tag/tags.c:
Split libgsttag docs into multiple sections.
2006-02-05 18:22:01 +00:00
Tim-Philipp Müller
8db163abcf Add libgsttag to the docs.
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_tag):
* gst-libs/gst/tag/gstvorbistag.c:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c:
Add libgsttag to the docs.
2006-02-05 18:01:33 +00:00
Julien Moutte
71a17077ea ext/pango/gsttextoverlay.c: Fix clockoverlay.
Original commit message from CVS:
2006-02-05  Julien MOUTTE  <julien@moutte.net>

* ext/pango/gsttextoverlay.c: (gst_text_overlay_finalize),
(gst_text_overlay_init), (gst_text_overlay_src_event),
(gst_text_overlay_collected): Fix clockoverlay.
2006-02-05 17:21:23 +00:00
Tim-Philipp Müller
87f3d7db00 docs/libs/compiling.sgml: Fix typo: it's pkg-config, not pkg-gconfig
Original commit message from CVS:
* docs/libs/compiling.sgml:
Fix typo: it's pkg-config, not pkg-gconfig
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/tmpl/gstgconf.sgml:
There is no libgstgconf in 0.10, remove it
from the docs.
2006-02-05 17:15:17 +00:00
Julien Moutte
72c19d4790 docs/libs/tmpl/gstcolorbalance.sgml: Updated.
Original commit message from CVS:
2006-02-05  Julien MOUTTE  <julien@moutte.net>

* docs/libs/tmpl/gstcolorbalance.sgml: Updated.
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_src_event), (gst_text_overlay_collected):
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_class_init), (gst_sub_parse_init),
(gst_sub_parse_src_event), (parse_mdvdsub), (parse_subrip),
(parse_mpsub), (parser_state_init), (handle_buffer),
(gst_sub_parse_chain), (gst_sub_parse_sink_event),
(plugin_init):
* gst/subparse/gstsubparse.h: Introduce seeking code.
2006-02-05 16:03:48 +00:00
Tim-Philipp Müller
00e0574b1f gst-libs/gst/tag/gstvorbistag.c: Add comment about LANGUAGE tag inconsistency (we want
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Add comment about LANGUAGE tag inconsistency (we want
ISO-639-1, but extract three-letter identifiers?)
* po/POTFILES.in:
Add two translatable files.
2006-02-05 15:14:06 +00:00
Tim-Philipp Müller
ce175c9953 gst-libs/gst/tag/: Forward-port some tags stuff from the 0.8 branch. This is mostly the addition of musicbrainz tags ...
Original commit message from CVS:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c:
(gst_tag_register_musicbrainz_tags_internal),
(gst_tag_register_musicbrainz_tags):
Forward-port some tags stuff from the 0.8 branch. This is
mostly the addition of musicbrainz tags and their mapping
to vorbistags, and a vorbistag mapping of the language tag.
2006-02-05 14:59:28 +00:00
Julien Moutte
189cd30822 gst/playback/gstplaybin.c: Fix broken code refactoring.
Original commit message from CVS:
2006-02-05  Julien MOUTTE  <julien@moutte.net>

* gst/playback/gstplaybin.c: (gen_text_element): Fix broken code
refactoring.
2006-02-05 12:06:25 +00:00
David Schleef
4bcfd025f3 Add Dirac typefinding and add dirac format to oggmux.
Original commit message from CVS:
* ext/ogg/gstoggmux.c:
* gst/typefind/gsttypefindfunctions.c:
Add Dirac typefinding and add dirac format to oggmux.
2006-02-05 03:05:41 +00:00
Michael Smith
9495b450f6 Improve error message for liboil missingness.
Original commit message from CVS:
Improve error message for liboil missingness.
2006-02-04 07:49:03 +00:00
Tim-Philipp Müller
7bc79aec0e gst/playback/gstdecodebin.c: Don't put essential function call into g_return_*() macro, otherwise it'll all be replac...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1):
Don't put essential function call into
g_return_*() macro, otherwise it'll all be
replaced by NOOPs when compiling with
G_DISABLE_CHECKS defined.
2006-02-03 19:23:41 +00:00
Edgard Lima
00d7f5c760 Just make it compile with --disable-gst-debug.
Original commit message from CVS:
Just make it compile with --disable-gst-debug.
2006-02-03 17:45:44 +00:00
Wim Taymans
7aeb1d4587 ext/alsa/gstalsasink.*: Add lock to protect alsa calls.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_class_init), (gst_alsasink_init),
(gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasink.h:
Add lock to protect alsa calls.
Implement reset to flush samples ASAP, does not work
with dmix though.
2006-02-03 12:51:47 +00:00
Wim Taymans
260b5295c9 gst-libs/gst/audio/gstbaseaudiosink.c: Ugh.. getting late I guess...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock):
Ugh.. getting late I guess...
2006-02-02 18:18:31 +00:00
Wim Taymans
c78a5d7e1e gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to provide a clock when we are not negotiated since we might not be ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_render):
Don't try to provide a clock when we are not negotiated since
we might not be able to make it run.
2006-02-02 18:13:26 +00:00
Tim-Philipp Müller
12e851ba38 gst/playback/gstdecodebin.c: Unlinking two source pads is ... hard.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1):
Unlinking two source pads is ... hard.
2006-02-02 17:51:48 +00:00
Wim Taymans
416c011f11 gst-libs/gst/audio/TODO: Updated.
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Updated.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event):
On EOS, wait till the last sample is played before posting EOS.
2006-02-02 12:14:35 +00:00
Thomas Vander Stichele
10cf7276d1 comment on my understanding
Original commit message from CVS:
comment on my understanding
2006-02-02 08:53:27 +00:00
Thomas Vander Stichele
a80c8f6887 reformat to fit 80 chars
Original commit message from CVS:
reformat to fit 80 chars
2006-02-02 08:47:42 +00:00
Kai Vehmanen
a6d1e0b5bf gst-libs/gst/rtp/gstbasertpdepayload.c: setting queue_delay to zero. Also avoid thread being started if queue_delay i...
Original commit message from CVS:
2006-02-01  Philippe Kalaf <burger at speedy dot org>

* gst-libs/gst/rtp/gstbasertpdepayload.c:
Patch by Kai Vehmanen : Adds ability to enable newsegment bypass by
setting queue_delay to zero. Also avoid thread being started if
queue_delay is zero.
2006-02-02 00:04:37 +00:00
Tim-Philipp Müller
f85c7f5268 gst/playback/test6.c: Make test work again by connecting fakesinks to each decoded pad, which makes the pipeline wait...
Original commit message from CVS:
* gst/playback/test6.c: (new_decoded_pad_cb), (show_error), (main):
Make test work again by connecting fakesinks to each decoded pad,
which makes the pipeline wait until each fakesink has a buffer
queued before going to PAUSED state. At that point we know the
decodebin pads are negotiated.
2006-02-01 14:51:29 +00:00
Tim-Philipp Müller
51ce1f6179 gst/: Pass unhandled queries to the parent class's query function.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_query),
(gst_cdda_base_src_handle_event):
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_query):
Pass unhandled queries to the parent class's query function.
2006-02-01 11:59:47 +00:00
Tim-Philipp Müller
41e4f03f9b Pass unhandled queries upstream instead of just dropping them (#326447). Also, fix supported query types list for som...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_types),
(gst_ogg_pad_src_query):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_query):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_query):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_src_query),
(gst_vorbisenc_sink_query):
* gst/adder/gstadder.c: (gst_adder_query):
Pass unhandled queries upstream instead of just
dropping them (#326447). Also, fix supported
query types list for some elements.
2006-02-01 11:56:11 +00:00
Tim-Philipp Müller
aefc04ca61 gst/typefind/gsttypefindfunctions.c: Fix typefinding for audio/x-au, audio/x-paris and audio/iLBC-sh. We cannot use t...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (au_type_find),
(paris_type_find), (ilbc_type_find), (plugin_init):
Fix typefinding for audio/x-au, audio/x-paris and
audio/iLBC-sh. We cannot use the START_WITH macros
here, because there can only be one typefind factory
with the same name (caps), so the second one would
replace the first one and the first one would never
be called when doing typefinding (see #161712).
2006-02-01 09:58:15 +00:00
Wim Taymans
5ef4c13fb1 ext/vorbis/vorbisdec.c: Use scale_int when we can, add some more scaling.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_convert),
(vorbis_handle_header_packet), (vorbis_dec_push),
(vorbis_handle_data_packet):
Use scale_int when we can, add some more scaling.
Check packettype before parsing it.
2006-01-31 19:25:10 +00:00
Wim Taymans
6ec9735673 ext/theora/theoradec.c: Call right _scale functions.
Original commit message from CVS:
* ext/theora/theoradec.c: (_theora_granule_time),
(theora_dec_src_convert), (theora_dec_sink_convert):
Call right _scale functions.
Use parameter instead of some other random value.
2006-01-31 17:44:35 +00:00
Wim Taymans
344800fb30 ext/theora/theoradec.c: Use higher precision timestamps calculation.
Original commit message from CVS:
* ext/theora/theoradec.c: (_theora_granule_frame),
(_theora_granule_time), (_inc_granulepos),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_handle_type_packet), (theora_handle_data_packet),
(theora_dec_chain):
Use higher precision timestamps calculation.
Convert some other conversions to _scale.
2006-01-31 17:27:00 +00:00
Stefan Kost
b5398e7a9d gst/: initialize gst_controller before using
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_create_sine_table), (plugin_init):
* gst/volume/gstvolume.c: (plugin_init):
initialize gst_controller before using
2006-01-31 17:19:09 +00:00
Jan Schmidt
0bdf850dbe tests/check/pipelines/: Define constant using G_GINT64_CONSTANT to avoid errors when passing it around - otherwise it...
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisenc.c:
Define constant using G_GINT64_CONSTANT to avoid errors when
passing it around - otherwise it gets truncated to 32 bits.

Fixes failing tests.
2006-01-31 16:26:57 +00:00
Andy Wingo
1b35856376 sys/v4l/gstv4lsrc.c (gst_v4lsrc_set_caps): Don't segfault if the caps being set doesn't have a framerate value. Basic...
Original commit message from CVS:
2006-01-31  Andy Wingo  <wingo@pobox.com>

* sys/v4l/gstv4lsrc.c (gst_v4lsrc_set_caps): Don't segfault if the
caps being set doesn't have a framerate value. Basically a stopgap
measure.

* ext/ogg/gstoggmux.c (GST_BUFFER_END_TIME): New macro. Not
technically correct enough to put into core though.
(gst_ogg_mux_dequeue_page): Use END_TIME instead of TIMESTAMP +
DURATION. Fixes theoraenc ! oggmux.

* sys/v4l/gstv4lsrc.c (gst_v4lsrc_fixate): Fixate to the nearest
fraction, not double.
2006-01-31 15:36:13 +00:00
Christian Schaller
b017cd2588 update with latest files
Original commit message from CVS:
update with latest files
2006-01-31 12:23:35 +00:00
Sébastien Moutte
f5d7728379 win32/vs7: add vs7 project files created by Sergey Scobich
Original commit message from CVS:
* win32/vs7:
add vs7 project files created by Sergey Scobich
2006-01-30 23:42:54 +00:00
Sébastien Moutte
f6d5d81106 win32/vs8: add vs8 project files created by Sergey Scobich
Original commit message from CVS:
* win32/vs8:
add vs8 project files created by Sergey Scobich
2006-01-30 22:18:53 +00:00
Andy Wingo
2817c01fdb ext/ogg/gstoggmux.c (gst_ogg_mux_dequeue_page): Compare timestamp + duration, not just timestamp -- ogg pages should ...
Original commit message from CVS:
2006-01-30  Andy Wingo  <wingo@pobox.com>

* ext/ogg/gstoggmux.c (gst_ogg_mux_dequeue_page): Compare
timestamp + duration, not just timestamp -- ogg pages should be
ordered by stop time. Necessary fix given the change in vorbis
timestamps.
2006-01-30 19:22:22 +00:00
Andy Wingo
f2476d444b ext/theora/theoraenc.c (theora_enc_sink_setcaps)
Original commit message from CVS:
2006-01-30  Andy Wingo  <wingo@pobox.com>

* ext/theora/theoraenc.c (theora_enc_sink_setcaps)
(gst_theora_enc_init): Pull the granule shift out of the encoder.
(granulepos_add): New function, handles the messiness of adjusting
granulepos values.
(theora_buffer_from_packet):
(theora_enc_chain):
(theora_enc_sink_event): Use granulepos_add, not +.

* tests/check/pipelines/theoraenc.c
(check_buffer_granulepos_from_starttime): Just check the frame
count, not the actual granulepos -- we can't dictate to the
encoder when it should be placing keyframes.
2006-01-30 19:21:07 +00:00
Thomas Vander Stichele
3f905bd710 ext/gnomevfs/gstgnomevfssrc.c: SERVICE_NOT_AVAILABLE happens for example when you're trying to play an http:// stream...
Original commit message from CVS:

* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
SERVICE_NOT_AVAILABLE happens for example when you're trying to
play an http:// stream from a server that's not serving
2006-01-30 18:17:19 +00:00
Andy Wingo
055cf96c4d tests/check/pipelines/: Totally remove the UINT64_CONSTANT macro, doesn't appear to be needed or available.
Original commit message from CVS:
2006-01-30  Andy Wingo  <wingo@pobox.com>

* tests/check/pipelines/vorbisenc.c (TIMESTAMP_OFFSET):
* tests/check/pipelines/theoraenc.c (TIMESTAMP_OFFSET): Totally
remove the UINT64_CONSTANT macro, doesn't appear to be needed or
available.
2006-01-30 17:08:11 +00:00
Andy Wingo
35f966cf13 ext/theora/: Same changes as were done to vorbisenc, although theoraenc was timestamping correctly. Added handling of...
Original commit message from CVS:
2006-01-30  Andy Wingo  <wingo@pobox.com>

* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: Same changes as were done to vorbisenc,
although theoraenc was timestamping correctly. Added handling of
streams that start with nonzero timestamps.

* tests/check/Makefile.am:
* tests/check/pipelines/theoraenc.c: New file, basically does same
tests as vorbisenc.

* tests/check/pipelines/vorbisenc.c: I claim these bugs.
2006-01-30 17:01:54 +00:00
Wim Taymans
a169abc679 gst-libs/gst/audio/gstaudiosink.c: Implement pause that does not wait for completion.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (gst_audioringbuffer_release),
(gst_audioringbuffer_pause):
Implement pause that does not wait for completion.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Don't drop buffers when going to PAUSED but perform preroll on
remaining samples now that core base class supports this.

* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_release),
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_stop),
(gst_ring_buffer_commit):
Pause should not signal waiters.
Implement return value of _commit correctly.
2006-01-30 16:19:33 +00:00
Andy Wingo
0ad84fae5d tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.
Original commit message from CVS:
2006-01-30  Andy Wingo  <wingo@pobox.com>

* tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.

* ext/vorbis/vorbisenc.c (gst_vorbisenc_buffer_from_packet): Logic
updated to timestamp from the first sample, not the last.
(gst_vorbisenc_buffer_from_header_packet): New function, takes
special care of granulepos and timestamp for header packets.
(gst_vorbisenc_chain): Reflow, fix some leaks, and handle the case
when the first buffer has a nonzero timestamp.

* ext/vorbis/vorbisenc.h (GstVorbisEnc.granulepos_offset)
(GstVorbisEnc.subgranule_offset): New members. Take care of the
case when the first audio buffer we get has a nonzero timestamp.
(GstVorbisEnc.next_ts): Renamed from prev_ts, because now we
properly timestamp vorbis buffers with the time of the first
sample, not the last.

* ext/vorbis/vorbisenc.c (granulepos_to_clocktime): Renamed from
vorbis_granule_time_copy -- now it takes the granule/subgranule
offset into account.

* tests/check/pipelines/vorbisenc.c: New test for correctness of
timestamps, durations, and granulepos on buffers produced by
vorbisenc.
2006-01-30 15:01:28 +00:00
Eric Jonas
6757e87c91 gst/ffmpegcolorspace/gstffmpegcodecmap.c: Patch from Eric Jonas to support conversions to/from UYVY (Fixes: #324626)
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
Patch from Eric Jonas to support conversions to/from UYVY
(Fixes: #324626)
2006-01-30 14:42:28 +00:00
Julien Moutte
950ab0ef96 gst/playback/: Implement subtitles.
Original commit message from CVS:
2006-01-30  Julien MOUTTE  <julien@moutte.net>

* gst/playback/gstplaybasebin.c: (group_commit),
(queue_overrun),
(setup_subtitle), (setup_source), (set_active_source):
* gst/playback/gstplaybin.c: (gst_play_bin_dispose),
(gen_text_element), (gen_audio_element), (gen_vis_element),
(remove_sinks), (add_sink), (setup_sinks): Implement subtitles.
2006-01-30 08:11:14 +00:00
Sébastien Moutte
dc46970cdf gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
Original commit message from CVS:
* gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
* gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render)
use of gst_guint64_to_gdouble to be compliant with vs6
* gst/playback/gstdecodebin.c: (try_to_link_1)
* gst/videorate/videorate.c: (gst_video_rate_blank_data)
use of G_GINT64_CONSTANT for int64 constants
* win32/common/libgstinterfaces.def:
export some symbols (gst_mixer_get_type,gst_mixer_track_get_type)
* win32/vs6:
update and add new project files
2006-01-29 19:13:39 +00:00
Thomas Vander Stichele
609ab66b1f add a win32-update rule like in core, and copy over enumtypes files
Original commit message from CVS:

* Makefile.am:
* win32/MANIFEST:
* win32/common/interfaces-enumtypes.c:
(gst_color_balance_type_get_type), (gst_mixer_type_get_type),
(gst_mixer_track_flags_get_type),
(gst_tuner_channel_flags_get_type):
* win32/common/interfaces-enumtypes.h:
* win32/common/multichannel-enumtypes.c:
(gst_audio_channel_position_get_type):
* win32/common/multichannel-enumtypes.h:
add a win32-update rule like in core, and copy over enumtypes files
2006-01-29 18:21:12 +00:00
Thomas Vander Stichele
bb87fea2d4 generate win32/common/config.h
Original commit message from CVS:
generate win32/common/config.h
2006-01-29 18:07:51 +00:00
Thomas Vander Stichele
0f3b85227a win32/: add config files just like in core
Original commit message from CVS:

* win32/MANIFEST:
* win32/common/config.h:
* win32/common/config.h.in:
add config files just like in core
2006-01-29 18:05:42 +00:00
Thomas Vander Stichele
786e3c74e9 ext/alsa/: Update all error messages. All of them should either use the default translated message, or actually prov...
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_init), (set_hwparams),
(set_swparams), (gst_alsasink_prepare), (gst_alsasink_unprepare),
(gst_alsasink_close), (gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (set_hwparams),
(set_swparams), (gst_alsasrc_open), (gst_alsasrc_prepare),
(gst_alsasrc_unprepare), (gst_alsasrc_read):
Update all error messages.  All of them should either use
the default translated message, or actually provide a
translatable string.
Make the string for channel count problems meaningful.
2006-01-28 18:22:06 +00:00
Tim-Philipp Müller
27ed152e10 gst-libs/gst/audio/gstringbuffer.c: Make gcc-4.1 happy (part of #327357).
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format):
Make gcc-4.1 happy (part of #327357).
2006-01-28 18:19:18 +00:00
Thomas Vander Stichele
ed8f44a90e sys/v4l/v4l_calls.c: check for and throw RESOURCE_BUSY
Original commit message from CVS:

* sys/v4l/v4l_calls.c: (gst_v4l_open):
check for and throw RESOURCE_BUSY
2006-01-28 16:35:47 +00:00
David Schleef
eed2e762b8 gst/videoscale/vs_scanline.c: Oops, *that's* why I never checked in this change -- it requires liboil features not in...
Original commit message from CVS:
* gst/videoscale/vs_scanline.c: Oops, *that's* why I never
checked in this change -- it requires liboil features not
in 0.3.6.  Revert parts.
2006-01-28 02:13:14 +00:00