summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_buffer_alloc, ↵Ole André Vadla Ravnås2008-08-211-0/+2
| | | | | | | | | 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.
* sys/directdraw/gstdirectdrawsink.c: Fix buffer ref leak.Ole André Vadla Ravnås2008-08-211-6/+4
| | | | | | | | 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.
* sys/v4l2/gstv4l2src.c: Add S910 and PWC formats with a low priority.Wim Taymans2008-08-212-9/+62
| | | | | | | | | | Original commit message from CVS: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_v4l2fourcc_to_structure), (gst_v4l2_get_caps_info): Add S910 and PWC formats with a low priority. * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_format_get_rank), (gst_v4l2src_probe_caps_for_format): Add more debugging.
* sys/v4l2/gstv4l2src.c: Properly set the maximum latency value, in the same ↵Edward Hervey2008-08-132-15/+5
| | | | | | | | | | | way it is done in v4lsrc. Original commit message from CVS: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_query): Properly set the maximum latency value, in the same way it is done in v4lsrc. * sys/v4l2/v4l2src_calls.c: Simplify fraction equality check, no need to use GValues for this.
* sys/v4l2/gstv4l2src.c: Add warning messages stating exactly why the latency ↵Edward Hervey2008-08-122-3/+11
| | | | | | | | | | | | query failed. Original commit message from CVS: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_query): Add warning messages stating exactly why the latency query failed. * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_capture): In some cases, the negotiated framerate might be the default one which is already set internally. But we still need to mark it down in fps_n and fps_d so that the latency query can happen properly.
* Make sure gettext returns translations in UTF-8 encoding rather than in the ↵Frederic Crozat2008-08-072-0/+2
| | | | | | | | | | | | | | | current locale encoding (#546822). Original commit message from CVS: Patch by: Frederic Crozat <fcrozat@mandriva.org> * ext/esd/gstesd.c: (plugin_init): * ext/flac/gstflac.c: (plugin_init): * ext/shout2/gstshout2.c: (plugin_init): * ext/wavpack/gstwavpack.c: (plugin_init): * sys/oss/gstossaudio.c: (plugin_init): * sys/v4l2/gstv4l2.c: (plugin_init): Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822).
* sys/v4l2/v4l2src_calls.c: When outputting a pad template range for the size, ↵Jan Schmidt2008-08-071-1/+2
| | | | | | | | | include a framerate range too, to avoid ... Original commit message from CVS: * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format): When outputting a pad template range for the size, include a framerate range too, to avoid 'not a real subset of template caps' errors.
* sys/osxvideo/osxvideosink.m: Fix minor build issues on macosx.Edward Hervey2008-07-171-2/+2
| | | | | | | Original commit message from CVS: * sys/osxvideo/osxvideosink.m: Fix minor build issues on macosx. Fixes #543054
* sys/v4l2/gstv4l2src.c: Avoid compiler warning by initialising variable to ↵Benoit Fouet2008-07-171-2/+1
| | | | | | | | | NULL (#543259). Original commit message from CVS: Patch by: Benoit Fouet <benoit.fouet purplelabs com> * sys/v4l2/gstv4l2src.c: (gst_v4l2src_negotiate): Avoid compiler warning by initialising variable to NULL (#543259).
* Don't use declarations after statements and variable length arrays.Sebastian Dröge2008-07-082-4/+3
| | | | | | | | | | | | | Original commit message from CVS: * ext/raw1394/gstdv1394src.c: (gst_dv1394src_uri_set_uri): * ext/speex/gstspeexenc.c: (gst_speex_enc_sink_getcaps): * ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_set_wp_config): * sys/v4l2/gstv4l2src.c: (gst_v4l2src_fixate): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format): * tests/examples/equalizer/demo.c: (message_handler): * tests/examples/spectrum/demo-audiotest.c: (message_handler): * tests/examples/spectrum/demo-osssrc.c: (message_handler): Don't use declarations after statements and variable length arrays.
* sys/v4l2/v4l2src_calls.c: Try progressive video if interlaced fails. Fixes ↵Daniel Drake2008-07-071-9/+42
| | | | | | | | | | | bug #541956 and the usage of v4l2src on OLPC. Original commit message from CVS: Patch by: Daniel Drake <dsd at gentoo dot org> * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_capture), (gst_v4l2src_get_nearest_size): Try progressive video if interlaced fails. Fixes bug #541956 and the usage of v4l2src on OLPC.
* sys/v4l2/v4l2_calls.c: Don't include unused gstv4l2xoverlay.h. Fixes build ↵Tim-Philipp Müller2008-06-261-0/+2
| | | | | | | | | in case where X11 headers are not installed. Original commit message from CVS: * sys/v4l2/v4l2_calls.c:: Don't include unused gstv4l2xoverlay.h. Fixes build in case where X11 headers are not installed.
* sys/sunaudio/gstsunaudiomixerctrl.c: Improvements for the SunAudio mixer by ↵Brian Cameron2008-06-101-4/+31
| | | | | | | | | | | | | handling mute as no gain for tracks that ... Original commit message from CVS: Patch by: Brian Cameron <brian.cameron at sun dot com> * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_get_volume), (gst_sunaudiomixer_ctrl_set_volume): Improvements for the SunAudio mixer by handling mute as no gain for tracks that have a gain property but no mute property. Fixes bug #536067.
* sys/v4l2/gstv4l2src.c: Improve negotiation a bit more by picking the ↵Sjoerd Simons2008-06-091-5/+40
| | | | | | | | | | | smallest possible resolution that is larger than... Original commit message from CVS: Patch by: Sjoerd Simons <sjoerd at luon dot net> * sys/v4l2/gstv4l2src.c: (gst_v4l2src_negotiate): Improve negotiation a bit more by picking the smallest possible resolution that is larger than the resolution specified in the first caps entry of the peer caps. Fixes bug #536994.
* sys/v4l2/: Fix compilation with newer GIT kernels that deprecatedBastien Nocera2008-06-092-0/+29
| | | | | | | | | Original commit message from CVS: Patch by: Bastien Nocera <hadess at hadess dot net> * sys/v4l2/gstv4l2vidorient.c: * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): Fix compilation with newer GIT kernels that deprecated V4L2_CID_HCENTER and V4L2_CID_VCENTER. Fixes bug #536317.
* sys/v4l2/gstv4l2src.c: Provide a custom negotiation function to make sure to ↵Sjoerd Simons2008-06-041-2/+129
| | | | | | | | | | | pick the highest possible framerate and ... Original commit message from CVS: Patch by: Sjoerd Simons <sjoerd at luon dot net> * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init), (gst_v4l2src_fixate), (gst_v4l2src_negotiate): Provide a custom negotiation function to make sure to pick the highest possible framerate and resolution. Fixes bug #536646.
* sys/v4l2/v4l2src_calls.c: Fix potential caps leak.William M. Brack2008-05-261-10/+34
| | | | | | | | | Original commit message from CVS: Patch by: William M. Brack <wbrack at mmm dot com dot hk> * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format): Fix potential caps leak. If we can't get the framerate with an ioctl, try to get it with the current norm. Fixes #520092.
* sys/v4l2/v4l2src_calls.c: If we fail to get the frame intervals, simply ↵William M. Brack2008-05-261-9/+12
| | | | | | | | | | | don't touch the framerates on the template ca... Original commit message from CVS: Patch by: William M. Brack <wbrack at mmm dot com dot hk> * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format_and_size): If we fail to get the frame intervals, simply don't touch the framerates on the template caps instead of discarding the format. See #520092.
* sys/v4l2/gstv4l2src.c: Add NV12, NV21 and bayer support. See #520092.William M. Brack2008-05-261-2/+20
| | | | | | | | Original commit message from CVS: Patch by: William M. Brack <wbrack at mmm dot com dot hk> * sys/v4l2/gstv4l2src.c: (gst_v4l2src_v4l2fourcc_to_structure), (gst_v4l2_get_caps_info): Add NV12, NV21 and bayer support. See #520092.
* sys/v4l2/gstv4l2src.c: Don't include the gstv4l2xoverlay.h header as the ↵Sebastian Dröge2008-05-171-0/+2
| | | | | | | | | | XOverlay support isn't implemented at all ye... Original commit message from CVS: * sys/v4l2/gstv4l2src.c: Don't include the gstv4l2xoverlay.h header as the XOverlay support isn't implemented at all yet and this requires X headers to be installed. Fixes bug #533264.
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_setup_ddraw): Do ↵Haakon Sporsheim2008-05-071-0/+3
| | | | | | | | | | 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.
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame): Added ↵Haakon Sporsheim2008-05-071-1/+5
| | | | | | | | | | | 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.
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame,Haakon Sporsheim2008-05-071-19/+23
| | | | | | | | | | | 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.
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_set_caps): Fixed mid ↵Haakon Sporsheim2008-05-071-0/+6
| | | | | | | | | | | 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.
* sys/directdraw/gstdirectdrawsink.cOle André Vadla Ravnås2008-05-071-5/+13
| | | | | | | | | | | | | | 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.
* sys/directdraw/gstdirectdrawsink.cOle André Vadla Ravnås2008-05-071-0/+1
| | | | | | | | | 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.
* sys/directdraw/gstdirectdrawsink.cOle André Vadla Ravnås2008-05-071-13/+5
| | | | | | | | 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!
* sys/directdraw/gstdirectdrawsink.cOle André Vadla Ravnås2008-05-071-5/+13
| | | | | | | | 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.
* sys/osxvideo/cocoawindow.m: Fix compiler warnings on PPC64. Fixes bug #499318.Thijs Vermeir2008-05-061-3/+3
| | | | | | | Original commit message from CVS: Patch by: Thijs Vermeir <thijsvermeir at gmail dot com> * sys/osxvideo/cocoawindow.m: Fix compiler warnings on PPC64. Fixes bug #499318.
* sys/oss/: More logging when probing (see #518474), some comments in _reset().Tim-Philipp Müller2008-04-083-20/+15
| | | | | | | | Original commit message from CVS: * sys/oss/gstosshelper.c: (gst_oss_helper_rate_check_rate): * sys/oss/gstosssink.c: (gst_oss_sink_reset): * sys/oss/gstosssrc.c: (gst_oss_src_reset): More logging when probing (see #518474), some comments in _reset().
* sys/sunaudio/: Fix up copyrights (#525860).Brian Cameron2008-04-0211-11/+24
| | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: Brian Cameron <brian.cameron at sun dot com> * sys/sunaudio/gstsunaudio.c: * sys/sunaudio/gstsunaudiomixer.c: * sys/sunaudio/gstsunaudiomixer.h: * sys/sunaudio/gstsunaudiomixerctrl.c: * sys/sunaudio/gstsunaudiomixerctrl.h: * sys/sunaudio/gstsunaudiomixertrack.c: * sys/sunaudio/gstsunaudiomixertrack.h: * sys/sunaudio/gstsunaudiosink.c: * sys/sunaudio/gstsunaudiosink.h: * sys/sunaudio/gstsunaudiosrc.c: * sys/sunaudio/gstsunaudiosrc.h: Fix up copyrights (#525860).
* sys/sunaudio/: Fix up the mixer tracks to use a volume range of 0-255, which ↵Brian Cameron2008-03-272-10/+7
| | | | | | | | | | | | | | is what the sun audio API uses. This sim... Original commit message from CVS: Patch by: Brian Cameron <brian.cameron at sun dot com> * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_get_volume), (gst_sunaudiomixer_ctrl_set_volume): * sys/sunaudio/gstsunaudiomixertrack.c: (gst_sunaudiomixer_track_new): Fix up the mixer tracks to use a volume range of 0-255, which is what the sun audio API uses. This simplifies the code and avoids rounding errors. Fixes #524593.
* Add device-fd property to make it possible to apps to call ioctl's.Edgard Lima2008-03-262-0/+14
| | | | | Original commit message from CVS: Add device-fd property to make it possible to apps to call ioctl's.
* sys/v4l2/v4l2src_calls.c: Remove superfluous DEBUG macro.Tim-Philipp Müller2008-03-251-7/+2
| | | | | | Original commit message from CVS: * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_capture): Remove superfluous DEBUG macro.
* sys/v4l2/v4l2src_calls.c: Check whether the device supports setting the ↵William M. Brack2008-03-251-27/+50
| | | | | | | | | | | | framerate before trying to set it and then po... Original commit message from CVS: Based on patch by: William M. Brack <wbrack at mmm com hk> * sys/v4l2/v4l2src_calls.c: (fractions_are_equal), (gst_v4l2src_set_capture): Check whether the device supports setting the framerate before trying to set it and then posting a warning or error if it doesn't work (#516649, #520092). Also compare fractions more correctly.
* sys/osxvideo/osxvideosink.m (gst_osx_video_sink_osxwindow_destroy)Andy Wingo2008-03-182-1/+5
| | | | | | | | | | | | Original commit message from CVS: 2008-03-18 Andy Wingo <wingo@pobox.com> * sys/osxvideo/osxvideosink.m (gst_osx_video_sink_osxwindow_destroy) (gst_osx_video_sink_osxwindow_new): Actually set a lock on the task, whoopdee. (cocoa_event_loop): Pacify the taymans by upping the usleepage to 2 ms.
* sys/osxvideo/osxvideosink.m (gst_osx_video_sink_osxwindow_destroy)Andy Wingo2008-03-182-11/+19
| | | | | | | | | | | Original commit message from CVS: 2008-03-18 Andy Wingo <wingo@pobox.com> * sys/osxvideo/osxvideosink.m (gst_osx_video_sink_osxwindow_destroy) (gst_osx_video_sink_osxwindow_new, cocoa_event_loop): * sys/osxvideo/osxvideosink.h (struct _GstOSXVideoSink): If we need to run an event loop, do so in a task instead of assuming that there will be a GMainLoop. Fixes #523134.
* sys/v4l2/v4l2src_calls.c: Make sure the probed frame sizes are reversed in ↵William M. Brack2008-03-171-4/+9
| | | | | | | | | | | | | | the resulting caps also when using V4L2_FR... Original commit message from CVS: Patch by: William M. Brack <wbrack at mmm com hk> * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format_and_size), (gst_v4l2src_probe_caps_for_format): Make sure the probed frame sizes are reversed in the resulting caps also when using V4L2_FRMSIZE_STEPWISE (so they end up highest resolution first); also remove unused variable. (Partly fixes #520092)
* sys/oss/gstosssrc.*: Cache probed caps, so _get_caps() during recording ↵Mark Nauwelaerts2008-03-112-4/+20
| | | | | | | | | | | | doesn't cause ioctl calls which may disrupt t... Original commit message from CVS: Patch by: Mark Nauwelaerts <manauw skynet be> * sys/oss/gstosssrc.c: (gst_oss_src_init), (gst_oss_src_getcaps), (gst_oss_src_close): * sys/oss/gstosssrc.h: Cache probed caps, so _get_caps() during recording doesn't cause ioctl calls which may disrupt the recording (fixes #521875).
* sys/ximage/gstximagesrc.c: Initialise variables when opening the X display ↵Jan Schmidt2008-02-121-3/+5
| | | | | | | | | | rather than in _start(), as the display ca... Original commit message from CVS: * sys/ximage/gstximagesrc.c: Initialise variables when opening the X display rather than in _start(), as the display can be opened before that. Fixes: #515985
* sys/directdraw/gstdirectdrawsink.c: Properly chain up finalize functions. ↵Sebastian Dröge2008-02-121-1/+8
| | | | | | | | | | 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.
* sys/v4l2/v4l2src_calls.c: Chain up the finalize functions. Fixes bug #515984.Sebastian Dröge2008-02-121-0/+12
| | | | | | | | Original commit message from CVS: * sys/v4l2/v4l2src_calls.c: (gst_v4l2_buffer_finalize), (gst_v4l2_buffer_class_init), (gst_v4l2_buffer_pool_finalize), (gst_v4l2_buffer_pool_class_init): Chain up the finalize functions. Fixes bug #515984.
* sys/ximage/ximageutil.c: Chain up in the finalize function for our custom ↵Sebastian Dröge2008-02-121-0/+8
| | | | | | | | | | | buffer sub-class. Original commit message from CVS: * sys/ximage/ximageutil.c: Chain up in the finalize function for our custom buffer sub-class. Patch by: Sebastian Dröge <slomo@circular-chaos.org> Fixes: #515706
* sys/ximage/gstximagesrc.c: Free allocated Damage memory before closing our ↵Jan Schmidt2008-02-121-0/+19
| | | | | | | | | connection to the Original commit message from CVS: * sys/ximage/gstximagesrc.c: Free allocated Damage memory before closing our connection to the X server. Fixes: #515706
* sys/v4l2/v4l2_calls.c: Treat ENOTTY (driver does not implement ioctl) the ↵Jan Schmidt2008-01-313-41/+53
| | | | | | | | | | | | | | | | | same as Original commit message from CVS: * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): Treat ENOTTY (driver does not implement ioctl) the same as EINVAL since it implies there are no available standards. * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_probe_caps_for_format), (gst_v4l2src_get_nearest_size): Replace gst_v4l2src_get_size_limits with 2 calls to new function gst_v4l2src_get_nearest_size, and get it to use VIDIOC_S_FMT to probe if the driver does not support VIDIOC_TRY_FMT for whatever reason, and if we aren't yet actively capturing. * sys/v4l2/v4l2src_calls.h: Remove replaced function declaration.
* configure.ac: Detect video4linux headers on Solaris too.Brian Cameron2008-01-214-3/+17
| | | | | | | | | | | | | | Original commit message from CVS: * configure.ac: Detect video4linux headers on Solaris too. * sys/v4l2/gstv4l2colorbalance.h: * sys/v4l2/gstv4l2object.h: * sys/v4l2/v4l2_calls.c: * sys/v4l2/v4l2src_calls.c: (gst_v4l2_buffer_finalize), (gst_v4l2_buffer_new): Make v4l2 build on Solaris. Patch by: Brian Cameron <brian.cameron at sun dot com> Fixes: #510505
* Revert previous change caused by a file that got stuck on an old revision.Stefan Kost2008-01-151-34/+41
| | | | | | | | Original commit message from CVS: * docs/plugins/gst-plugins-good-plugins-sections.txt: * sys/osxvideo/osxvideosink.h: Revert previous change caused by a file that got stuck on an old revision.
* Managed to resolve most unused declarations. Filed a bug for one left.Stefan Kost2008-01-152-44/+34
| | | | | | | | | Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-sections.txt: * sys/osxaudio/gstosxaudiosink.h: * sys/osxvideo/osxvideosink.h: Managed to resolve most unused declarations. Filed a bug for one left.
* Generate the image-type values correctly. Leave them out of the caps when ↵Jan Schmidt2008-01-111-0/+3
| | | | | | | | | | | | | | | outputting a "preview image" tag, since it ... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer): * gst/id3demux/id3v2frames.c: (parse_picture_frame): Generate the image-type values correctly. Leave them out of the caps when outputting a "preview image" tag, since it only makes sense to have one of those - the type is irrelevant. * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_open): If we can, mark the mixer multiple open when we use it, in case (for some reason) the process wants to open it again elsewhere.
* sys/directdraw/gstdirectdrawsink.c: FALSE is not a gpointer.Tim-Philipp Müller2008-01-071-2/+2
| | | | | | | Original commit message from CVS: * sys/directdraw/gstdirectdrawsink.c: (gst_directdraw_sink_window_thread): FALSE is not a gpointer.