Commit graph

686 commits

Author SHA1 Message Date
Carl-Anton Ingmarsson
c9464b9860 vdpaumpegdec: print frame_nr in debug print 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
b2aa8ae945 vdpaumpegdec: interlaced fixes 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
757086e3fa vdpaumpegdec: only set base duration once 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
3864e0349b vdpaumpegdec: don't send the EVENT_NEWSEGMENT downstream if we're seeking 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
7316cfa186 vdpaumpegdec: implement seeking 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
016f24f8be vdpaumpegdec: change a GST_DEBUG to GST_WARNING 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
f4c0de5a67 vdpaumpegdec: remove unused broken_gop field 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
e2d8cc99b0 vdpaumpegdec: add new gst_vdp_mpeg_decoder_flush for flushing the decoder 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
f80a727957 vdpaumpegdec: use GSE_DEBUG_FUNCPTR 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
92335b1a12 vdpaumpegdec: don't drop discont buffers 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
adeddd0118 vdpaumpegdec: handle GST_QUERY_POSITION and GST_QUERY_DURATION 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
df3c59a482 vdpaumpegdec: calculate correct duration from data in MPEG_PACKET_EXT_PICTURE_CODING 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
aee1937579 vdpaumpegdec: fix so that the first frame in a raw mpegvideo stream get timestamp 0 2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
27606d4e10 vpdaumpegdec: remove useless GstVdpDecoder baseclass 2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
127765d19c vdpaumpegdec: use GstBitReader to parse bitstream 2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
426a6eaba9 vdpau: change element rank for testing purposes
set mpegvideoparse rank to primary and vdpaumpegdec to primary - 1 to get vdpaumpegdec
correctly plugged into playbin
2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
8e66a17830 vdpau: add debug on GstVdpDevice destroy 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
0ffaf06a9a vdpaumpegdec: small code cleanup 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
c7c60ad029 vdpaumpegdec: remove unnused GstVdpBFrame struct 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
f4fda3f617 vdpaumpegdec: fix small typo in debug print 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
616038423f vdpaumpegdec: fixup timestamping of outgoing buffers 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
42d90ddfa3 vdpaumpegdec: don't add forward_reference if the frame is an I_FRAME 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
e416f5f5e0 vdpaumpegdec: set correct timestamps 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
fda9c56a59 vdpaumpegdec: remove unneeded locking since we know do StateChange correctly 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
02884b0356 s/GST_TYPE_VDPAU/GST_TYPE_VDP/g 2009-06-20 15:21:37 +01:00
Carl-Anton Ingmarsson
824cf29cdc vdpau: s/GST_TYPE_VDPAU/GST_TYPE_VDP/g 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
323b563c24 vdpaumpegdec: fixup state change 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
e417b2eea0 vdpau: init "vdpaudevice" debug catoegory in gst_vdp_get_device 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
de7fb2006e vdpaumpegdec: hold the lock in change_state 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
6b05d01898 vdpaumpegdec: the B_FRAME decoding was completely wrong, fix it
the buffers don't come in output order so fix the decoder to handle this

add new gst_vdp_video_buffer_add_reference method to GstVdpVideoBuffer to be able to keep
buffers alive. Ie. a B_FRAME need to have both the forward reference and the backward
reference alive during it's lifetime.

add mutex to protect for threadsafety issues when we reset the decoder in FLUSH_STOP
2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
b8a7986775 vdpaumpegdec: set full_pel_forward_vector to 0 when pic_type == P_FRAME 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
3a7a2af1fa vdpaumpegdec: drop frames if we haven't got an I_FRAME yet 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
66231a619a vdpau: set vdpauvideoyuv and vdpauyuvvideo to GST_RANK_PRIMARY 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
e737b9a916 vdpaumpegdec: destroy the VdpDecoder and reset the decoder on state change 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
fb70c1e7b5 vdpau: fix error where we forgot to pass a trailing NULL to g_object_new 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
612a46a565 vdpau: close display on finalize 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
f16aa7271e vdpau: small fixes
init create GstVdpDevice on GST_STATE_CHANGE_READY_TO_PAUSED instead of on
GST_STATE_CHANGE_NULL_TO READY

add back incrementing of frame_nr
2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
a94f5fe520 vdpau: use g_once_init_enter instead of g_once 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
2eb479f825 vdpaumpegdec: if available use incoming buffer timestamp as output timestamp 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
2d996a3ff4 vdpaumpegdec: clear the adapter when we reset the decoder 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
8c78a4850f vdpau: fixup renaming
the rename work done in commit 24cf84d06b2f4b2edec3383b198441a07829618b didn't
include typecasts. This commit fixes this.
2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
8bbd794961 vdpaumpegdec: reset decoder on GST_EVENT_FLUSH_STOP 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
4d69d761d2 vdpaumpegdec: reset decoder when we get a discont buffer 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
8b3261f91a vdpaumpegdec: add "MPEG_PACKET_EXT_PICTURE_CODING" debug statement 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
035b5f4efb vdpaumpegdec: handle broken_gop field 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
17102ad0fa vdpaumpegdec: convert all manual parsing to use read_bits instead 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
806d4ced04 vdpaumpegdec: remove unneded gst_buffer_ref and the accompanying gst_buffer_unref 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
fc3c9dba95 vdpaumpegdec: fixup error where we set forward_reference instead of backward_reference 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
e0ddcabd7a vdpaumpegdec: handle multiple B_FRAMEs in a row 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
a168fdc1d3 vdpaumpegdec: more B_FRAME work 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
da191134a1 vdpaumpegdec: inital support at handling B_FRAMES 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
7ca750c422 vdpaumpegdec: fixup GstFlowReturn propagation a bit 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
000db36020 vdpaumpegdec: parse PICTURE_CODING_EXTENSION alternate_scan bit 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
375935d9c4 vdpaumpegdec: fixup quantmatrix extension parsing 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
ee591b9f3d vdpaumpegdec: correct some default values
mpeg1 now give nearly correct output :)
2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
638a35eacc vdpaumpegdecoder: remove unused slice field 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
08690f10f8 vdpau: rename "video/vdpau-video" caps to "video/x-vdpau-video" 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
4ee4429c1a vdpau: remove "silent" property from GstVdpDecoder 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
500861d517 vdpau: don't set element details in GstVdpDecoder 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
4470b61f80 vdpaumpegdecoder: rename to "vdpaumpegdec" 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
71c398566c vdpaumpegdecoder: remove unnecesary want_slice field 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
1af393a72d vdpau: small cosmetical fix 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
48143abdab vdpau: rename all files and objects from Vdpau to Vdp 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
d2efd275a4 vdpau: decode slices when we get the next picture header. MPEG2 now kindof works. 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
1234267cb5 vdpau: small improvement to mpeg decoder 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
91ff1579f3 vdpau: remove unused "silent" properties 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
a7170c6ef7 vdpau: implement GstVdpauVideoBuffer -> I420 conversion 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
86cd9b20f8 vdpau: move definition of the VdpChromaType array and the VdpauFormats to gstdevice.h 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
072f869548 vdpau: small fix
set vdp_info.forward_reference to VDP_INVALID handle when unreffing the old
buffer
2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
f8e0c0bcc1 vdpau: add new GstVdpauYUVVideo element
the GstVdpauYUVVideo element takes raw YUV video and outputs
GstVdpauVideoBuffers
2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
74485f6fa2 vdpau: VideoYUV unref buffer in chain so that we don't leak them MpegDecoder parse sequence headers 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
17a758ec71 vdpau: remove some unneded includes 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
3d4a340cfa vdpau: move plugin definition to a new gstvdpau.c file fix up debug categories 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
85158b07ea vdpau: add new GstVdpauVideoYUV element
GstVdpauDecoder now pushes GstVdpauVideoBuffers instead of doing
VdpSurface -> YUV conversion. To get YUV data you now put in a GstVdpauVideoYUV
element which takes GstVdpauVideoBuffers and outputs YUV data.
2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
5e73b7272b vdpau: small indent fix 2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
f72dc12373 vdpau: remove obosolete FIXME and some debug prints from gstvdpaudevice.c 2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
7b6cfb83c8 vdpau: commit rename of gst-vdpau-device.h to gstvdpaudevice.h 2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
4cc2a90645 vdpau: remove gst-vdpau-device.c 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
85acf023df vdpau: rename gst-vdpau-device.[ch] to gstvdpaudevice.[ch] 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
5563c933ee vdpau: change all references of "gst_vdpaudecoder*" to "gst_vdpau_decoder" 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
6fa5b4ff14 vdpau: make the decoder clean up after itself 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
21d7740236 vdpau: remove extra \ from Makefile.am 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
f74f44c24f vdpau: add gstvdpaudevice for abstracting vdpau initalization 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
a22a18d1e7 vdpau: remove comment 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
a727e6a022 vdpau: MPEG1 decoding know gives recognizable output 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
f70ddb6605 vdpau: create VdpDecoder in set_caps add more functions for parsing mpeg 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
584b000583 vdpau: store vdpau function pointers in a local structure 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
29d0c5bdd8 vdpau: extract mpeg2 profile from codec_data 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
090638ccec vdpau: extract mpeg version 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
367708e2ae vdpau: add version specification to mpegdecoder caps 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
f6ed342f19 vdpau: focus on mpeg instead of h264 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
62757ca5b4 vdpau: rough try at implementing pushinf of YV12 buffers 2009-06-20 15:21:20 +01:00
Carl-Anton Ingmarsson
2363032b34 vdpau: remove obsolete comment 2009-06-20 15:21:20 +01:00
Carl-Anton Ingmarsson
3a48982235 vdpau: init vdpau in GST_STATE_CHANGE_NULL_TO_READY add gst_vdpaudecoder_push_video_surface to vdpaudecoder.h 2009-06-20 15:21:20 +01:00
Carl-Anton Ingmarsson
24dfc72e89 vdpau: add stubs for pushing VdpVideoSurfaces to the src pad 2009-06-20 15:21:20 +01:00
Carl-Anton Ingmarsson
46a7e8221c vdpau: update VdpauH264Decoder element description 2009-06-20 15:21:19 +01:00
Carl-Anton Ingmarsson
c0e4cdeb61 vdpau: changle gstvdpaudecoder.c classification 2009-06-20 15:21:19 +01:00
Carl-Anton Ingmarsson
f2eea7d0ed vdpau: implement downstream caps negotiation 2009-06-20 15:21:19 +01:00
Carl-Anton Ingmarsson
05908cd130 vdpau: small indentation fix 2009-06-20 15:21:19 +01:00
Carl-Anton Ingmarsson
b25f035fe5 vdpau: add basic base class for vdpau decoders 2009-06-20 15:21:19 +01:00
Carl-Anton Ingmarsson
b31ab745a5 add new vdpau directory 2009-06-20 15:21:18 +01:00
Tim-Philipp Müller
6eb167a176 Make build without warnings with debugging disabled 2009-06-19 16:21:28 +01:00
Jan Schmidt
3a05abd2b1 Moved 'directdraw' from -good to -bad 2009-05-16 01:29:21 +01:00
LRN
770c18986d [MOVED FROM GOOD] directdrawsink: Fix type mismatches
Fixes bug #573343.
2009-05-16 01:29:20 +01:00
Stefan Kost
3aafd4f9c3 [MOVED FROM GOOD] Remove version numbers from a few gst-launch examples.
The majority of the examples doe not use -0.10 and this will also help us to maintain the docs.
2009-05-16 01:29:20 +01:00
Stefan Kost
88e98b2298 [MOVED FROM GOOD] Update and add documentation for platform specific plugins (sys).
Link to properties. Correct titles for examples. Fix examples.
2009-05-16 01:29:19 +01:00
Stefan Kost
9d4bfe34db [MOVED FROM GOOD] Don't install static libs for plugins. Fixes #550851 for -good.
Original commit message from CVS:
* ext/aalib/Makefile.am:
* ext/annodex/Makefile.am:
* ext/cairo/Makefile.am:
* ext/dv/Makefile.am:
* ext/esd/Makefile.am:
* ext/flac/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gdk_pixbuf/Makefile.am:
* ext/hal/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/libcaca/Makefile.am:
* ext/libmng/Makefile.am:
* ext/libpng/Makefile.am:
* ext/mikmod/Makefile.am:
* ext/pulse/Makefile.am:
* ext/raw1394/Makefile.am:
* ext/shout2/Makefile.am:
* ext/soup/Makefile.am:
* ext/speex/Makefile.am:
* ext/taglib/Makefile.am:
* ext/wavpack/Makefile.am:
* gst/alpha/Makefile.am:
* gst/apetag/Makefile.am:
* gst/audiofx/Makefile.am:
* gst/auparse/Makefile.am:
* gst/autodetect/Makefile.am:
* gst/avi/Makefile.am:
* gst/cutter/Makefile.am:
* gst/debug/Makefile.am:
* gst/effectv/Makefile.am:
* gst/equalizer/Makefile.am:
* gst/flx/Makefile.am:
* gst/goom/Makefile.am:
* gst/goom2k1/Makefile.am:
* gst/icydemux/Makefile.am:
* gst/id3demux/Makefile.am:
* gst/interleave/Makefile.am:
* gst/law/Makefile.am:
* gst/level/Makefile.am:
* gst/matroska/Makefile.am:
* gst/median/Makefile.am:
* gst/monoscope/Makefile.am:
* gst/multifile/Makefile.am:
* gst/multipart/Makefile.am:
* gst/oldcore/Makefile.am:
* gst/qtdemux/Makefile.am:
* gst/replaygain/Makefile.am:
* gst/rtp/Makefile.am:
* gst/rtsp/Makefile.am:
* gst/smpte/Makefile.am:
* gst/spectrum/Makefile.am:
* gst/udp/Makefile.am:
* gst/videobox/Makefile.am:
* gst/videocrop/Makefile.am:
* gst/videofilter/Makefile.am:
* gst/videomixer/Makefile.am:
* gst/wavenc/Makefile.am:
* gst/wavparse/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/oss/Makefile.am:
* sys/osxaudio/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/sunaudio/Makefile.am:
* sys/v4l2/Makefile.am:
* sys/waveform/Makefile.am:
* sys/ximage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -good.
2009-05-16 01:29:19 +01:00
Ole André Vadla Ravnås
88fb052f4f [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_buffer_alloc, gst_directdraw_sink_bufferpool_clear):
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_buffer_alloc,
gst_directdraw_sink_bufferpool_clear):
Fix two more buffer ref leaks.
2009-05-16 01:29:19 +01:00
Ole André Vadla Ravnås
c99b497b4f [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c: Fix buffer ref leak.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_show_frame):
Fix buffer ref leak.
2009-05-16 01:29:19 +01:00
Haakon Sporsheim
934179d813 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_setup_ddraw): Do IDirectDrawClipper_SetHWnd() if the window I...
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_setup_ddraw):
Do IDirectDrawClipper_SetHWnd() if the window ID has already been
set after creating the clipper.
2009-05-16 01:29:19 +01:00
Haakon Sporsheim
0a7b745585 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame): Added checking of surface lost case after an uns...
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame):
Added checking of surface lost case after an unsuccessful
IDirectDrawSurface7_Lock() call.
If surface is lost, return GST_FLOW_OK.
2009-05-16 01:29:18 +01:00
Haakon Sporsheim
4e309644e8 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame,
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame,
WndProc, gst_directdraw_sink_window_thread):
Improved Windows message loop and fixed window destruction issue.
When the window which DirectDraw is rendering to is destroyed, the
render/show_frame function will return GST_FLOW_ERROR.
Partially fixes #520885.
2009-05-16 01:29:18 +01:00
Haakon Sporsheim
b4633a6930 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_set_caps): Fixed mid stream resolution change bug, the offscr...
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_set_caps):
Fixed mid stream resolution change bug, the offscreen surface is now
released when set_caps is called.
Partially fixes #520885.
2009-05-16 01:29:18 +01:00
Ole André Vadla Ravnås
e2886ac7c9 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Make it so that gst_directdraw_sink_buffer_alloc uses the right
width/height.
Especially when looking through the pool of buffers, make sure that
the width/height of caps is used instead of the already negotiated
dimensions.
For example if a buffer with different caps is requested, i.e.
higher resolution, the caller would get a buffer with the old
dimensions and thus corrupt the heap.
2009-05-16 01:29:18 +01:00
Ole André Vadla Ravnås
44a5658faa [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Clear the flags on recycled buffers from buffer_alloc.
Partially fixes #520885.
The right fix this time.
2009-05-16 01:29:18 +01:00
Ole André Vadla Ravnås
1aa90c3ce1 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Reverting previous commit, it had it all mixed up, was for a different
patch (major automation screw-up). Sorry!
2009-05-16 01:29:18 +01:00
Ole André Vadla Ravnås
edaeddd5d1 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Clear the flags on recycled buffers from buffer_alloc.
Partially fixes #520885.
2009-05-16 01:29:18 +01:00
Sebastian Dröge
e7a9a0ef4b [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c: Properly chain up finalize functions. Fixes bug #515980.
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c:
(gst_ddrawsurface_class_init), (gst_ddrawsurface_finalize),
(gst_directdraw_sink_finalize):
Properly chain up finalize functions. Fixes bug #515980.
2009-05-16 01:29:17 +01:00
Tim-Philipp Müller
c67d722907 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c: FALSE is not a gpointer.
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_window_thread):
FALSE is not a gpointer.
2009-05-16 01:29:17 +01:00
Julien Moutte
1e8cd75ae9 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c: Make sure we create our internal window only when we need it. That will give a ch...
Original commit message from CVS:
2008-01-05  Julien Moutte  <julien@fluendo.com>

* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_set_window_id),
(gst_directdraw_sink_set_caps),
(gst_directdraw_sink_change_state),
(gst_directdraw_sink_buffer_alloc),
(gst_directdraw_sink_draw_borders),
(gst_directdraw_sink_show_frame),
(gst_directdraw_sink_setup_ddraw),
(gst_directdraw_sink_window_thread),
(gst_directdraw_sink_get_ddrawcaps),
(gst_directdraw_sink_surface_create): Make sure we create our
internal window only when we need it. That will give a chance to
the application to get the prepare-xwindow-id bus message. Draw
black borders when keeping aspect ratio. Handle the case where
our
rendering window disappears (closed or errors) like other sinks
do. Various 80 columns fixes, improve state change order. That
element could need some more love.
2009-05-16 01:29:17 +01:00
Thomas Vander Stichele
ca3a85c833 [MOVED FROM GOOD] fix header and comments
Original commit message from CVS:
fix header and comments
2009-05-16 01:29:17 +01:00
Jan Schmidt
958dc32505 [MOVED FROM GOOD] Make sure to dist everything needed for win32 builds.
Original commit message from CVS:
* configure.ac:
* sys/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/waveform/Makefile.am:
Make sure to dist everything needed for win32 builds.
2009-05-16 01:29:17 +01:00
Jan Schmidt
7e0f619ef2 [MOVED FROM GOOD] Rename the keep-aspect-ratio property to force-aspect-ratio to make it consistent with xvimagesink and ximagesink.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.args:
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_class_init):
Rename the keep-aspect-ratio property to force-aspect-ratio to make
it consistent with xvimagesink and ximagesink.
2009-05-16 01:29:17 +01:00
Vincent Torri
4c32422297 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.*: Fix more warnings when compiling with MingW (#439914).
Original commit message from CVS:
Patch by: Vincent Torri  <vtorri at univ-evry fr>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_buffer_alloc),
(gst_directdraw_sink_show_frame),
(gst_directdraw_sink_check_primary_surface),
(gst_directdraw_sink_check_offscreen_surface),
(EnumModesCallback2), (gst_directdraw_sink_get_ddrawcaps),
(gst_directdraw_sink_surface_create):
* sys/directdraw/gstdirectdrawsink.h:
Fix more warnings when compiling with MingW (#439914).
2009-05-16 01:29:16 +01:00
Tim-Philipp Müller
b7476655fb [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.c: Bunch of small fixes: remove static function that doesn't exist; declare another ...
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c: (gst_ddrawsurface_finalize),
(gst_directdraw_sink_buffer_alloc),
(gst_directdraw_sink_get_ddrawcaps),
(gst_directdraw_sink_surface_create):
Bunch of small fixes: remove static function that doesn't exist;
declare another one that does; printf format fix; use right macro
when specifying debug category; remove a bunch of unused variables;
#if 0 out an unused chunk of code (partially fixes #439914).
2009-05-16 01:29:16 +01:00
Tim-Philipp Müller
032eeebb75 [MOVED FROM GOOD] Add DIRECTDRAW_CFLAGS and DIRECTSOUND_CFLAGS to Makefile.am; save and restore the various flags in the directdraw/dir...
Original commit message from CVS:
* configure.ac:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
Add DIRECTDRAW_CFLAGS and DIRECTSOUND_CFLAGS to Makefile.am; save
and restore the various flags in the directdraw/directsound
detection section. Apparently improves cross-compiling for win32
with mingw32 under some circumstances (#437539).
2009-05-16 01:29:16 +01:00
Thomas Vander Stichele
0ebea33d76 [MOVED FROM GOOD] 80 char police
Original commit message from CVS:
80 char police
2009-05-16 01:29:16 +01:00
Sébastien Moutte
bf5c0a89f0 [MOVED FROM GOOD] sys/directdraw/gstdirectdrawsink.*: Handle display mode changes during playback.
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directdraw/gstdirectdrawsink.h:
Handle display mode changes during playback.
2009-05-16 01:29:16 +01:00
Christian Schaller
2949448e31 [MOVED FROM GOOD] update copyright statements
Original commit message from CVS:
update copyright statements
2009-05-16 01:29:16 +01:00
Sébastien Moutte
835917a6fe [MOVED FROM GOOD] sys/directdraw/: Prepare the plugin to move to good:
Original commit message from CVS:
* sys/directdraw/gstdirectdrawplugin.c:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directdraw/gstdirectdrawsink.h:
Prepare the plugin to move to good:
Remove unused/untested code (rendering to an extern surface,
yuv format rendering).Use GST_(DEBUG/*)_OBJECT macros
Rename all functions from gst_directdrawsink to gst_directdraw_sink.
Add gtk doc section
Fix a bug in gst_directdraw_sink_show_frame, memcpy line by line
respecting destination surface stride.
* sys/directsound/gstdirectsoundplugin.c:
* sys/directsound/gstdirectsoundsink.c:
* sys/directsound/gstdirectsoundsink.h:
Prepare the plugin to move to good:
Rename all functions from gst_directsoundsink to gst_directsound_sink.
Add gtk doc section
* win32/common/config.h.in:
* win32/MANIFEST:
Add config.h.in
2009-05-16 01:29:15 +01:00
Sébastien Moutte
4dab9691c3 [MOVED FROM GOOD] Makefile.am: Add win32 MANIFEST
Original commit message from CVS:
* Makefile.am:
Add win32 MANIFEST
* sys/directdraw/gstdirectdrawsink.c:
* sys/directdraw/gstdirectdrawsink.h:
Clear unused code and add comments.
Remove yuv from template caps, it only supports RGB
actually.
Implement XOverlay interface and remove window and fullscreen
properties.
Add debug logs.
Test for blit capabilities to return only the current colorspace if
the hardware can't blit for one colorspace to another.
* sys/directsound/gstdirectsoundsink.c:
Add some debugs.
* win32/MANIFEST:
Add VS7 project files and solution.
* win32/vs6/gst_plugins_bad.dsw:
* win32/vs6/libgstdirectdraw.dsp:
* win32/vs6/libgstdirectsound.dsp:
* win32/vs6/libgstqtdemux.dsp:
Update project files.
2009-05-16 01:29:15 +01:00
Vincent Torri
7a8bf9900c [MOVED FROM GOOD] Add directdrawsink to build and dist it, so it gets built when compiling with MingW on win32 and the required headers...
Original commit message from CVS:
Patch by: Vincent Torri  <vtorri at univ-evry fr>
* configure.ac:
* sys/Makefile.am:
* sys/directdraw/Makefile.am:
Add directdrawsink to build and dist it, so it gets built when
compiling with MingW on win32 and the required headers and libraries
are available (fixes: #392313).
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdrawsink_center_rect), (gst_directdrawsink_show_frame),
(gst_directdrawsink_setup_ddraw),
(gst_directdrawsink_surface_create):
Comment out some unused things and fix some printf format issues in
order to avoid warnings when buildling with MingW (#392313).
2009-05-16 01:29:15 +01:00
Sergey Scobich
c807b70709 [MOVED FROM GOOD] sys/: Wait until the window is created before using it; guard unistd.h includes with HAVE_UNISTD_H. (#366523)
Original commit message from CVS:
Patch by: Sergey Scobich  <sergey dot scobich at gmail com>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdrawsink_window_thread),
(gst_directdrawsink_create_default_window):
* sys/directdraw/gstdirectdrawsink.h:
* sys/directsound/gstdirectsoundsink.c:
Wait until the window is created before using it; guard unistd.h
includes with HAVE_UNISTD_H. (#366523)
* win32/vs8/libgstdirectdraw.vcproj:
* win32/vs8/libgstdirectsound.vcproj:
Update project files.
2009-05-16 01:29:15 +01:00
Sébastien Moutte
622a56c937 [MOVED FROM GOOD] sys/directsound/gstdirectsoundsink.*: Add an attenuation property that will directly attenuate the directsound buffer.
Original commit message from CVS:
* sys/directsound/gstdirectsoundsink.h:
* sys/directsound/gstdirectsoundsink.c:
Add an attenuation property that will directly attenuate the
directsound buffer.
Change the size of the directsound secondary buffer to a half second.
Add more debug logs.
Add a lock to protect dsound buffer write access.
Fix a bad implementation of reset.
* sys/directsound/gstdirectdrawsink.c:
* sys/directsound/gstdirectdrawsink.h:
Add a keep_aspect_ratio property.
Do not use overlay if not supported.
Add more debug logs.
Remove overwrite of WM_ERASEBKGND message handling. It was not
redrawing border when keep_aspect_ratio was enabled.
* win32/common/config.h:
update version waiting an auto-generated config.h
2009-05-16 01:29:15 +01:00
Tim-Philipp Müller
21c22dffd9 [MOVED FROM GOOD] ext/libmms/gstmms.c: Set caps on outgoing buffers.
Original commit message from CVS:
* ext/libmms/gstmms.c: (gst_mms_create):
Set caps on outgoing buffers.
* sys/directdraw/gstdirectdrawsink.c: (gst_directdrawsink_init):
Comment out unused global instance variable.
2009-05-16 01:29:15 +01:00
Stefan Kost
e191ec4eb4 [MOVED FROM GOOD] Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.h:
* ext/amrwb/gstamrwbdec.h:
* ext/amrwb/gstamrwbenc.h:
* ext/amrwb/gstamrwbparse.h:
* ext/arts/gst_arts.h:
* ext/artsd/gstartsdsink.h:
* ext/audiofile/gstafparse.h:
* ext/audiofile/gstafsink.h:
* ext/audiofile/gstafsrc.h:
* ext/audioresample/gstaudioresample.h:
* ext/bz2/gstbz2dec.h:
* ext/bz2/gstbz2enc.h:
* ext/dirac/gstdiracdec.h:
* ext/directfb/dfbvideosink.h:
* ext/divx/gstdivxdec.h:
* ext/divx/gstdivxenc.h:
* ext/dts/gstdtsdec.h:
* ext/faac/gstfaac.h:
* ext/gsm/gstgsmdec.h:
* ext/gsm/gstgsmenc.h:
* ext/ivorbis/vorbisenc.h:
* ext/libfame/gstlibfame.h:
* ext/nas/nassink.h:
* ext/neon/gstneonhttpsrc.h:
* ext/polyp/polypsink.h:
* ext/sdl/sdlaudiosink.h:
* ext/sdl/sdlvideosink.h:
* ext/shout/gstshout.h:
* ext/snapshot/gstsnapshot.h:
* ext/sndfile/gstsf.h:
* ext/swfdec/gstswfdec.h:
* ext/tarkin/gsttarkindec.h:
* ext/tarkin/gsttarkinenc.h:
* ext/theora/theoradec.h:
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackparse.h:
* ext/xine/gstxine.h:
* ext/xvid/gstxviddec.h:
* ext/xvid/gstxvidenc.h:
* gst/cdxaparse/gstcdxaparse.h:
* gst/cdxaparse/gstcdxastrip.h:
* gst/colorspace/gstcolorspace.h:
* gst/festival/gstfestival.h:
* gst/freeze/gstfreeze.h:
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.h:
* gst/modplug/gstmodplug.h:
* gst/mpeg1sys/gstmpeg1systemencode.h:
* gst/mpeg1videoparse/gstmp1videoparse.h:
* gst/mpeg2sub/gstmpeg2subt.h:
* gst/mpegaudioparse/gstmpegaudioparse.h:
* gst/multifilesink/gstmultifilesink.h:
* gst/overlay/gstoverlay.h:
* gst/playondemand/gstplayondemand.h:
* gst/qtdemux/qtdemux.h:
* gst/rtjpeg/gstrtjpegdec.h:
* gst/rtjpeg/gstrtjpegenc.h:
* gst/smooth/gstsmooth.h:
* gst/smoothwave/gstsmoothwave.h:
* gst/spectrum/gstspectrum.h:
* gst/speed/gstspeed.h:
* gst/stereo/gststereo.h:
* gst/switch/gstswitch.h:
* gst/tta/gstttadec.h:
* gst/tta/gstttaparse.h:
* gst/videodrop/gstvideodrop.h:
* gst/xingheader/gstxingmux.h:
* sys/directdraw/gstdirectdrawsink.h:
* sys/directsound/gstdirectsoundsink.h:
* sys/dxr3/dxr3audiosink.h:
* sys/dxr3/dxr3spusink.h:
* sys/dxr3/dxr3videosink.h:
* sys/qcam/gstqcamsrc.h:
* sys/vcd/vcdsrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2009-05-16 01:29:15 +01:00
Stefan Kost
3ab843a4c9 [MOVED FROM GOOD] Define GstElementDetails as const and also static (when defined as global)
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/audioresample/gstaudioresample.c:
* ext/bz2/gstbz2dec.c:
* ext/bz2/gstbz2enc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/swfdec/gstswfdec.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/colorspace/gstcolorspace.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/librfb/gstrfbsrc.c:
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/smoothwave/gstsmoothwave.c:
* gst/spectrum/gstspectrum.c:
* gst/speed/gstspeed.c:
* gst/stereo/gststereo.c:
* gst/switch/gstswitch.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/vbidec/gstvbidec.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
* sys/cdrom/gstcdplayer.c:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directsound/gstdirectsoundsink.c:
* sys/glsink/glimagesink.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l2/gstv4l2src.c:
* sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
* sys/ximagesrc/ximagesrc.c:
Define GstElementDetails as const and also static (when defined as
global)
2009-05-16 01:29:14 +01:00
Thomas Vander Stichele
e291df2299 [MOVED FROM GOOD] rework build; add translations for v4l2
Original commit message from CVS:
rework build; add translations for v4l2
2009-05-16 01:29:14 +01:00
Sébastien Moutte
c7c875e85b [MOVED FROM GOOD] sys/: sinks are now using GST_RANK_PRIMARY to be used with autodectection
Original commit message from CVS:
* sys/directdraw:
* sys/directsound:
sinks are now using GST_RANK_PRIMARY to be used with autodectection
* win32/vs6:
project files updated to fix some bugs
* win32/vs7:
* win32/vs8:
vs7 and vs8 project files added
2009-05-16 01:29:14 +01:00
Sébastien Moutte
4b4b81c3e5 [MOVED FROM GOOD] added sys/directdraw added sys/directsound added win32/vs6/gst_plugins_bad.dsw added win32/vs6/libgstdirectsound.dsp ...
Original commit message from CVS:
2006-01-05  Sebastien Moutte  <sebastien@moutte.net>
* added sys/directdraw
* added sys/directsound
* added win32/vs6/gst_plugins_bad.dsw
* added win32/vs6/libgstdirectsound.dsp
* added win32/vs6/libgstdirectdraw.dsp
* added win32/common/config.h
2009-05-16 01:29:14 +01:00
Zaheer Merali
94cd09363a dvbsrc: fix pes filter pid resetting 2009-05-02 12:23:03 +01:00
Zaheer Merali
fab3340018 dvbsrc: unset pid filters correctly 2009-05-01 14:28:23 +01:00
Andy Wingo
f01ac09dfb patch over logic errors in osxvideosrc
apple's compiler carps, with reason, about some constructs in osxvideosrc.c
fix them.
also it seems that for some reason this required a gst-indent run. whee
2009-04-20 16:34:30 +02:00
Andy Wingo
1bd852073d add osxvideosrc
* configure.ac:
* sys/Makefile.am:
* sys/osxvideo/Makefile.am: Autoconfiscation.

* sys/osxvideo/osxvideoplugin.m:
* sys/osxvideo/osxvideosrc.h:
* sys/osxvideo/osxvideosrc.c: Add osxvideosrc. Should fix #153684.

Patch-by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
Patch-by: Ali Sabil <ali.sabil@tandberg.com>
Patch-by: Barracuda Networks <justin@affinix.com>
2009-04-20 16:18:59 +02:00
Tim-Philipp Müller
2b1fcc75a7 dshowdec: fix compilation with the debugging system disabled
One GST_DEBUG_CATEGORY_INIT should be enough anyway.
Fixes #578562 (spotted by David Hoyt).
2009-04-10 18:00:06 +01:00
Michael Smith
cacadf3f4d acmenc, acmmp3dec, sdp: link to all requires libraries on win32.
Add winsock for windows (for sdp). Link to all the plugins-base
libs we indirectly use for acmmenc and acmmp3dec.
2009-04-08 11:57:02 -07:00
Руслан Ижбулатов
7ff9bdb456 acm: Port to MinGW
Fixes bug #573595.
2009-03-26 11:37:28 +01:00
Jan Schmidt
5664cecbc5 dshowdec: Add par_n and par_d to the object structure to fix compilation 2009-03-20 23:31:19 +00:00
Zaheer Merali
1f42ece99f dvbsrc: make some docs up to date 2009-03-04 18:42:15 +00:00
Michael Smith
c475d9c012 acmenc: fix whitespace
Convert to unix newlines, and reindent in some broken places.
2009-02-28 15:23:07 -08:00