fix man pages for whatis

--- a/xs/GstBin.xs
+++ b/xs/GstBin.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::Bin	PACKAGE = GStreamer::Bin	PREFIX = gst_bin_
 
+=for object GStreamer::Bin Base class and element that can contain other elements
+
+=cut
+
 BOOT:
 	gperl_object_set_no_warn_unreg_subclass (GST_TYPE_BIN, TRUE);
 
--- a/xs/GstBuffer.xs
+++ b/xs/GstBuffer.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::Buffer	PACKAGE = GStreamer::Buffer	PREFIX = gst_buffer_
 
+=for object GStreamer::Buffer Data-passing buffer type, supporting sub-buffers.
+
+=cut
+
 # DESTROY inherited from GStreamer::MiniObject.
 
 GstBufferFlag
--- a/xs/GstBus.xs
+++ b/xs/GstBus.xs
@@ -67,6 +67,10 @@
 
 MODULE = GStreamer::Bus	PACKAGE = GStreamer::Bus	PREFIX = gst_bus_
 
+=for object GStreamer::Bus Asynchronous message bus subsystem
+
+=cut
+
 # GstBus * gst_bus_new (void);
 GstBus * gst_bus_new (class)
     C_ARGS:
--- a/xs/GstCaps.xs
+++ b/xs/GstCaps.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::Caps	PACKAGE = GStreamer::Caps::Empty
 
+=for object GStreamer::Caps::Empty Structure describing sets of media formats
+
+=cut
+
 # GstCaps * gst_caps_new_empty (void);
 GstCaps_own *
 new (class)
@@ -32,6 +36,10 @@
 
 MODULE = GStreamer::Caps	PACKAGE = GStreamer::Caps::Any
 
+=for object GStreamer::Caps::Any Structure describing sets of media formats
+
+=cut
+
 # GstCaps * gst_caps_new_any (void);
 GstCaps_own *
 new (class)
@@ -42,6 +50,10 @@
 
 MODULE = GStreamer::Caps	PACKAGE = GStreamer::Caps::Simple
 
+=for object GStreamer::Caps::Simple Structure describing sets of media formats
+
+=cut
+
 # GstCaps * gst_caps_new_simple (const char *media_type, const char *fieldname, ...);
 GstCaps_own *
 new (class, media_type, field, type, value, ...)
@@ -78,6 +90,10 @@
 
 MODULE = GStreamer::Caps	PACKAGE = GStreamer::Caps::Full
 
+=for object GStreamer::Caps::Full Structure describing sets of media formats
+
+=cut
+
 # GstCaps * gst_caps_new_full (GstStructure  *struct1, ...);
 # GstCaps * gst_caps_new_full_valist (GstStructure  *structure, va_list var_args);
 GstCaps_own *
@@ -99,6 +115,10 @@
 
 MODULE = GStreamer::Caps	PACKAGE = GStreamer::Caps	PREFIX = gst_caps_
 
+=for object GStreamer::Caps Structure describing sets of media formats
+
+=cut
+
 =for position SYNOPSIS
 
 =head1 SYNOPSIS
--- a/xs/GstChildProxy.xs
+++ b/xs/GstChildProxy.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::ChildProxy	PACKAGE = GStreamer::ChildProxy	PREFIX = gst_child_proxy_
 
+=for object GStreamer::ChildProxy Interface for multi child elements.
+
+=cut
+
 =for position DESCRIPTION
 
 =head1 DESCRIPTION
--- a/xs/GstClock.xs
+++ b/xs/GstClock.xs
@@ -126,6 +126,10 @@
 
 MODULE = GStreamer::Clock	PACKAGE = GStreamer::Clock	PREFIX = gst_clock_
 
+=for object GStreamer::Clock Abstract class for global clocks
+
+=cut
+
 BOOT:
 	gperl_object_set_no_warn_unreg_subclass (GST_TYPE_CLOCK, TRUE);
 
@@ -171,6 +175,10 @@
 
 MODULE = GStreamer::Clock	PACKAGE = GStreamer::ClockID	PREFIX = gst_clock_id_
 
+=for object GStreamer::ClockID Abstract class for global clocks
+
+=cut
+
 void
 DESTROY (id)
 	GstClockID id
--- a/xs/GstElementFactory.xs
+++ b/xs/GstElementFactory.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::ElementFactory	PACKAGE = GStreamer::ElementFactory	PREFIX = gst_element_factory_
 
+=for object GStreamer::ElementFactory Create GstElements from a factory
+
+=cut
+
 # FIXME?
 # gboolean gst_element_register (GstPlugin *plugin, const gchar *name, guint rank, GType type);
 
--- a/xs/GstElement.xs
+++ b/xs/GstElement.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::Element	PACKAGE = GStreamer::Element	PREFIX = gst_element_
 
+=for object GStreamer::Element Abstract base class for all pipeline elements
+
+=cut
+
 # FIXME?
 # void gst_element_class_add_pad_template (GstElementClass *klass, GstPadTemplate *templ);
 # GstPadTemplate* gst_element_class_get_pad_template (GstElementClass *element_class, const gchar *name);
--- a/xs/GstEvent.xs
+++ b/xs/GstEvent.xs
@@ -77,6 +77,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event	PREFIX = gst_event_
 
+=for object GStreamer::Event Structure describing events that are passed up and down a pipeline
+
+=cut
+
 BOOT:
 	gperl_set_isa ("GStreamer::Event::FlushStart", "GStreamer::Event");
 	gperl_set_isa ("GStreamer::Event::FlushStop", "GStreamer::Event");
@@ -180,6 +184,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::Custom
 
+=for object GStreamer::Event::Custom Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_custom (GstEventType type, GstStructure *structure);
 GstEvent_noinc *
 new (class, GstEventType type, GstStructure *structure)
@@ -193,6 +201,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::FlushStart
 
+=for object GStreamer::Event::FlushStart Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_flush_start (void);
 GstEvent_noinc *
 new (class)
@@ -205,6 +217,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::FlushStop
 
+=for object GStreamer::Event::FlushStop Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_flush_stop (void);
 GstEvent_noinc *
 new (class)
@@ -217,6 +233,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::EOS
 
+=for object GStreamer::Event::EOS Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_eos (void);
 GstEvent_noinc *
 new (class)
@@ -229,6 +249,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::NewSegment
 
+=for object GStreamer::Event::NewSegment Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_new_segment (gboolean update, gdouble rate, GstFormat format, gint64 start_value, gint64 stop_value, gint64 stream_time);
 GstEvent_noinc *
 new (class, gboolean update, gdouble rate, GstFormat format, gint64 start_value, gint64 stop_value, gint64 stream_time)
@@ -290,6 +314,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::Tag
 
+=for object GStreamer::Event::Tag Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_tag (GstTagList *taglist);
 GstEvent_noinc *
 new (class, GstTagList *taglist)
@@ -311,6 +339,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::BufferSize
 
+=for object GStreamer::Event::BufferSize Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_buffer_size (GstFormat format, gint64 minsize, gint64 maxsize, gboolean async);
 GstEvent_noinc *
 new (class, GstFormat format, gint64 minsize, gint64 maxsize, gboolean async)
@@ -360,6 +392,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::QOS
 
+=for object GStreamer::Event::QOS Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_qos (gdouble proportion, GstClockTimeDiff diff, GstClockTime timestamp);
 GstEvent_noinc *
 new (class, gdouble proportion, GstClockTimeDiff diff, GstClockTime timestamp)
@@ -403,6 +439,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::Seek
 
+=for object GStreamer::Event::Seek Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_seek (gdouble rate, GstFormat format, GstSeekFlags flags, GstSeekType cur_type, gint64 cur, GstSeekType stop_type, gint64 stop);
 GstEvent_noinc *
 new (class, gdouble rate, GstFormat format, GstSeekFlags flags, GstSeekType cur_type, gint64 cur, GstSeekType stop_type, gint64 stop)
@@ -467,6 +507,10 @@
 
 MODULE = GStreamer::Event	PACKAGE = GStreamer::Event::Navigation
 
+=for object GStreamer::Event::Navigation Structure describing events that are passed up and down a pipeline
+
+=cut
+
 # GstEvent * gst_event_new_navigation (GstStructure *structure);
 GstEvent_noinc *
 new (class, GstStructure *structure)
--- a/xs/GstFormat.xs
+++ b/xs/GstFormat.xs
@@ -56,6 +56,10 @@
 
 MODULE = GStreamer::Format	PACKAGE = GStreamer::Format	PREFIX = gst_format_
 
+=for object GStreamer::Format Dynamically register new data formats
+
+=cut
+
 =for apidoc __function__
 =cut
 # GstFormat gst_format_register (const gchar *nick, const gchar *description);
--- a/xs/GstGhostPad.xs
+++ b/xs/GstGhostPad.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::GhostPad	PACKAGE = GStreamer::GhostPad	PREFIX = gst_ghost_pad_
 
+=for object GStreamer::GhostPad Pseudo link pads
+
+=cut
+
 # GstPad * gst_ghost_pad_new (const gchar *name, GstPad *target);
 GstPad_ornull * gst_ghost_pad_new (class, const gchar_ornull *name, GstPad *target)
     C_ARGS:
--- a/xs/GstIndexFactory.xs
+++ b/xs/GstIndexFactory.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::IndexFactory	PACKAGE = GStreamer::IndexFactory	PREFIX = gst_index_factory_
 
+=for object GStreamer::IndexFactory Create GstIndexes from a factory
+
+=cut
+
 # GstIndexFactory * gst_index_factory_new (const gchar *name, const gchar *longdesc, GType type);
 GstIndexFactory *
 gst_index_factory_new (class, name, longdesc, type)
--- a/xs/GstIndex.xs
+++ b/xs/GstIndex.xs
@@ -128,6 +128,10 @@
 
 MODULE = GStreamer::Index	PACKAGE = GStreamer::Index	PREFIX = gst_index_
 
+=for object GStreamer::Index Generate indexes on objects
+
+=cut
+
 # GstIndex * gst_index_new (void);
 GstIndex *
 gst_index_new (class)
@@ -253,6 +257,10 @@
 
 MODULE = GStreamer::Index	PACKAGE = GStreamer::IndexEntry	PREFIX = gst_index_entry_
 
+=for object GStreamer::IndexEntry Generate indexes on objects
+
+=cut
+
 # gboolean gst_index_entry_assoc_map (GstIndexEntry *entry, GstFormat format, gint64 *value);
 gint64
 gst_index_entry_assoc_map (entry, format)
--- a/xs/GstIterator.xs
+++ b/xs/GstIterator.xs
@@ -99,6 +99,10 @@
 
 MODULE = GStreamer::Iterator	PACKAGE = GStreamer::Iterator	PREFIX = gst_iterator_
 
+=for object GStreamer::Iterator Object to retrieve multiple elements in a threadsafe way.
+
+=cut
+
 =for position SYNOPSIS
 
 =head1 SYNOPSIS
@@ -186,6 +190,10 @@
 
 MODULE = GStreamer::Iterator	PACKAGE = GStreamer::Iterator::Tie
 
+=for object GStreamer::Iterator::Tie Object to retrieve multiple elements in a threadsafe way.
+
+=cut
+
 IV
 FETCHSIZE (GstIterator *iter)
     PREINIT:
--- a/xs/GstMessage.xs
+++ b/xs/GstMessage.xs
@@ -131,6 +131,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message	PREFIX = gst_message_
 
+=for object GStreamer::Message Lightweight objects to signal the application of pipeline events
+
+=cut
+
 BOOT:
 	gperl_set_isa ("GStreamer::Message::EOS", "GStreamer::Message");
 	gperl_set_isa ("GStreamer::Message::Error", "GStreamer::Message");
@@ -273,6 +277,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Custom
 
+=for object GStreamer::Message::Custom Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_custom (GstMessageType type, GstObject * src, GstStructure * structure);
 GstMessage_noinc *
 new (class, GstMessageType type, GstObject * src, GstStructure * structure)
@@ -286,6 +294,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::EOS
 
+=for object GStreamer::Message::EOS Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_eos (GstObject * src);
 GstMessage_noinc *
 new (class, GstObject * src)
@@ -298,6 +310,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Error
 
+=for object GStreamer::Message::Error Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_error (GstObject * src, GError * error, gchar * debug);
 GstMessage_noinc *
 new (class, GstObject * src, SV * error, gchar * debug)
@@ -341,6 +357,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Warning
 
+=for object GStreamer::Message::Warning Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_warning (GstObject * src, GError * error, gchar * debug);
 GstMessage_noinc *
 new (class, GstObject * src, SV * error, gchar * debug)
@@ -384,6 +404,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Tag
 
+=for object GStreamer::Message::Tag Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_tag (GstObject * src, GstTagList * tag_list);
 GstMessage_noinc *
 new (class, GstObject * src, GstTagList * tag_list)
@@ -406,6 +430,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::StateChanged
 
+=for object GStreamer::Message::StateChanged Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_state_changed (GstObject * src, GstState oldstate, GstState newstate, GstState pending);
 GstMessage_noinc *
 new (class, GstObject * src, GstState oldstate, GstState newstate, GstState pending)
@@ -438,6 +466,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::StateDirty
 
+=for object GStreamer::Message::StateDirty Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_state_dirty (GstObject * src);
 GstMessage_noinc *
 new (class, GstObject * src)
@@ -450,6 +482,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::ClockProvide
 
+=for object GStreamer::Message::ClockProvide Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_clock_provide (GstObject * src, GstClock *clock, gboolean ready);
 GstMessage_noinc *
 new (class, GstObject * src, GstClock * clock, gboolean ready)
@@ -488,6 +524,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::ClockLost
 
+=for object GStreamer::Message::ClockLost Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_clock_lost (GstObject * src, GstClock *clock);
 GstMessage_noinc *
 new (class, GstObject * src, GstClock * clock)
@@ -509,6 +549,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::NewClock
 
+=for object GStreamer::Message::NewClock Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_new_clock (GstObject * src, GstClock *clock);
 GstMessage_noinc *
 new (class, GstObject * src, GstClock * clock)
@@ -530,6 +574,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Application
 
+=for object GStreamer::Message::Application Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_application (GstObject * src, GstStructure * structure);
 GstMessage_noinc *
 new (class, GstObject * src, GstStructure * structure)
@@ -543,6 +591,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Element
 
+=for object GStreamer::Message::Element Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_element (GstObject * src, GstStructure * structure);
 GstMessage_noinc *
 new (class, GstObject * src, GstStructure * structure)
@@ -556,6 +608,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::SegmentStart
 
+=for object GStreamer::Message::SegmentStart Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_segment_start (GstObject * src, GstFormat format, gint64 position);
 GstMessage_noinc *
 new (class, GstObject * src, GstFormat format, gint64 position)
@@ -594,6 +650,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::SegmentDone
 
+=for object GStreamer::Message::SegmentDone Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_segment_done (GstObject * src, GstFormat format, gint64 position);
 GstMessage_noinc *
 new (class, GstObject * src, GstFormat format, gint64 position)
@@ -632,6 +692,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Duration
 
+=for object GStreamer::Message::Duration Lightweight objects to signal the application of pipeline events
+
+=cut
+
 # GstMessage * gst_message_new_duration (GstObject * src, GstFormat format, gint64 duration);
 GstMessage_noinc *
 new (class, GstObject * src, GstFormat format, gint64 duration)
@@ -670,6 +734,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::Latency
 
+=for object GStreamer::Message::Latency Lightweight objects to signal the application of pipeline events
+
+=cut
+
 #if GST_CHECK_VERSION (0, 10, 12)
 
 # GstMessage * gst_message_new_latency (GstObject * src);
@@ -686,6 +754,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::AsyncStart
 
+=for object GStreamer::Message::AsyncStart Lightweight objects to signal the application of pipeline events
+
+=cut
+
 #if GST_CHECK_VERSION (0, 10, 13)
 
 # GstMessage * gst_message_new_async_start (GstObject * src, gboolean new_base_time);
@@ -711,6 +783,10 @@
 
 MODULE = GStreamer::Message	PACKAGE = GStreamer::Message::AsyncDone
 
+=for object GStreamer::Message::AsyncDone Lightweight objects to signal the application of pipeline events
+
+=cut
+
 #if GST_CHECK_VERSION (0, 10, 13)
 
 # GstMessage * gst_message_new_async_done (GstObject * src);
--- a/xs/GstMiniObject.xs
+++ b/xs/GstMiniObject.xs
@@ -150,6 +150,10 @@
 
 MODULE = GStreamer::MiniObject	PACKAGE = GStreamer::MiniObject	PREFIX = gst_mini_object_
 
+=for object GStreamer::MiniObject Lightweight base class for the GStreamer object hierarchy
+
+=cut
+
 BOOT:
 	gst2perl_mini_object_initialize ();
 
--- a/xs/GstObject.xs
+++ b/xs/GstObject.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::Object	PACKAGE = GStreamer::Object	PREFIX = gst_object_
 
+=for object GStreamer::Object Base class for the GStreamer object hierarchy
+
+=cut
+
 BOOT:
 	/* Register gst_object_sink() as the sink function to get the
 	   ref-counting right. */
--- a/xs/GstPadTemplate.xs
+++ b/xs/GstPadTemplate.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::PadTemplate	PACKAGE = GStreamer::PadTemplate	PREFIX = gst_pad_template_
 
+=for object GStreamer::PadTemplate Describe the media type of a pad.
+
+=cut
+
 # GstPadTemplate* gst_pad_template_new (const gchar *name_template, GstPadDirection direction, GstPadPresence presence, GstCaps *caps);
 GstPadTemplate *
 gst_pad_template_new (class, name_template, direction, presence, caps)
--- a/xs/GstPad.xs
+++ b/xs/GstPad.xs
@@ -39,6 +39,10 @@
 
 MODULE = GStreamer::Pad	PACKAGE = GStreamer::Pad	PREFIX = gst_pad_
 
+=for object GStreamer::Pad Object contained by elements that allows links to other elements
+
+=cut
+
 BOOT:
 	gperl_object_set_no_warn_unreg_subclass (GST_TYPE_PAD, TRUE);
 
--- a/xs/GstPipeline.xs
+++ b/xs/GstPipeline.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::Pipeline	PACKAGE = GStreamer::Pipeline	PREFIX = gst_pipeline_
 
+=for object GStreamer::Pipeline Top-level bin with clocking and bus management functionality.
+
+=cut
+
 BOOT:
 	gperl_object_set_no_warn_unreg_subclass (GST_TYPE_PIPELINE, TRUE);
 
--- a/xs/GstPluginFeature.xs
+++ b/xs/GstPluginFeature.xs
@@ -53,6 +53,10 @@
 
 MODULE = GStreamer::PluginFeature	PACKAGE = GStreamer::PluginFeature	PREFIX = gst_plugin_feature_
 
+=for object GStreamer::PluginFeature Base class for contents of a GstPlugin
+
+=cut
+
 BOOT:
 	gperl_object_set_no_warn_unreg_subclass (GST_TYPE_PLUGIN_FEATURE, TRUE);
 
--- a/xs/GstPlugin.xs
+++ b/xs/GstPlugin.xs
@@ -61,6 +61,10 @@
 
 MODULE = GStreamer::Plugin	PACKAGE = GStreamer::Plugin	PREFIX = gst_plugin_
 
+=for object GStreamer::Plugin Container for features loaded from a shared object module
+
+=cut
+
 const gchar* gst_plugin_get_name (GstPlugin *plugin);
 
 const gchar* gst_plugin_get_description (GstPlugin *plugin);
--- a/xs/GstQuery.xs
+++ b/xs/GstQuery.xs
@@ -107,6 +107,10 @@
 
 MODULE = GStreamer::Query	PACKAGE = GStreamer::QueryType	PREFIX = gst_query_type_
 
+=for object GStreamer::QueryType Dynamically register new query types. Provide functions to create queries, and to set and parse values in them.
+
+=cut
+
 BOOT:
 	gst2perl_register_mini_object_package_lookup_func (
 		GST_TYPE_QUERY,
@@ -154,6 +158,10 @@
 
 MODULE = GStreamer::Query	PACKAGE = GStreamer::Query	PREFIX = gst_query_
 
+=for object GStreamer::Query Dynamically register new query types. Provide functions to create queries, and to set and parse values in them.
+
+=cut
+
 BOOT:
 	gperl_set_isa ("GStreamer::Query::Position", "GStreamer::Query");
 	gperl_set_isa ("GStreamer::Query::Duration", "GStreamer::Query");
@@ -216,6 +224,10 @@
 
 MODULE = GStreamer::Query	PACKAGE = GStreamer::Query::Position
 
+=for object GStreamer::Query::Position Dynamically register new query types. Provide functions to create queries, and to set and parse values in them.
+
+=cut
+
 # GstQuery* gst_query_new_position (GstFormat format);
 GstQuery_noinc *
 new (class, GstFormat format)
@@ -243,6 +255,10 @@
 
 MODULE = GStreamer::Query	PACKAGE = GStreamer::Query::Duration
 
+=for object GStreamer::Query::Duration Dynamically register new query types. Provide functions to create queries, and to set and parse values in them.
+
+=cut
+
 # GstQuery* gst_query_new_duration (GstFormat format);
 GstQuery_noinc *
 new (class, GstFormat format)
@@ -270,6 +286,10 @@
 
 MODULE = GStreamer::Query	PACKAGE = GStreamer::Query::Convert
 
+=for object GStreamer::Query::Convert Dynamically register new query types. Provide functions to create queries, and to set and parse values in them.
+
+=cut
+
 # GstQuery* gst_query_new_convert (GstFormat src_format, gint64 value, GstFormat dest_format);
 GstQuery_noinc *
 new (class, GstFormat src_format, gint64 value, GstFormat dest_format)
@@ -301,6 +321,10 @@
 
 MODULE = GStreamer::Query	PACKAGE = GStreamer::Query::Segment
 
+=for object GStreamer::Query::Segment Dynamically register new query types. Provide functions to create queries, and to set and parse values in them.
+
+=cut
+
 # GstQuery* gst_query_new_segment (GstFormat format);
 GstQuery_noinc *
 new (class, GstFormat format)
@@ -332,6 +356,10 @@
 
 MODULE = GStreamer::Query	PACKAGE = GStreamer::Query::Application
 
+=for object GStreamer::Query::Application Dynamically register new query types. Provide functions to create queries, and to set and parse values in them.
+
+=cut
+
 # GstQuery * gst_query_new_application (GstQueryType type, GstStructure *structure);
 GstQuery_noinc *
 new (class, GstQueryType type, GstStructure *structure)
--- a/xs/GstRegistry.xs
+++ b/xs/GstRegistry.xs
@@ -40,6 +40,10 @@
 
 MODULE = GStreamer::Registry	PACKAGE = GStreamer::Registry	PREFIX = gst_registry_
 
+=for object GStreamer::Registry Abstract base class for management of GstPlugin objects
+
+=cut
+
 BOOT:
 	gperl_object_set_no_warn_unreg_subclass (GST_TYPE_REGISTRY, TRUE);
 
--- a/xs/GstStructure.xs
+++ b/xs/GstStructure.xs
@@ -145,6 +145,10 @@
 
 MODULE = GStreamer::Structure	PACKAGE = GStreamer::Structure	PREFIX = gst_structure_
 
+=for object GStreamer::Structure Generic structure containing fields of names and values
+
+=cut
+
 =for position SYNOPSIS
 
 =head1 SYNOPSIS
--- a/xs/GstSystemClock.xs
+++ b/xs/GstSystemClock.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::SystemClock	PACKAGE = GStreamer::SystemClock	PREFIX = gst_system_clock_
 
+=for object GStreamer::SystemClock Default clock that uses the current system time
+
+=cut
+
 BOOT:
 	gperl_object_set_no_warn_unreg_subclass (GST_TYPE_SYSTEM_CLOCK, TRUE);
 
--- a/xs/GstTagSetter.xs
+++ b/xs/GstTagSetter.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::TagSetter	PACKAGE = GStreamer::TagSetter	PREFIX = gst_tag_setter_
 
+=for object GStreamer::TagSetter Element interface that allows setting and retrieval of media metadata
+
+=cut
+
 void gst_tag_setter_merge_tags (GstTagSetter *setter, const GstTagList *list, GstTagMergeMode mode);
 
 # void gst_tag_setter_add_tags (GstTagSetter *setter, GstTagMergeMode mode, const gchar *tag, ...);
--- a/xs/GstTag.xs
+++ b/xs/GstTag.xs
@@ -114,6 +114,10 @@
 
 MODULE = GStreamer::Tag	PACKAGE = GStreamer::Tag	PREFIX = gst_tag_
 
+=for object GStreamer::Tag Element interface for media metadata
+
+=cut
+
 BOOT:
 	gst_tag_list_wrapper_class = *gperl_default_boxed_wrapper_class ();
 	gst_tag_list_wrapper_class.wrap = (GPerlBoxedWrapFunc) gst_tag_list_wrap;
--- a/xs/GstTypeFindFactory.xs
+++ b/xs/GstTypeFindFactory.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer::TypeFindFactory	PACKAGE = GStreamer::TypeFindFactory	PREFIX = gst_type_find_factory_
 
+=for object GStreamer::TypeFindFactory Information about registered typefind functions
+
+=cut
+
 # GList * gst_type_find_factory_get_list (void);
 void
 gst_type_find_factory_get_list (class)
--- a/xs/GstValue.xs
+++ b/xs/GstValue.xs
@@ -483,6 +483,10 @@
 
 MODULE = GStreamer::Value	PACKAGE = GStreamer::Value	PREFIX = gst_value_
 
+=for object GStreamer::Value GValue implementations specific to GStreamer
+
+=cut
+
 BOOT:
 	gst2perl_fourcc_initialize ();
 	gst2perl_int_range_initialize ();
--- a/xs/Gst.xs
+++ b/xs/Gst.xs
@@ -22,6 +22,10 @@
 
 MODULE = GStreamer	PACKAGE = GStreamer	PREFIX = gst_
 
+=for object GStreamer Media library supporting arbitrary formats and filter graphs.
+
+=cut
+
 BOOT:
 #include "register.xsh"
 #include "boot.xsh"
