[gstreamermm] Regenerate defs files using new GStreamer release (0.10.28).



commit bffe3e83069916a77bfdc08cb6e1b665e6a3c822
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Mon Mar 15 17:29:19 2010 -0400

    	Regenerate defs files using new GStreamer release (0.10.28).
    
    	* gstreamer/src/gst_docs.xml: Regenerated with docextract_to_xml.py.
    	* gstreamer/src/gst_enums.defs:
    	* gstreamer/src/gst_enums.defs.patch: Regenerated defs file using
    	glibmm's new enum generation tool and updated the patch file.
    	* gstreamer/src/gst_methods.defs:
    	* gstreamer/src/gst_methods.defs.patch: Regenerate with h2def.py and
    	updated the patch file.

 ChangeLog                            |   12 +
 gstreamer/src/gst_docs.xml           |  397 +++++--
 gstreamer/src/gst_enums.defs         | 2402 +++++++++++++++++++++++++++++++---
 gstreamer/src/gst_enums.defs.patch   |  734 +++++++----
 gstreamer/src/gst_methods.defs       |   85 +-
 gstreamer/src/gst_methods.defs.patch |  372 +++---
 6 files changed, 3262 insertions(+), 740 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 66eb32a..5c8af08 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2010-03-15  José Alburquerque  <jaalburqu svn gnome org>
 
+	Regenerate defs files using new GStreamer release (0.10.28).
+
+	* gstreamer/src/gst_docs.xml: Regenerated with docextract_to_xml.py.
+	* gstreamer/src/gst_enums.defs:
+	* gstreamer/src/gst_enums.defs.patch: Regenerated defs file using
+	glibmm's new enum generation tool and updated the patch file.
+	* gstreamer/src/gst_methods.defs:
+	* gstreamer/src/gst_methods.defs.patch: Regenerate with h2def.py and
+	updated the patch file.
+
+2010-03-15  José Alburquerque  <jaalburqu svn gnome org>
+
 	AudioRate Plug-in: Regenerate extra defs to get properties.
 
 	* tools/extra_defs_gen/generate_defs_gst.cc:
diff --git a/gstreamer/src/gst_docs.xml b/gstreamer/src/gst_docs.xml
index ea11dad..75aee43 100644
--- a/gstreamer/src/gst_docs.xml
+++ b/gstreamer/src/gst_docs.xml
@@ -698,6 +698,8 @@ owner of a reference to @list while the returned iterator is in use.
 </parameters>
 <return> a new #GstBufferListIterator of the buffers in @list.
 gst_buffer_list_iterator_free() after usage
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -1847,6 +1849,25 @@ You must have previously called gst_buffer_straw_start_pipeline() on
 </return>
 </function>
 
+<function name="gst_tag_get_language_code_iso_639_2T">
+<description>
+Returns: three-letter ISO-639-2 language code string that maps to @lang_code,
+
+</description>
+<parameters>
+<parameter name="lang_code">
+<parameter_description> ISO-639 language code (e.g. &quot;deu&quot; or &quot;ger&quot; or &quot;de&quot;)
+</parameter_description>
+</parameter>
+</parameters>
+<return> three-letter ISO-639-2 language code string that maps to @lang_code,
+or NULL if no mapping is known. The returned string must not be
+modified or freed.
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_iterator_fold">
 <description>
 Folds @func over the elements of @iter. That is to say, @func will be called
@@ -1911,6 +1932,25 @@ this might deadlock the dispose function.
 <return></return>
 </function>
 
+<function name="gst_tag_get_language_code_iso_639_2B">
+<description>
+Returns: three-letter ISO-639-2 language code string that maps to @lang_code,
+
+</description>
+<parameters>
+<parameter name="lang_code">
+<parameter_description> ISO-639 language code (e.g. &quot;deu&quot; or &quot;ger&quot; or &quot;de&quot;)
+</parameter_description>
+</parameter>
+</parameters>
+<return> three-letter ISO-639-2 language code string that maps to @lang_code,
+or NULL if no mapping is known. The returned string must not be
+modified or freed.
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_fft_f32_window">
 <description>
 This calls the window function @window on the @timedata sample buffer.
@@ -4636,6 +4676,28 @@ prepares the element for pushing. See XXX part-activation.txt for details.
 <return></return>
 </function>
 
+<function name="gst_byte_writer_put_float32_be">
+<description>
+Writes a big endian 32 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_segment_to_stream_time">
 <description>
 Translate @position to stream time using the currently configured 
@@ -5373,6 +5435,28 @@ MT safe.
 </return>
 </function>
 
+<function name="gst_byte_writer_put_float32_le">
+<description>
+Writes a little endian 32 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_mixer_message_parse_mute_toggled">
 <description>
 Extracts the contents of a mute-toggled bus message. Reads
@@ -6585,6 +6669,8 @@ only be called once per call to gst_buffer_list_iterator_next().
 
 The removed buffer is unreffed.
 
+Since: 0.10.24
+
 </description>
 <parameters>
 <parameter name="it">
@@ -9112,6 +9198,8 @@ gst_buffer_list_iterator_next_group(). A subsequent call to
 gst_buffer_list_iterator_next_group() will advance the iterator to the group
 after the inserted group, if any.
 
+Since: 0.10.24
+
 </description>
 <parameters>
 <parameter name="it">
@@ -9330,6 +9418,8 @@ called repeatedly to iterate through the groups in a buffer list.
 </parameters>
 <return> TRUE if the iterator could be advanced to the next group, FALSE if
 the iterator was already at the last group
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -9646,6 +9736,32 @@ MT safe.
 </return>
 </function>
 
+<function name="gst_byte_writer_fill">
+<description>
+Writes @size bytes containing @value to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> Value to be writen
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Number of bytes to be writen
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_rtsp_method_as_text">
 <description>
 Convert @method to a string.
@@ -9953,6 +10069,8 @@ Call @func with @data for each buffer in @list.
 of @func define if this function returns or if the remaining buffers in a
 group should be skipped.
 
+Since: 0.10.24
+
 </description>
 <parameters>
 <parameter name="list">
@@ -11698,6 +11816,28 @@ by the query and will therefore be freed when the query is unreffed.
 </return>
 </function>
 
+<function name="gst_byte_writer_put_float64_le">
+<description>
+Writes a little endian 64 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_index_add_object">
 <description>
 Add the given object to the index with the given key.
@@ -11748,28 +11888,6 @@ Looks up the vorbiscomment tag for a GStreamer tag.
 </return>
 </function>
 
-<function name="gst_byte_writer_put_float_be">
-<description>
-Writes a big endian 32 bit float to @writer.
-
-
-</description>
-<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the value could be written
-
-Since: 0.10.26
-</return>
-</function>
-
 <function name="gst_byte_writer_put_int24_le">
 <description>
 Writes a signed little endian 24 bit integer to @writer.
@@ -12369,6 +12487,28 @@ Sets the values for the given tags using the specified mode.
 <return></return>
 </function>
 
+<function name="gst_byte_writer_put_float64_be">
+<description>
+Writes a big endian 64 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_buffer_list_iterator_n_buffers">
 <description>
 Returns: the number of buffers left to iterate in the current group
@@ -12381,6 +12521,8 @@ Returns: the number of buffers left to iterate in the current group
 </parameter>
 </parameters>
 <return> the number of buffers left to iterate in the current group
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -13803,6 +13945,8 @@ Returns: the number of groups in the buffer list
 </parameter>
 </parameters>
 <return> the number of groups in the buffer list
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -14242,6 +14386,26 @@ of the array in the given structure.
 <return></return>
 </function>
 
+<function name="gst_tag_get_language_name">
+<description>
+Returns: language name in UTF-8 format, or NULL if @language_code could
+
+</description>
+<parameters>
+<parameter name="language_code">
+<parameter_description> two or three-letter ISO-639 language code
+</parameter_description>
+</parameter>
+</parameters>
+<return> language name in UTF-8 format, or NULL if @language_code could
+not be mapped to a language name. The returned string must not be
+modified and does not need to freed; it will stay valid until the
+application is terminated.
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_rtsp_connection_get_writefd">
 <description>
 Get the file descriptor for writing.
@@ -16729,11 +16893,11 @@ Returns: %GST_STATE_CHANGE_SUCCESS if the element has no more pending state
 </parameter_description>
 </parameter>
 <parameter name="state">
-<parameter_description> a pointer to #GstState to hold the state. Can be %NULL.
+<parameter_description> (out): a pointer to #GstState to hold the state. Can be %NULL.
 </parameter_description>
 </parameter>
 <parameter name="pending">
-<parameter_description> a pointer to #GstState to hold the pending state.
+<parameter_description> (out): a pointer to #GstState to hold the pending state.
 Can be %NULL.
 </parameter_description>
 </parameter>
@@ -20589,6 +20753,8 @@ Use an iterator or gst_buffer_list_foreach() instead.
 </parameters>
 <return> the buffer at @idx in @group or NULL when there is no buffer. The
 buffer remains valid as long as @list is valid.
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -20892,6 +21058,25 @@ Since: 0.10.18
 <return></return>
 </function>
 
+<function name="gst_rtcp_sdes_type_to_name">
+<description>
+Converts @type to the string equivalent. The string is typically used as a
+key in a #GstStructure containing SDES items.
+
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> a #GstRTCPSDESType
+</parameter_description>
+</parameter>
+</parameters>
+<return> the string equivalent of @type
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_sdp_media_get_proto">
 <description>
 Get the transport protocol of @media
@@ -21947,6 +22132,8 @@ for sending NEW_SEGMENT events and for performing seeks.
 If a format of GST_FORMAT_BYTES is set, the element will be able to
 operate in pull mode if the #GstBaseSrc.is_seekable() returns TRUE.
 
+This function must only be called in states &lt; %GST_STATE_PAUSED.
+
 Since: 0.10.1
 
 </description>
@@ -22059,6 +22246,8 @@ depending on the type of the pad.
 <description>
 Opaque list of grouped buffers.
 
+Since: 0.10.24
+
 </description>
 <parameters>
 <parameter name="mini_object">
@@ -22213,6 +22402,8 @@ will return the buffer after the inserted buffer, if any.
 
 This function takes ownership of @buffer.
 
+Since: 0.10.24
+
 </description>
 <parameters>
 <parameter name="it">
@@ -22404,6 +22595,8 @@ the state of the iterator @it or the list.
 </parameter>
 </parameters>
 <return> a new #GstBuffer, gst_buffer_unref() after usage, or NULL
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -22952,6 +23145,8 @@ Returns: the next buffer in the current group of the buffer list, or NULL
 </parameter>
 </parameters>
 <return> the next buffer in the current group of the buffer list, or NULL
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -23243,28 +23438,6 @@ abort program execution.
 <return></return>
 </function>
 
-<function name="gst_byte_writer_put_double_be">
-<description>
-Writes a big endian 64 bit float to @writer.
-
-
-</description>
-<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the value could be written
-
-Since: 0.10.26
-</return>
-</function>
-
 <function name="gst_buffer_get_caps">
 <description>
 Gets the media type of the buffer. This can be NULL if there
@@ -23387,6 +23560,8 @@ See #GstBufferListDoFunction for more details.
 </parameter>
 </parameters>
 <return> the return value from @do_func
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -23405,7 +23580,7 @@ Since: 0.10.18
 
 </description>
 <parameters>
-<parameter name="element">
+<parameter name="element_name">
 <parameter_description> name of the element that needs to be created
 </parameter_description>
 </parameter>
@@ -24684,6 +24859,8 @@ This function unrefs the replaced buffer if it has not been stolen with
 gst_buffer_list_iterator_steal() and takes ownership of @buffer (i.e. the
 refcount of @buffer is not increased).
 
+Since: 0.10.24
+
 </description>
 <parameters>
 <parameter name="it">
@@ -25497,28 +25674,6 @@ Since: 0.10.26
 </return>
 </function>
 
-<function name="gst_byte_writer_put_float_le">
-<description>
-Writes a little endian 32 bit float to @writer.
-
-
-</description>
-<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the value could be written
-
-Since: 0.10.26
-</return>
-</function>
-
 <function name="gst_rtsp_watch_send_message">
 <description>
 Send a @message using the connection of the @watch. If it cannot be sent
@@ -26432,6 +26587,25 @@ Since: 0.10.22
 </return>
 </function>
 
+<function name="gst_tag_get_language_code_iso_639_1">
+<description>
+Returns: two-letter ISO-639-1 language code string that maps to @lang_code,
+
+</description>
+<parameters>
+<parameter name="lang_code">
+<parameter_description> ISO-639 language code (e.g. &quot;deu&quot; or &quot;ger&quot; or &quot;de&quot;)
+</parameter_description>
+</parameter>
+</parameters>
+<return> two-letter ISO-639-1 language code string that maps to @lang_code,
+or NULL if no mapping is known. The returned string must not be
+modified or freed.
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_video_format_get_component_width">
 <description>
 Calculates the width of the component.  See
@@ -27068,6 +27242,8 @@ the returned #GstBufferList.
 <parameters>
 </parameters>
 <return> the new #GstBufferList. gst_buffer_list_unref() after usage.
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -28445,6 +28621,8 @@ Returns: the last buffer returned by gst_buffer_list_iterator_next()
 </parameter>
 </parameters>
 <return> the last buffer returned by gst_buffer_list_iterator_next()
+
+Since: 0.10.24
 </return>
 </function>
 
@@ -35953,6 +36131,7 @@ Since: 0.10.24
 <description>
 Convenience function to read a string with unknown character encoding. If
 the string is already in UTF-8 encoding, it will be returned right away.
+If not it tries to detect byte-order-mark for UTF-16/32 cases and use that.
 Otherwise, the environment will be searched for a number of environment
 variables (whose names are specified in the NULL-terminated string array
 @env_vars) containing a list of character encodings to try/use. If none
@@ -36948,9 +37127,9 @@ gst_bin_add() before trying to link them.
 <description>
 Set just the address bytes stored in @naddr into @address.
 
-Note that @port must be expressed in network byte order, use g_htons() to convert
-it to network byte order order. IP4 address bytes must also be stored in
-network byte order.
+Note that @port must be expressed in network byte order, use g_htons() to
+convert it to network byte order order. IP4 address bytes must also be
+stored in network byte order.
 
 
 </description>
@@ -36959,6 +37138,10 @@ network byte order.
 <parameter_description> a network address
 </parameter_description>
 </parameter>
+<parameter name="type">
+<parameter_description> the address type (IPv4 or IPV6)
+</parameter_description>
+</parameter>
 <parameter name="address">
 <parameter_description> a location to store the result.
 </parameter_description>
@@ -39485,9 +39668,10 @@ MT safe.
 Push @out_buf to the peer of @filter. This function takes ownership of
 @out_buf.
 
-Unlike gst_base_rtp_depayload_push(), this function will apply @timestamp
-on the outgoing buffer, using the configured clock_rate to convert the
-timestamp to a valid GStreamer clock time.
+Unlike gst_base_rtp_depayload_push(), this function will by default apply
+the last incomming timestamp on the outgoing buffer when it didn't have a
+timestamp already. The set_get_timestamp vmethod can be overwritten to change
+this behaviour (and take, for example, @timestamp into account).
 
 
 </description>
@@ -39696,6 +39880,26 @@ or NULL
 <return></return>
 </function>
 
+<function name="gst_rtcp_sdes_name_to_type">
+<description>
+Convert @name into a @GstRTCPSDESType. @name is typically a key in a
+#GstStructure containing SDES items.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> a SDES name
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstRTCPSDESType for @name or #GST_RTCP_SDES_PRIV when @name
+is a private sdes item.
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_missing_element_message_new">
 <description>
 Creates a missing-plugin message for @element to notify the application
@@ -41256,6 +41460,20 @@ MT safe.
 </return>
 </function>
 
+<function name="gst_tag_get_language_codes">
+<description>
+Returns: NULL-terminated string array with two-letter language codes. Free
+
+</description>
+<parameters>
+</parameters>
+<return> NULL-terminated string array with two-letter language codes. Free
+with g_strfreev() when no longer needed.
+
+Since: 0.10.26
+</return>
+</function>
+
 <function name="gst_fft_s16_free">
 <description>
 This frees the memory allocated for @self.
@@ -41457,7 +41675,8 @@ Push @out_buf to the peer of @filter. This function takes ownership of
 @out_buf.
 
 Unlike gst_base_rtp_depayload_push_ts(), this function will not apply
-any timestamp on the outgoing buffer.
+any timestamp on the outgoing buffer. Subclasses should therefore timestamp
+outgoing buffers themselves.
 
 
 </description>
@@ -41509,28 +41728,6 @@ Set the given query type function for the pad.
 <return></return>
 </function>
 
-<function name="gst_byte_writer_put_double_le">
-<description>
-Writes a little endian 64 bit float to @writer.
-
-
-</description>
-<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the value could be written
-
-Since: 0.10.26
-</return>
-</function>
-
 <function name="gst_bin_iterate_sinks">
 <description>
 Gets an iterator for all elements in the bin that have the
@@ -41744,6 +41941,8 @@ Get the number of time zone information entries in @msg.
 <description>
 Free the iterator.
 
+Since: 0.10.24
+
 </description>
 <parameters>
 <parameter name="it">
@@ -42441,6 +42640,8 @@ the max MTU is exceeded or the number of sources blocks is greater than
 <description>
 Opaque iterator for a #GstBufferList.
 
+Since: 0.10.24
+
 </description>
 <parameters>
 </parameters>
diff --git a/gstreamer/src/gst_enums.defs b/gstreamer/src/gst_enums.defs
index 0f81560..2d1fa08 100644
--- a/gstreamer/src/gst_enums.defs
+++ b/gstreamer/src/gst_enums.defs
@@ -2,44 +2,79 @@
 
 ;; From gstbin.h
 
-(define-enum-extended BinFlags
+;; Original typedef:
+;; typedef enum {
+;;   /* padding */
+;;   GST_BIN_FLAG_LAST		= (GST_ELEMENT_FLAG_LAST << 5)
+;; } GstBinFlags;
+
+(define-flags-extended BinFlags
   (in-module "Gst")
   (c-name "GstBinFlags")
   (values
+    '("last" "GST_BIN_FLAG_LAST" "(GST_ELEMENT_FLAG_LAST << 5)")
   )
 )
 
 ;; From gstbuffer.h
 
-(define-enum-extended BufferFlag
+;; Original typedef:
+;; typedef enum {
+;;   GST_BUFFER_FLAG_READONLY   = GST_MINI_OBJECT_FLAG_READONLY,
+;;   GST_BUFFER_FLAG_PREROLL    = (GST_MINI_OBJECT_FLAG_LAST << 0),
+;;   GST_BUFFER_FLAG_DISCONT    = (GST_MINI_OBJECT_FLAG_LAST << 1),
+;;   GST_BUFFER_FLAG_IN_CAPS    = (GST_MINI_OBJECT_FLAG_LAST << 2),
+;;   GST_BUFFER_FLAG_GAP        = (GST_MINI_OBJECT_FLAG_LAST << 3),
+;;   GST_BUFFER_FLAG_DELTA_UNIT = (GST_MINI_OBJECT_FLAG_LAST << 4),
+;;   GST_BUFFER_FLAG_MEDIA1     = (GST_MINI_OBJECT_FLAG_LAST << 5),
+;;   GST_BUFFER_FLAG_MEDIA2     = (GST_MINI_OBJECT_FLAG_LAST << 6),
+;;   GST_BUFFER_FLAG_MEDIA3     = (GST_MINI_OBJECT_FLAG_LAST << 7),
+;;   GST_BUFFER_FLAG_LAST       = (GST_MINI_OBJECT_FLAG_LAST << 8)
+;; } GstBufferFlag;
+
+(define-flags-extended BufferFlag
   (in-module "Gst")
   (c-name "GstBufferFlag")
   (values
     '("readonly" "GST_BUFFER_FLAG_READONLY" "GST_MINI_OBJECT_FLAG_READONLY")
-    '("preroll" "GST_BUFFER_FLAG_PREROLL" "GST_MINI_OBJECT_FLAG_LAST << 0")
-    '("discont" "GST_BUFFER_FLAG_DISCONT" "GST_MINI_OBJECT_FLAG_LAST << 1")
-    '("in-caps" "GST_BUFFER_FLAG_IN_CAPS" "GST_MINI_OBJECT_FLAG_LAST << 2")
-    '("gap" "GST_BUFFER_FLAG_GAP" "GST_MINI_OBJECT_FLAG_LAST << 3")
-    '("delta-unit" "GST_BUFFER_FLAG_DELTA_UNIT" "GST_MINI_OBJECT_FLAG_LAST << 4")
-    '("media1" "GST_BUFFER_FLAG_MEDIA1" "GST_MINI_OBJECT_FLAG_LAST << 5")
-    '("media2" "GST_BUFFER_FLAG_MEDIA2" "GST_MINI_OBJECT_FLAG_LAST << 6")
-    '("media3" "GST_BUFFER_FLAG_MEDIA3" "GST_MINI_OBJECT_FLAG_LAST << 7")
-    '("last" "GST_BUFFER_FLAG_LAST" "GST_MINI_OBJECT_FLAG_LAST << 8")
+    '("preroll" "GST_BUFFER_FLAG_PREROLL" "(GST_MINI_OBJECT_FLAG_LAST << 0)")
+    '("discont" "GST_BUFFER_FLAG_DISCONT" "(GST_MINI_OBJECT_FLAG_LAST << 1)")
+    '("in-caps" "GST_BUFFER_FLAG_IN_CAPS" "(GST_MINI_OBJECT_FLAG_LAST << 2)")
+    '("gap" "GST_BUFFER_FLAG_GAP" "(GST_MINI_OBJECT_FLAG_LAST << 3)")
+    '("delta-unit" "GST_BUFFER_FLAG_DELTA_UNIT" "(GST_MINI_OBJECT_FLAG_LAST << 4)")
+    '("media1" "GST_BUFFER_FLAG_MEDIA1" "(GST_MINI_OBJECT_FLAG_LAST << 5)")
+    '("media2" "GST_BUFFER_FLAG_MEDIA2" "(GST_MINI_OBJECT_FLAG_LAST << 6)")
+    '("media3" "GST_BUFFER_FLAG_MEDIA3" "(GST_MINI_OBJECT_FLAG_LAST << 7)")
+    '("last" "GST_BUFFER_FLAG_LAST" "(GST_MINI_OBJECT_FLAG_LAST << 8)")
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_BUFFER_COPY_FLAGS      = (1 << 0),
+;;   GST_BUFFER_COPY_TIMESTAMPS = (1 << 1),
+;;   GST_BUFFER_COPY_CAPS       = (1 << 2)
+;; } GstBufferCopyFlags;
+
 (define-flags-extended BufferCopyFlags
   (in-module "Gst")
   (c-name "GstBufferCopyFlags")
   (values
-    '("flags" "GST_BUFFER_COPY_FLAGS" "1 << 0")
-    '("timestamps" "GST_BUFFER_COPY_TIMESTAMPS" "1 << 1")
-    '("caps" "GST_BUFFER_COPY_CAPS" "1 << 2")
+    '("flags" "GST_BUFFER_COPY_FLAGS" "(1 << 0)")
+    '("timestamps" "GST_BUFFER_COPY_TIMESTAMPS" "(1 << 1)")
+    '("caps" "GST_BUFFER_COPY_CAPS" "(1 << 2)")
   )
 )
 
 ;; From gstbufferlist.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_BUFFER_LIST_CONTINUE,
+;;   GST_BUFFER_LIST_SKIP_GROUP,
+;;   GST_BUFFER_LIST_END
+;; } GstBufferListItem;
+
 (define-enum-extended BufferListItem
   (in-module "Gst")
   (c-name "GstBufferListItem")
@@ -52,15 +87,30 @@
 
 ;; From gstbus.h
 
-(define-enum-extended BusFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_BUS_FLUSHING      = (GST_OBJECT_FLAG_LAST << 0),
+;;   /* padding */
+;;   GST_BUS_FLAG_LAST     = (GST_OBJECT_FLAG_LAST << 1)
+;; } GstBusFlags;
+
+(define-flags-extended BusFlags
   (in-module "Gst")
   (c-name "GstBusFlags")
   (values
-    '("flushing" "GST_BUS_FLUSHING" "GST_OBJECT_FLAG_LAST << 0")
-    '("last" "GST_BUS_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 1")
+    '("flushing" "GST_BUS_FLUSHING" "(GST_OBJECT_FLAG_LAST << 0)")
+    '("flag-last" "GST_BUS_FLAG_LAST" "(GST_OBJECT_FLAG_LAST << 1)")
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_BUS_DROP = 0,
+;;   GST_BUS_PASS = 1,
+;;   GST_BUS_ASYNC = 2
+;; } GstBusSyncReply;
+
 (define-enum-extended BusSyncReply
   (in-module "Gst")
   (c-name "GstBusSyncReply")
@@ -73,16 +123,33 @@
 
 ;; From gstcaps.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_CAPS_FLAGS_ANY	= (1 << 0)
+;; } GstCapsFlags;
+
 (define-flags-extended CapsFlags
   (in-module "Gst")
   (c-name "GstCapsFlags")
   (values
-    '("y" "GST_CAPS_FLAGS_ANY" "1 << 0")
+    '("any" "GST_CAPS_FLAGS_ANY" "(1 << 0)")
   )
 )
 
 ;; From gstclock.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_CLOCK_OK		=  0,
+;;   GST_CLOCK_EARLY	=  1,
+;;   GST_CLOCK_UNSCHEDULED	=  2,
+;;   GST_CLOCK_BUSY	=  3,
+;;   GST_CLOCK_BADTIME	=  4,
+;;   GST_CLOCK_ERROR	=  5,
+;;   GST_CLOCK_UNSUPPORTED	=  6
+;; } GstClockReturn;
+
 (define-enum-extended ClockReturn
   (in-module "Gst")
   (c-name "GstClockReturn")
@@ -97,6 +164,12 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_CLOCK_ENTRY_SINGLE,
+;;   GST_CLOCK_ENTRY_PERIODIC
+;; } GstClockEntryType;
+
 (define-enum-extended ClockEntryType
   (in-module "Gst")
   (c-name "GstClockEntryType")
@@ -106,35 +179,65 @@
   )
 )
 
-(define-enum-extended ClockFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC     = (GST_OBJECT_FLAG_LAST << 0),
+;;   GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC    = (GST_OBJECT_FLAG_LAST << 1),
+;;   GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC   = (GST_OBJECT_FLAG_LAST << 2),
+;;   GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC  = (GST_OBJECT_FLAG_LAST << 3),
+;;   GST_CLOCK_FLAG_CAN_SET_RESOLUTION     = (GST_OBJECT_FLAG_LAST << 4),
+;;   GST_CLOCK_FLAG_CAN_SET_MASTER         = (GST_OBJECT_FLAG_LAST << 5),
+;;   /* padding */
+;;   GST_CLOCK_FLAG_LAST		        = (GST_OBJECT_FLAG_LAST << 8)
+;; } GstClockFlags;
+
+(define-flags-extended ClockFlags
   (in-module "Gst")
   (c-name "GstClockFlags")
   (values
-    '("can-do-single-sync" "GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC" "GST_OBJECT_FLAG_LAST << 0")
-    '("can-do-single-async" "GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC" "GST_OBJECT_FLAG_LAST << 1")
-    '("can-do-periodic-sync" "GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC" "GST_OBJECT_FLAG_LAST << 2")
-    '("can-do-periodic-async" "GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC" "GST_OBJECT_FLAG_LAST << 3")
-    '("can-set-resolution" "GST_CLOCK_FLAG_CAN_SET_RESOLUTION" "GST_OBJECT_FLAG_LAST << 4")
-    '("can-set-master" "GST_CLOCK_FLAG_CAN_SET_MASTER" "GST_OBJECT_FLAG_LAST << 5")
-    '("last" "GST_CLOCK_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 8")
+    '("can-do-single-sync" "GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC" "(GST_OBJECT_FLAG_LAST << 0)")
+    '("can-do-single-async" "GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC" "(GST_OBJECT_FLAG_LAST << 1)")
+    '("can-do-periodic-sync" "GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC" "(GST_OBJECT_FLAG_LAST << 2)")
+    '("can-do-periodic-async" "GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC" "(GST_OBJECT_FLAG_LAST << 3)")
+    '("can-set-resolution" "GST_CLOCK_FLAG_CAN_SET_RESOLUTION" "(GST_OBJECT_FLAG_LAST << 4)")
+    '("can-set-master" "GST_CLOCK_FLAG_CAN_SET_MASTER" "(GST_OBJECT_FLAG_LAST << 5)")
+    '("last" "GST_CLOCK_FLAG_LAST" "(GST_OBJECT_FLAG_LAST << 8)")
   )
 )
 
 ;; From gstdebugutils.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE         = (1<<0),
+;;   GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS       = (1<<1),
+;;   GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS = (1<<2),
+;;   GST_DEBUG_GRAPH_SHOW_STATES             = (1<<3),
+;;   GST_DEBUG_GRAPH_SHOW_ALL                = ((1<<4)-1)
+;; } GstDebugGraphDetails;
+
 (define-flags-extended DebugGraphDetails
   (in-module "Gst")
   (c-name "GstDebugGraphDetails")
   (values
-    '("media-type" "GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE" "1<<0")
-    '("caps-details" "GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS" "1<<1")
-    '("non-default-params" "GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS" "1<<2")
-    '("states" "GST_DEBUG_GRAPH_SHOW_STATES" "1<<3")
+    '("media-type" "GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE" "(1<<0)")
+    '("caps-details" "GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS" "(1<<1)")
+    '("non-default-params" "GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS" "(1<<2)")
+    '("states" "GST_DEBUG_GRAPH_SHOW_STATES" "(1<<3)")
   )
 )
 
 ;; From gstelement.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_STATE_VOID_PENDING        = 0,
+;;   GST_STATE_NULL                = 1,
+;;   GST_STATE_READY               = 2,
+;;   GST_STATE_PAUSED              = 3,
+;;   GST_STATE_PLAYING             = 4
+;; } GstState;
+
 (define-enum-extended State
   (in-module "Gst")
   (c-name "GstState")
@@ -147,6 +250,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_STATE_CHANGE_FAILURE             = 0,
+;;   GST_STATE_CHANGE_SUCCESS             = 1,
+;;   GST_STATE_CHANGE_ASYNC               = 2,
+;;   GST_STATE_CHANGE_NO_PREROLL          = 3
+;; } GstStateChangeReturn;
+
 (define-enum-extended StateChangeReturn
   (in-module "Gst")
   (c-name "GstStateChangeReturn")
@@ -158,34 +269,73 @@
   )
 )
 
-;; TODO: See why gmmproc reports errors when values of following enum are
-;; commented in.
-(define-enum-extended StateChange
+;; Original typedef:
+;; typedef enum /*< flags=0 >*/
+;; {
+;;   GST_STATE_CHANGE_NULL_TO_READY        = (GST_STATE_NULL<<3) | GST_STATE_READY,
+;;   GST_STATE_CHANGE_READY_TO_PAUSED      = (GST_STATE_READY<<3) | GST_STATE_PAUSED,
+;;   GST_STATE_CHANGE_PAUSED_TO_PLAYING    = (GST_STATE_PAUSED<<3) | GST_STATE_PLAYING,
+;;   GST_STATE_CHANGE_PLAYING_TO_PAUSED    = (GST_STATE_PLAYING<<3) | GST_STATE_PAUSED,
+;;   GST_STATE_CHANGE_PAUSED_TO_READY      = (GST_STATE_PAUSED<<3) | GST_STATE_READY,
+;;   GST_STATE_CHANGE_READY_TO_NULL        = (GST_STATE_READY<<3) | GST_STATE_NULL
+;; } GstStateChange;
+
+(define-flags-extended StateChange
   (in-module "Gst")
   (c-name "GstStateChange")
   (values
-;;    '("null-to-ready" "GST_STATE_CHANGE_NULL_TO_READY" "(GST_STATE_NULL<<3) | GST_STATE_READY")
-;;    '("ready-to-paused" "GST_STATE_CHANGE_READY_TO_PAUSED" "(GST_STATE_READY<<3) | GST_STATE_PAUSED")
-;;    '("paused-to-playing" "GST_STATE_CHANGE_PAUSED_TO_PLAYING" "(GST_STATE_PAUSED<<3) | GST_STATE_PLAYING")
-;;    '("playing-to-paused" "GST_STATE_CHANGE_PLAYING_TO_PAUSED" "(GST_STATE_PLAYING<<3) | GST_STATE_PAUSED")
-;;    '("paused-to-ready" "GST_STATE_CHANGE_PAUSED_TO_READY" "(GST_STATE_PAUSED<<3) | GST_STATE_READY")
-;;    '("ready-to-null" "GST_STATE_CHANGE_READY_TO_NULL" "(GST_STATE_READY<<3) | GST_STATE_NULL")
+    '("null-to-ready" "GST_STATE_CHANGE_NULL_TO_READY" "0xA")
+    '("ready-to-paused" "GST_STATE_CHANGE_READY_TO_PAUSED" "0x13")
+    '("paused-to-playing" "GST_STATE_CHANGE_PAUSED_TO_PLAYING" "0x1C")
+    '("playing-to-paused" "GST_STATE_CHANGE_PLAYING_TO_PAUSED" "0x23")
+    '("paused-to-ready" "GST_STATE_CHANGE_PAUSED_TO_READY" "0x1A")
+    '("ready-to-null" "GST_STATE_CHANGE_READY_TO_NULL" "0x11")
   )
 )
 
-(define-enum-extended ElementFlags
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_ELEMENT_LOCKED_STATE      = (GST_OBJECT_FLAG_LAST << 0),
+;;   GST_ELEMENT_IS_SINK           = (GST_OBJECT_FLAG_LAST << 1),
+;;   GST_ELEMENT_UNPARENTING       = (GST_OBJECT_FLAG_LAST << 2),
+;;   /* padding */
+;;   GST_ELEMENT_FLAG_LAST         = (GST_OBJECT_FLAG_LAST << 16)
+;; } GstElementFlags;
+
+(define-flags-extended ElementFlags
   (in-module "Gst")
   (c-name "GstElementFlags")
   (values
-    '("locked-state" "GST_ELEMENT_LOCKED_STATE" "GST_OBJECT_FLAG_LAST << 0")
-    '("is-sink" "GST_ELEMENT_IS_SINK" "GST_OBJECT_FLAG_LAST << 1")
-    '("unparenting" "GST_ELEMENT_UNPARENTING" "GST_OBJECT_FLAG_LAST << 2")
-    '("flag-set" "GST_ELEMENT_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 16")
+    '("locked-state" "GST_ELEMENT_LOCKED_STATE" "(GST_OBJECT_FLAG_LAST << 0)")
+    '("is-sink" "GST_ELEMENT_IS_SINK" "(GST_OBJECT_FLAG_LAST << 1)")
+    '("unparenting" "GST_ELEMENT_UNPARENTING" "(GST_OBJECT_FLAG_LAST << 2)")
+    '("flag-last" "GST_ELEMENT_FLAG_LAST" "(GST_OBJECT_FLAG_LAST << 16)")
   )
 )
 
 ;; From gsterror.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_CORE_ERROR_FAILED = 1,
+;;   GST_CORE_ERROR_TOO_LAZY,
+;;   GST_CORE_ERROR_NOT_IMPLEMENTED,
+;;   GST_CORE_ERROR_STATE_CHANGE,
+;;   GST_CORE_ERROR_PAD,
+;;   GST_CORE_ERROR_THREAD,
+;;   GST_CORE_ERROR_NEGOTIATION,
+;;   GST_CORE_ERROR_EVENT,
+;;   GST_CORE_ERROR_SEEK,
+;;   GST_CORE_ERROR_CAPS,
+;;   GST_CORE_ERROR_TAG,
+;;   GST_CORE_ERROR_MISSING_PLUGIN,
+;;   GST_CORE_ERROR_CLOCK,
+;;   GST_CORE_ERROR_DISABLED,
+;;   GST_CORE_ERROR_NUM_ERRORS
+;; } GstCoreError;
+
 (define-enum-extended CoreError
   (in-module "Gst")
   (c-name "GstCoreError")
@@ -208,6 +358,18 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_LIBRARY_ERROR_FAILED = 1,
+;;   GST_LIBRARY_ERROR_TOO_LAZY,
+;;   GST_LIBRARY_ERROR_INIT,
+;;   GST_LIBRARY_ERROR_SHUTDOWN,
+;;   GST_LIBRARY_ERROR_SETTINGS,
+;;   GST_LIBRARY_ERROR_ENCODE,
+;;   GST_LIBRARY_ERROR_NUM_ERRORS
+;; } GstLibraryError;
+
 (define-enum-extended LibraryError
   (in-module "Gst")
   (c-name "GstLibraryError")
@@ -222,6 +384,26 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_RESOURCE_ERROR_FAILED = 1,
+;;   GST_RESOURCE_ERROR_TOO_LAZY,
+;;   GST_RESOURCE_ERROR_NOT_FOUND,
+;;   GST_RESOURCE_ERROR_BUSY,
+;;   GST_RESOURCE_ERROR_OPEN_READ,
+;;   GST_RESOURCE_ERROR_OPEN_WRITE,
+;;   GST_RESOURCE_ERROR_OPEN_READ_WRITE,
+;;   GST_RESOURCE_ERROR_CLOSE,
+;;   GST_RESOURCE_ERROR_READ,
+;;   GST_RESOURCE_ERROR_WRITE,
+;;   GST_RESOURCE_ERROR_SEEK,
+;;   GST_RESOURCE_ERROR_SYNC,
+;;   GST_RESOURCE_ERROR_SETTINGS,
+;;   GST_RESOURCE_ERROR_NO_SPACE_LEFT,
+;;   GST_RESOURCE_ERROR_NUM_ERRORS
+;; } GstResourceError;
+
 (define-enum-extended ResourceError
   (in-module "Gst")
   (c-name "GstResourceError")
@@ -244,6 +426,25 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_STREAM_ERROR_FAILED = 1,
+;;   GST_STREAM_ERROR_TOO_LAZY,
+;;   GST_STREAM_ERROR_NOT_IMPLEMENTED,
+;;   GST_STREAM_ERROR_TYPE_NOT_FOUND,
+;;   GST_STREAM_ERROR_WRONG_TYPE,
+;;   GST_STREAM_ERROR_CODEC_NOT_FOUND,
+;;   GST_STREAM_ERROR_DECODE,
+;;   GST_STREAM_ERROR_ENCODE,
+;;   GST_STREAM_ERROR_DEMUX,
+;;   GST_STREAM_ERROR_MUX,
+;;   GST_STREAM_ERROR_FORMAT,
+;;   GST_STREAM_ERROR_DECRYPT,
+;;   GST_STREAM_ERROR_DECRYPT_NOKEY,
+;;   GST_STREAM_ERROR_NUM_ERRORS
+;; } GstStreamError;
+
 (define-enum-extended StreamError
   (in-module "Gst")
   (c-name "GstStreamError")
@@ -267,6 +468,13 @@
 
 ;; From gstevent.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_EVENT_TYPE_UPSTREAM       = 1 << 0,
+;;   GST_EVENT_TYPE_DOWNSTREAM     = 1 << 1,
+;;   GST_EVENT_TYPE_SERIALIZED     = 1 << 2
+;; } GstEventTypeFlags;
+
 (define-flags-extended EventTypeFlags
   (in-module "Gst")
   (c-name "GstEventTypeFlags")
@@ -277,6 +485,15 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   /* one of these */
+;;   GST_SEEK_TYPE_NONE            = 0,
+;;   GST_SEEK_TYPE_CUR             = 1,
+;;   GST_SEEK_TYPE_SET             = 2,
+;;   GST_SEEK_TYPE_END             = 3
+;; } GstSeekType;
+
 (define-enum-extended SeekType
   (in-module "Gst")
   (c-name "GstSeekType")
@@ -288,21 +505,41 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_SEEK_FLAG_NONE            = 0,
+;;   GST_SEEK_FLAG_FLUSH           = (1 << 0),
+;;   GST_SEEK_FLAG_ACCURATE        = (1 << 1),
+;;   GST_SEEK_FLAG_KEY_UNIT        = (1 << 2),
+;;   GST_SEEK_FLAG_SEGMENT         = (1 << 3),
+;;   GST_SEEK_FLAG_SKIP            = (1 << 4)
+;; } GstSeekFlags;
+
 (define-flags-extended SeekFlags
   (in-module "Gst")
   (c-name "GstSeekFlags")
   (values
-    '("none" "GST_SEEK_FLAG_NONE" "0")
-    '("flush" "GST_SEEK_FLAG_FLUSH" "1 << 0")
-    '("accurate" "GST_SEEK_FLAG_ACCURATE" "1 << 1")
-    '("key-unit" "GST_SEEK_FLAG_KEY_UNIT" "1 << 2")
-    '("segment" "GST_SEEK_FLAG_SEGMENT" "1 << 3")
-    '("skip" "GST_SEEK_FLAG_SKIP" "1 << 4")
+    '("none" "GST_SEEK_FLAG_NONE" "0x0")
+    '("flush" "GST_SEEK_FLAG_FLUSH" "(1 << 0)")
+    '("accurate" "GST_SEEK_FLAG_ACCURATE" "(1 << 1)")
+    '("key-unit" "GST_SEEK_FLAG_KEY_UNIT" "(1 << 2)")
+    '("segment" "GST_SEEK_FLAG_SEGMENT" "(1 << 3)")
+    '("skip" "GST_SEEK_FLAG_SKIP" "(1 << 4)")
   )
 )
 
 ;; From gstformat.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_FORMAT_UNDEFINED 	=  0, /* must be first in list */
+;;   GST_FORMAT_DEFAULT   	=  1,
+;;   GST_FORMAT_BYTES   	=  2,
+;;   GST_FORMAT_TIME 	=  3,
+;;   GST_FORMAT_BUFFERS	=  4,
+;;   GST_FORMAT_PERCENT	=  5
+;; } GstFormat;
+
 (define-enum-extended Format
   (in-module "Gst")
   (c-name "GstFormat")
@@ -318,6 +555,13 @@
 
 ;; From gstindex.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_INDEX_UNKNOWN,
+;;   GST_INDEX_CERTAIN,
+;;   GST_INDEX_FUZZY
+;; } GstIndexCertainty;
+
 (define-enum-extended IndexCertainty
   (in-module "Gst")
   (c-name "GstIndexCertainty")
@@ -328,6 +572,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_INDEX_ENTRY_ID,
+;;   GST_INDEX_ENTRY_ASSOCIATION,
+;;   GST_INDEX_ENTRY_OBJECT,
+;;   GST_INDEX_ENTRY_FORMAT
+;; } GstIndexEntryType;
+
 (define-enum-extended IndexEntryType
   (in-module "Gst")
   (c-name "GstIndexEntryType")
@@ -339,6 +591,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_INDEX_LOOKUP_EXACT,
+;;   GST_INDEX_LOOKUP_BEFORE,
+;;   GST_INDEX_LOOKUP_AFTER
+;; } GstIndexLookupMethod;
+
 (define-enum-extended IndexLookupMethod
   (in-module "Gst")
   (c-name "GstIndexLookupMethod")
@@ -349,17 +608,34 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_ASSOCIATION_FLAG_NONE       = 0,
+;;   GST_ASSOCIATION_FLAG_KEY_UNIT   = (1 << 0),
+;;   GST_ASSOCIATION_FLAG_DELTA_UNIT = (1 << 1),
+;; 
+;;   /* new flags should start here */
+;;   GST_ASSOCIATION_FLAG_LAST     = (1 << 8)
+;; } GstAssocFlags;
+
 (define-flags-extended AssocFlags
   (in-module "Gst")
   (c-name "GstAssocFlags")
   (values
-    '("none" "GST_ASSOCIATION_FLAG_NONE" "0")
-    '("key-unit" "GST_ASSOCIATION_FLAG_KEY_UNIT" "1 << 0")
-    '("delta-unit" "GST_ASSOCIATION_FLAG_DELTA_UNIT" "1 << 1")
-    '("last" "GST_ASSOCIATION_FLAG_LAST" "1 << 8")
+    '("none" "GST_ASSOCIATION_FLAG_NONE" "0x0")
+    '("key-unit" "GST_ASSOCIATION_FLAG_KEY_UNIT" "(1 << 0)")
+    '("delta-unit" "GST_ASSOCIATION_FLAG_DELTA_UNIT" "(1 << 1)")
+    '("last" "GST_ASSOCIATION_FLAG_LAST" "(1 << 8)")
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_INDEX_RESOLVER_CUSTOM,
+;;   GST_INDEX_RESOLVER_GTYPE,
+;;   GST_INDEX_RESOLVER_PATH
+;; } GstIndexResolverMethod;
+
 (define-enum-extended IndexResolverMethod
   (in-module "Gst")
   (c-name "GstIndexResolverMethod")
@@ -370,18 +646,41 @@
   )
 )
 
-(define-enum-extended IndexFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_INDEX_WRITABLE    = (GST_OBJECT_FLAG_LAST << 0),
+;;   GST_INDEX_READABLE    = (GST_OBJECT_FLAG_LAST << 1),
+;; 
+;;   GST_INDEX_FLAG_LAST   = (GST_OBJECT_FLAG_LAST << 8)
+;; } GstIndexFlags;
+
+(define-flags-extended IndexFlags
   (in-module "Gst")
   (c-name "GstIndexFlags")
   (values
-    '("writable" "GST_INDEX_WRITABLE" "GST_OBJECT_FLAG_LAST << 0")
-    '("readable" "GST_INDEX_READABLE" "GST_OBJECT_FLAG_LAST << 1")
-    '("last" "GST_INDEX_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 8")
+    '("writable" "GST_INDEX_WRITABLE" "(GST_OBJECT_FLAG_LAST << 0)")
+    '("readable" "GST_INDEX_READABLE" "(GST_OBJECT_FLAG_LAST << 1)")
+    '("flag-last" "GST_INDEX_FLAG_LAST" "(GST_OBJECT_FLAG_LAST << 8)")
   )
 )
 
 ;; From gstinfo.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_LEVEL_NONE = 0,
+;;   GST_LEVEL_ERROR,
+;;   GST_LEVEL_WARNING,
+;;   GST_LEVEL_INFO,
+;;   GST_LEVEL_DEBUG,
+;;   GST_LEVEL_LOG,
+;;   GST_LEVEL_FIXME = 6,
+;;   /* add more */
+;;   GST_LEVEL_MEMDUMP = 9,
+;;   /* add more */
+;;   GST_LEVEL_COUNT
+;; } GstDebugLevel;
+
 (define-enum-extended DebugLevel
   (in-module "Gst")
   (c-name "GstDebugLevel")
@@ -398,6 +697,31 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   /* colors */
+;;   GST_DEBUG_FG_BLACK		= 0x0000,
+;;   GST_DEBUG_FG_RED		= 0x0001,
+;;   GST_DEBUG_FG_GREEN		= 0x0002,
+;;   GST_DEBUG_FG_YELLOW		= 0x0003,
+;;   GST_DEBUG_FG_BLUE		= 0x0004,
+;;   GST_DEBUG_FG_MAGENTA		= 0x0005,
+;;   GST_DEBUG_FG_CYAN		= 0x0006,
+;;   GST_DEBUG_FG_WHITE		= 0x0007,
+;;   /* background colors */
+;;   GST_DEBUG_BG_BLACK		= 0x0000,
+;;   GST_DEBUG_BG_RED		= 0x0010,
+;;   GST_DEBUG_BG_GREEN		= 0x0020,
+;;   GST_DEBUG_BG_YELLOW		= 0x0030,
+;;   GST_DEBUG_BG_BLUE		= 0x0040,
+;;   GST_DEBUG_BG_MAGENTA		= 0x0050,
+;;   GST_DEBUG_BG_CYAN		= 0x0060,
+;;   GST_DEBUG_BG_WHITE		= 0x0070,
+;;   /* other formats */
+;;   GST_DEBUG_BOLD		= 0x0100,
+;;   GST_DEBUG_UNDERLINE		= 0x0200
+;; } GstDebugColorFlags;
+
 (define-flags-extended DebugColorFlags
   (in-module "Gst")
   (c-name "GstDebugColorFlags")
@@ -425,6 +749,14 @@
 
 ;; From gstiterator.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_ITERATOR_DONE	= 0,
+;;   GST_ITERATOR_OK	= 1,
+;;   GST_ITERATOR_RESYNC	= 2,
+;;   GST_ITERATOR_ERROR	= 3
+;; } GstIteratorResult;
+
 (define-enum-extended IteratorResult
   (in-module "Gst")
   (c-name "GstIteratorResult")
@@ -436,6 +768,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_ITERATOR_ITEM_SKIP	= 0,
+;;   GST_ITERATOR_ITEM_PASS	= 1,
+;;   GST_ITERATOR_ITEM_END		= 2
+;; } GstIteratorItem;
+
 (define-enum-extended IteratorItem
   (in-module "Gst")
   (c-name "GstIteratorItem")
@@ -448,38 +787,75 @@
 
 ;; From gstmessage.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MESSAGE_UNKNOWN           = 0,
+;;   GST_MESSAGE_EOS               = (1 << 0),
+;;   GST_MESSAGE_ERROR             = (1 << 1),
+;;   GST_MESSAGE_WARNING           = (1 << 2),
+;;   GST_MESSAGE_INFO              = (1 << 3),
+;;   GST_MESSAGE_TAG               = (1 << 4),
+;;   GST_MESSAGE_BUFFERING         = (1 << 5),
+;;   GST_MESSAGE_STATE_CHANGED     = (1 << 6),
+;;   GST_MESSAGE_STATE_DIRTY       = (1 << 7),
+;;   GST_MESSAGE_STEP_DONE         = (1 << 8),
+;;   GST_MESSAGE_CLOCK_PROVIDE     = (1 << 9),
+;;   GST_MESSAGE_CLOCK_LOST        = (1 << 10),
+;;   GST_MESSAGE_NEW_CLOCK         = (1 << 11),
+;;   GST_MESSAGE_STRUCTURE_CHANGE  = (1 << 12),
+;;   GST_MESSAGE_STREAM_STATUS     = (1 << 13),
+;;   GST_MESSAGE_APPLICATION       = (1 << 14),
+;;   GST_MESSAGE_ELEMENT           = (1 << 15),
+;;   GST_MESSAGE_SEGMENT_START     = (1 << 16),
+;;   GST_MESSAGE_SEGMENT_DONE      = (1 << 17),
+;;   GST_MESSAGE_DURATION          = (1 << 18),
+;;   GST_MESSAGE_LATENCY           = (1 << 19),
+;;   GST_MESSAGE_ASYNC_START       = (1 << 20),
+;;   GST_MESSAGE_ASYNC_DONE        = (1 << 21),
+;;   GST_MESSAGE_REQUEST_STATE     = (1 << 22),
+;;   GST_MESSAGE_STEP_START        = (1 << 23),
+;;   GST_MESSAGE_ANY               = ~0
+;; } GstMessageType;
+
 (define-flags-extended MessageType
   (in-module "Gst")
   (c-name "GstMessageType")
   (values
-    '("unknown" "GST_MESSAGE_UNKNOWN" "0")
-    '("eos" "GST_MESSAGE_EOS" "1 << 0")
-    '("error" "GST_MESSAGE_ERROR" "1 << 1")
-    '("warning" "GST_MESSAGE_WARNING" "1 << 2")
-    '("info" "GST_MESSAGE_INFO" "1 << 3")
-    '("tag" "GST_MESSAGE_TAG" "1 << 4")
-    '("buffering" "GST_MESSAGE_BUFFERING" "1 << 5")
-    '("state-changed" "GST_MESSAGE_STATE_CHANGED" "1 << 6")
-    '("state-dirty" "GST_MESSAGE_STATE_DIRTY" "1 << 7")
-    '("step-done" "GST_MESSAGE_STEP_DONE" "1 << 8")
-    '("clock-provide" "GST_MESSAGE_CLOCK_PROVIDE" "1 << 9")
-    '("clock-lost" "GST_MESSAGE_CLOCK_LOST" "1 << 10")
-    '("new-clock" "GST_MESSAGE_NEW_CLOCK" "1 << 11")
-    '("structure-change" "GST_MESSAGE_STRUCTURE_CHANGE" "1 << 12")
-    '("stream-status" "GST_MESSAGE_STREAM_STATUS" "1 << 13")
-    '("application" "GST_MESSAGE_APPLICATION" "1 << 14")
-    '("element" "GST_MESSAGE_ELEMENT" "1 << 15")
-    '("segment-start" "GST_MESSAGE_SEGMENT_START" "1 << 16")
-    '("segment-done" "GST_MESSAGE_SEGMENT_DONE" "1 << 17")
-    '("duration" "GST_MESSAGE_DURATION" "1 << 18")
-    '("latency" "GST_MESSAGE_LATENCY" "1 << 19")
-    '("async-start" "GST_MESSAGE_ASYNC_START" "1 << 20")
-    '("async-done" "GST_MESSAGE_ASYNC_DONE" "1 << 21")
-    '("request-state" "GST_MESSAGE_REQUEST_STATE" "1 << 22")
-    '("step-start" "GST_MESSAGE_STEP_START" "1 << 23")
-    '("any" "GST_MESSAGE_ANY" "~0")
-  )
-)
+    '("unknown" "GST_MESSAGE_UNKNOWN" "0x0")
+    '("eos" "GST_MESSAGE_EOS" "(1 << 0)")
+    '("error" "GST_MESSAGE_ERROR" "(1 << 1)")
+    '("warning" "GST_MESSAGE_WARNING" "(1 << 2)")
+    '("info" "GST_MESSAGE_INFO" "(1 << 3)")
+    '("tag" "GST_MESSAGE_TAG" "(1 << 4)")
+    '("buffering" "GST_MESSAGE_BUFFERING" "(1 << 5)")
+    '("state-changed" "GST_MESSAGE_STATE_CHANGED" "(1 << 6)")
+    '("state-dirty" "GST_MESSAGE_STATE_DIRTY" "(1 << 7)")
+    '("step-done" "GST_MESSAGE_STEP_DONE" "(1 << 8)")
+    '("clock-provide" "GST_MESSAGE_CLOCK_PROVIDE" "(1 << 9)")
+    '("clock-lost" "GST_MESSAGE_CLOCK_LOST" "(1 << 10)")
+    '("new-clock" "GST_MESSAGE_NEW_CLOCK" "(1 << 11)")
+    '("structure-change" "GST_MESSAGE_STRUCTURE_CHANGE" "(1 << 12)")
+    '("stream-status" "GST_MESSAGE_STREAM_STATUS" "(1 << 13)")
+    '("application" "GST_MESSAGE_APPLICATION" "(1 << 14)")
+    '("element" "GST_MESSAGE_ELEMENT" "(1 << 15)")
+    '("segment-start" "GST_MESSAGE_SEGMENT_START" "(1 << 16)")
+    '("segment-done" "GST_MESSAGE_SEGMENT_DONE" "(1 << 17)")
+    '("duration" "GST_MESSAGE_DURATION" "(1 << 18)")
+    '("latency" "GST_MESSAGE_LATENCY" "(1 << 19)")
+    '("async-start" "GST_MESSAGE_ASYNC_START" "(1 << 20)")
+    '("async-done" "GST_MESSAGE_ASYNC_DONE" "(1 << 21)")
+    '("request-state" "GST_MESSAGE_REQUEST_STATE" "(1 << 22)")
+    '("step-start" "GST_MESSAGE_STEP_START" "(1 << 23)")
+    '("any" "GST_MESSAGE_ANY" "0x0")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_STRUCTURE_CHANGE_TYPE_PAD_LINK   = 0,
+;;   GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK = 1
+;; } GstStructureChangeType;
 
 (define-enum-extended StructureChangeType
   (in-module "Gst")
@@ -490,6 +866,18 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_STREAM_STATUS_TYPE_CREATE   = 0,
+;;   GST_STREAM_STATUS_TYPE_ENTER    = 1,
+;;   GST_STREAM_STATUS_TYPE_LEAVE    = 2,
+;;   GST_STREAM_STATUS_TYPE_DESTROY  = 3,
+;; 
+;;   GST_STREAM_STATUS_TYPE_START    = 8,
+;;   GST_STREAM_STATUS_TYPE_PAUSE    = 9,
+;;   GST_STREAM_STATUS_TYPE_STOP     = 10
+;; } GstStreamStatusType;
+
 (define-enum-extended StreamStatusType
   (in-module "Gst")
   (c-name "GstStreamStatusType")
@@ -506,29 +894,57 @@
 
 ;; From gstminiobject.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MINI_OBJECT_FLAG_READONLY = (1<<0),
+;;   /* padding */
+;;   GST_MINI_OBJECT_FLAG_LAST = (1<<4)
+;; } GstMiniObjectFlags;
+
 (define-flags-extended MiniObjectFlags
   (in-module "Gst")
   (c-name "GstMiniObjectFlags")
   (values
-    '("readonly" "GST_MINI_OBJECT_FLAG_READONLY" "1<<0")
-    '("last" "GST_MINI_OBJECT_FLAG_LAST" "1<<4")
+    '("readonly" "GST_MINI_OBJECT_FLAG_READONLY" "(1<<0)")
+    '("last" "GST_MINI_OBJECT_FLAG_LAST" "(1<<4)")
   )
 )
 
 ;; From gstobject.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_OBJECT_DISPOSING = (1<<0),
+;;   GST_OBJECT_FLOATING = (1<<1),
+;;   /* padding */
+;;   GST_OBJECT_FLAG_LAST = (1<<4)
+;; } GstObjectFlags;
+
 (define-flags-extended ObjectFlags
   (in-module "Gst")
   (c-name "GstObjectFlags")
   (values
-    '("disposing" "GST_OBJECT_DISPOSING" "1<<0")
-    '("floating" "GST_OBJECT_FLOATING" "1<<1")
-    '("flag-last" "GST_OBJECT_FLAG_LAST" "1<<4")
+    '("disposing" "GST_OBJECT_DISPOSING" "(1<<0)")
+    '("floating" "GST_OBJECT_FLOATING" "(1<<1)")
+    '("flag-last" "GST_OBJECT_FLAG_LAST" "(1<<4)")
   )
 )
 
 ;; From gstpad.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_PAD_LINK_OK               =  0,
+;;   GST_PAD_LINK_WRONG_HIERARCHY  = -1,
+;;   GST_PAD_LINK_WAS_LINKED       = -2,
+;;   GST_PAD_LINK_WRONG_DIRECTION  = -3,
+;;   GST_PAD_LINK_NOFORMAT         = -4,
+;;   GST_PAD_LINK_NOSCHED          = -5,
+;;   GST_PAD_LINK_REFUSED          = -6
+;; } GstPadLinkReturn;
+
 (define-enum-extended PadLinkReturn
   (in-module "Gst")
   (c-name "GstPadLinkReturn")
@@ -543,6 +959,27 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   /* custom success starts here */
+;;   GST_FLOW_CUSTOM_SUCCESS = 100,
+;; 
+;;   /* core predefined */
+;;   GST_FLOW_RESEND	  =  1,
+;;   GST_FLOW_OK		  =  0,
+;;   /* expected failures */
+;;   GST_FLOW_NOT_LINKED     = -1,
+;;   GST_FLOW_WRONG_STATE    = -2,
+;;   /* error cases */
+;;   GST_FLOW_UNEXPECTED     = -3,
+;;   GST_FLOW_NOT_NEGOTIATED = -4,
+;;   GST_FLOW_ERROR	  = -5,
+;;   GST_FLOW_NOT_SUPPORTED  = -6,
+;; 
+;;   /* custom error starts here */
+;;   GST_FLOW_CUSTOM_ERROR   = -100
+;; } GstFlowReturn;
+
 (define-enum-extended FlowReturn
   (in-module "Gst")
   (c-name "GstFlowReturn")
@@ -560,6 +997,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_ACTIVATE_NONE,
+;;   GST_ACTIVATE_PUSH,
+;;   GST_ACTIVATE_PULL
+;; } GstActivateMode;
+
 (define-enum-extended ActivateMode
   (in-module "Gst")
   (c-name "GstActivateMode")
@@ -570,6 +1014,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_PAD_UNKNOWN,
+;;   GST_PAD_SRC,
+;;   GST_PAD_SINK
+;; } GstPadDirection;
+
 (define-enum-extended PadDirection
   (in-module "Gst")
   (c-name "GstPadDirection")
@@ -580,21 +1031,39 @@
   )
 )
 
-(define-enum-extended PadFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_PAD_BLOCKED       = (GST_OBJECT_FLAG_LAST << 0),
+;;   GST_PAD_FLUSHING      = (GST_OBJECT_FLAG_LAST << 1),
+;;   GST_PAD_IN_GETCAPS    = (GST_OBJECT_FLAG_LAST << 2),
+;;   GST_PAD_IN_SETCAPS    = (GST_OBJECT_FLAG_LAST << 3),
+;;   GST_PAD_BLOCKING	= (GST_OBJECT_FLAG_LAST << 4),
+;;   /* padding */
+;;   GST_PAD_FLAG_LAST     = (GST_OBJECT_FLAG_LAST << 8)
+;; } GstPadFlags;
+
+(define-flags-extended PadFlags
   (in-module "Gst")
   (c-name "GstPadFlags")
   (values
-    '("blocked" "GST_PAD_BLOCKED" "GST_OBJECT_FLAG_LAST << 0")
-    '("flushing" "GST_PAD_FLUSHING" "GST_OBJECT_FLAG_LAST << 1")
-    '("in-getcaps" "GST_PAD_IN_GETCAPS" "GST_OBJECT_FLAG_LAST << 2")
-    '("in_setcaps" "GST_PAD_IN_SETCAPS" "GST_OBJECT_FLAG_LAST << 3")
-    '("blocking" "GST_PAD_BLOCKING" "GST_OBJECT_FLAG_LAST << 4")
-    '("last" "GST_PAD_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 8")
+    '("blocked" "GST_PAD_BLOCKED" "0x10")
+    '("flushing" "GST_PAD_FLUSHING" "0x20")
+    '("in-getcaps" "GST_PAD_IN_GETCAPS" "0x40")
+    '("in-setcaps" "GST_PAD_IN_SETCAPS" "0x80")
+    '("blocking" "GST_PAD_BLOCKING" "0x100")
+    '("flag-last" "GST_PAD_FLAG_LAST" "0x1000")
   )
 )
 
 ;; From gstpadtemplate.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_PAD_ALWAYS,
+;;   GST_PAD_SOMETIMES,
+;;   GST_PAD_REQUEST
+;; } GstPadPresence;
+
 (define-enum-extended PadPresence
   (in-module "Gst")
   (c-name "GstPadPresence")
@@ -605,17 +1074,36 @@
   )
 )
 
-(define-enum-extended PadTemplateFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_PAD_TEMPLATE_FIXED        = (GST_OBJECT_FLAG_LAST << 0),
+;;   /* padding */
+;;   GST_PAD_TEMPLATE_FLAG_LAST    = (GST_OBJECT_FLAG_LAST << 4)
+;; } GstPadTemplateFlags;
+
+(define-flags-extended PadTemplateFlags
   (in-module "Gst")
   (c-name "GstPadTemplateFlags")
   (values
-    '("fixed" "GST_PAD_TEMPLATE_FIXED" "GST_OBJECT_FLAG_LAST << 0")
-    '("last" "GST_PAD_TEMPLATE_LAST" "GST_OBJECT_FLAG_LAST << 4")
+    '("fixed" "GST_PAD_TEMPLATE_FIXED" "0x10")
+    '("flag-last" "GST_PAD_TEMPLATE_FLAG_LAST" "0x100")
   )
 )
 
 ;; From gstparse.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PARSE_ERROR_SYNTAX,
+;;   GST_PARSE_ERROR_NO_SUCH_ELEMENT,
+;;   GST_PARSE_ERROR_NO_SUCH_PROPERTY,
+;;   GST_PARSE_ERROR_LINK,
+;;   GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY,
+;;   GST_PARSE_ERROR_EMPTY_BIN,
+;;   GST_PARSE_ERROR_EMPTY
+;; } GstParseError;
+
 (define-enum-extended ParseError
   (in-module "Gst")
   (c-name "GstParseError")
@@ -630,26 +1118,50 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PARSE_FLAG_NONE = 0,
+;;   GST_PARSE_FLAG_FATAL_ERRORS = (1 << 0)
+;; } GstParseFlags;
+
 (define-flags-extended ParseFlags
   (in-module "Gst")
   (c-name "GstParseFlags")
   (values
-    '("none" "GST_PARSE_FLAG_NONE" "0")
-    '("fatal-errors" "GST_PARSE_FLAG_FATAL_ERRORS" "1 << 0")
+    '("none" "GST_PARSE_FLAG_NONE" "0x0")
+    '("fatal-errors" "GST_PARSE_FLAG_FATAL_ERRORS" "(1 << 0)")
   )
 )
 
 ;; From gstpipeline.h
 
-(define-enum-extended PipelineFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_PIPELINE_FLAG_FIXED_CLOCK        = (GST_BIN_FLAG_LAST << 0),
+;;   /* padding */
+;;   GST_PIPELINE_FLAG_LAST               = (GST_BIN_FLAG_LAST << 4)
+;; } GstPipelineFlags;
+
+(define-flags-extended PipelineFlags
   (in-module "Gst")
   (c-name "GstPipelineFlags")
   (values
+    '("fixed-clock" "GST_PIPELINE_FLAG_FIXED_CLOCK" "(((GST_ELEMENT_FLAG_LAST << 5)) << 0)")
+    '("last" "GST_PIPELINE_FLAG_LAST" "(((GST_ELEMENT_FLAG_LAST << 5)) << 4)")
   )
 )
 
 ;; From gstpluginfeature.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RANK_NONE                 = 0,
+;;   GST_RANK_MARGINAL             = 64,
+;;   GST_RANK_SECONDARY            = 128,
+;;   GST_RANK_PRIMARY              = 256
+;; } GstRank;
+
 (define-enum-extended Rank
   (in-module "Gst")
   (c-name "GstRank")
@@ -663,6 +1175,14 @@
 
 ;; From gstplugin.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PLUGIN_ERROR_MODULE,
+;;   GST_PLUGIN_ERROR_DEPENDENCIES,
+;;   GST_PLUGIN_ERROR_NAME_MISMATCH
+;; } GstPluginError;
+
 (define-enum-extended PluginError
   (in-module "Gst")
   (c-name "GstPluginError")
@@ -673,28 +1193,143 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_PLUGIN_FLAG_CACHED = (1<<0),
+;;   GST_PLUGIN_FLAG_BLACKLISTED = (1<<1)
+;; } GstPluginFlags;
+
 (define-flags-extended PluginFlags
   (in-module "Gst")
   (c-name "GstPluginFlags")
   (values
-    '("cached" "GST_PLUGIN_FLAG_CACHED" "1<<0")
-    '("blacklisted" "GST_PLUGIN_FLAG_BLACKLISTED" "1<<1")
+    '("cached" "GST_PLUGIN_FLAG_CACHED" "(1<<0)")
+    '("blacklisted" "GST_PLUGIN_FLAG_BLACKLISTED" "(1<<1)")
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_PLUGIN_DEPENDENCY_FLAG_NONE = 0,
+;;   GST_PLUGIN_DEPENDENCY_FLAG_RECURSE = (1 << 0),
+;;   GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY = (1 << 1),
+;;   GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX = (1 << 2)
+;; } GstPluginDependencyFlags;
+
 (define-flags-extended PluginDependencyFlags
   (in-module "Gst")
   (c-name "GstPluginDependencyFlags")
   (values
-    '("none" "GST_PLUGIN_DEPENDENCY_FLAG_NONE" "0")
-    '("recurse" "GST_PLUGIN_DEPENDENCY_FLAG_RECURSE" "1 << 0")
-    '("paths-are-default-only" "GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY" "1 << 1")
-    '("file-name-is-suffix" "GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX" "1 << 2")
+    '("none" "GST_PLUGIN_DEPENDENCY_FLAG_NONE" "0x0")
+    '("recurse" "GST_PLUGIN_DEPENDENCY_FLAG_RECURSE" "(1 << 0)")
+    '("paths-are-default-only" "GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY" "(1 << 1)")
+    '("file-name-is-suffix" "GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX" "(1 << 2)")
   )
 )
 
 ;; From gstquark.h
 
+;; Original typedef:
+;; typedef enum _GstQuarkId
+;; {
+;;   GST_QUARK_FORMAT = 0,
+;;   GST_QUARK_CURRENT = 1,
+;;   GST_QUARK_DURATION = 2,
+;;   GST_QUARK_RATE = 3,
+;;   GST_QUARK_SEEKABLE = 4,
+;;   GST_QUARK_SEGMENT_START = 5,
+;;   GST_QUARK_SEGMENT_END = 6,
+;;   GST_QUARK_SRC_FORMAT = 7,
+;;   GST_QUARK_SRC_VALUE = 8,
+;;   GST_QUARK_DEST_FORMAT = 9,
+;;   GST_QUARK_DEST_VALUE = 10,
+;;   GST_QUARK_START_FORMAT = 11,
+;;   GST_QUARK_START_VALUE = 12,
+;;   GST_QUARK_STOP_FORMAT = 13,
+;;   GST_QUARK_STOP_VALUE = 14,
+;;   GST_QUARK_GERROR = 15,
+;;   GST_QUARK_DEBUG = 16,
+;;   GST_QUARK_BUFFER_PERCENT = 17,
+;;   GST_QUARK_BUFFERING_MODE = 18,
+;;   GST_QUARK_AVG_IN_RATE = 19,
+;;   GST_QUARK_AVG_OUT_RATE = 20,
+;;   GST_QUARK_BUFFERING_LEFT = 21,
+;;   GST_QUARK_ESTIMATED_TOTAL = 22,
+;;   GST_QUARK_OLD_STATE = 23,
+;;   GST_QUARK_NEW_STATE = 24,
+;;   GST_QUARK_PENDING_STATE = 25,
+;;   GST_QUARK_CLOCK = 26,
+;;   GST_QUARK_READY = 27,
+;;   GST_QUARK_POSITION = 28,
+;;   GST_QUARK_NEW_BASE_TIME = 29,
+;;   GST_QUARK_LIVE = 30,
+;;   GST_QUARK_MIN_LATENCY = 31,
+;;   GST_QUARK_MAX_LATENCY = 32,
+;;   GST_QUARK_BUSY = 33,
+;;   GST_QUARK_TYPE = 34,
+;;   GST_QUARK_OWNER = 35,
+;;   GST_QUARK_UPDATE = 36,
+;;   GST_QUARK_APPLIED_RATE = 37,
+;;   GST_QUARK_START = 38,
+;;   GST_QUARK_STOP = 39,
+;;   GST_QUARK_MINSIZE = 40,
+;;   GST_QUARK_MAXSIZE = 41,
+;;   GST_QUARK_ASYNC = 42,
+;;   GST_QUARK_PROPORTION = 43,
+;;   GST_QUARK_DIFF = 44,
+;;   GST_QUARK_TIMESTAMP = 45,
+;;   GST_QUARK_FLAGS = 46,
+;;   GST_QUARK_CUR_TYPE = 47,
+;;   GST_QUARK_CUR = 48,
+;;   GST_QUARK_STOP_TYPE = 49,
+;;   GST_QUARK_LATENCY = 50,
+;;   GST_QUARK_URI = 51,
+;;   GST_QUARK_OBJECT = 52,
+;;   GST_QUARK_TAGLIST = 53,
+;;   GST_QUARK_EVENT_NEWSEGMENT = 54,
+;;   GST_QUARK_EVENT_BUFFER_SIZE = 55,
+;;   GST_QUARK_EVENT_QOS = 56,
+;;   GST_QUARK_EVENT_SEEK = 57,
+;;   GST_QUARK_EVENT_LATENCY = 58,
+;;   GST_QUARK_MESSAGE_ERROR = 59,
+;;   GST_QUARK_MESSAGE_WARNING = 60,
+;;   GST_QUARK_MESSAGE_INFO = 61,
+;;   GST_QUARK_MESSAGE_BUFFERING = 62,
+;;   GST_QUARK_MESSAGE_STATE = 63,
+;;   GST_QUARK_MESSAGE_CLOCK_PROVIDE = 64,
+;;   GST_QUARK_MESSAGE_CLOCK_LOST = 65,
+;;   GST_QUARK_MESSAGE_NEW_CLOCK = 66,
+;;   GST_QUARK_MESSAGE_STRUCTURE_CHANGE = 67,
+;;   GST_QUARK_MESSAGE_SEGMENT_START = 68,
+;;   GST_QUARK_MESSAGE_SEGMENT_DONE = 69,
+;;   GST_QUARK_MESSAGE_DURATION = 70,
+;;   GST_QUARK_MESSAGE_ASYNC_START = 71,
+;;   GST_QUARK_MESSAGE_REQUEST_STATE = 72,
+;;   GST_QUARK_MESSAGE_STREAM_STATUS = 73,
+;;   GST_QUARK_QUERY_POSITION = 74,
+;;   GST_QUARK_QUERY_DURATION = 75,
+;;   GST_QUARK_QUERY_LATENCY = 76,
+;;   GST_QUARK_QUERY_CONVERT = 77,
+;;   GST_QUARK_QUERY_SEGMENT = 78,
+;;   GST_QUARK_QUERY_SEEKING = 79,
+;;   GST_QUARK_QUERY_FORMATS = 80,
+;;   GST_QUARK_QUERY_BUFFERING = 81,
+;;   GST_QUARK_QUERY_URI = 82,
+;;   GST_QUARK_EVENT_STEP = 83,
+;;   GST_QUARK_MESSAGE_STEP_DONE = 84,
+;;   GST_QUARK_AMOUNT = 85,
+;;   GST_QUARK_FLUSH = 86,
+;;   GST_QUARK_INTERMEDIATE = 87,
+;;   GST_QUARK_MESSAGE_STEP_START = 88,
+;;   GST_QUARK_ACTIVE = 89,
+;;   GST_QUARK_EOS = 90,
+;;   GST_QUARK_EVENT_SINK_MESSAGE = 91,
+;;   GST_QUARK_MESSAGE = 92,
+;; 
+;;   GST_QUARK_MAX = 93
+;; } GstQuarkId;
+
 (define-enum-extended QuarkId
   (in-module "Gst")
   (c-name "GstQuarkId")
@@ -798,6 +1433,23 @@
 
 ;; From gstquery.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_QUERY_NONE = 0,
+;;   GST_QUERY_POSITION,
+;;   GST_QUERY_DURATION,
+;;   GST_QUERY_LATENCY,
+;;   GST_QUERY_JITTER,     /* not in draft-query, necessary? */
+;;   GST_QUERY_RATE,
+;;   GST_QUERY_SEEKING,
+;;   GST_QUERY_SEGMENT,
+;;   GST_QUERY_CONVERT,
+;;   GST_QUERY_FORMATS,
+;;   GST_QUERY_BUFFERING,
+;;   GST_QUERY_CUSTOM,
+;;   GST_QUERY_URI
+;; } GstQueryType;
+
 (define-enum-extended QueryType
   (in-module "Gst")
   (c-name "GstQueryType")
@@ -818,6 +1470,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_BUFFERING_STREAM,
+;;   GST_BUFFERING_DOWNLOAD,
+;;   GST_BUFFERING_TIMESHIFT,
+;;   GST_BUFFERING_LIVE
+;; } GstBufferingMode;
+
 (define-enum-extended BufferingMode
   (in-module "Gst")
   (c-name "GstBufferingMode")
@@ -831,6 +1491,12 @@
 
 ;; From gstsystemclock.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_CLOCK_TYPE_REALTIME       = 0,
+;;   GST_CLOCK_TYPE_MONOTONIC      = 1
+;; } GstClockType;
+
 (define-enum-extended ClockType
   (in-module "Gst")
   (c-name "GstClockType")
@@ -842,6 +1508,19 @@
 
 ;; From gsttaglist.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TAG_MERGE_UNDEFINED,
+;;   GST_TAG_MERGE_REPLACE_ALL,
+;;   GST_TAG_MERGE_REPLACE,
+;;   GST_TAG_MERGE_APPEND,
+;;   GST_TAG_MERGE_PREPEND,
+;;   GST_TAG_MERGE_KEEP,
+;;   GST_TAG_MERGE_KEEP_ALL,
+;;   /* add more */
+;;   GST_TAG_MERGE_COUNT
+;; } GstTagMergeMode;
+
 (define-enum-extended TagMergeMode
   (in-module "Gst")
   (c-name "GstTagMergeMode")
@@ -857,6 +1536,15 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TAG_FLAG_UNDEFINED,
+;;   GST_TAG_FLAG_META,
+;;   GST_TAG_FLAG_ENCODED,
+;;   GST_TAG_FLAG_DECODED,
+;;   GST_TAG_FLAG_COUNT
+;; } GstTagFlag;
+
 (define-enum-extended TagFlag
   (in-module "Gst")
   (c-name "GstTagFlag")
@@ -871,6 +1559,13 @@
 
 ;; From gsttask.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TASK_STARTED,
+;;   GST_TASK_STOPPED,
+;;   GST_TASK_PAUSED
+;; } GstTaskState;
+
 (define-enum-extended TaskState
   (in-module "Gst")
   (c-name "GstTaskState")
@@ -883,17 +1578,32 @@
 
 ;; From gsttrace.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_ALLOC_TRACE_LIVE		= (1 << 0),
+;;   GST_ALLOC_TRACE_MEM_LIVE	= (1 << 1)
+;; } GstAllocTraceFlags;
+
 (define-flags-extended AllocTraceFlags
   (in-module "Gst")
   (c-name "GstAllocTraceFlags")
   (values
-    '("live" "GST_ALLOC_TRACE_LIVE" "1 << 0")
-    '("mem-live" "GST_ALLOC_TRACE_MEM_LIVE" "1 << 1")
+    '("live" "GST_ALLOC_TRACE_LIVE" "(1 << 0)")
+    '("mem-live" "GST_ALLOC_TRACE_MEM_LIVE" "(1 << 1)")
   )
 )
 
 ;; From gsttypefind.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TYPE_FIND_MINIMUM = 1,
+;;   GST_TYPE_FIND_POSSIBLE = 50,
+;;   GST_TYPE_FIND_LIKELY = 80,
+;;   GST_TYPE_FIND_NEARLY_CERTAIN = 99,
+;;   GST_TYPE_FIND_MAXIMUM = 100
+;; } GstTypeFindProbability;
+
 (define-enum-extended TypeFindProbability
   (in-module "Gst")
   (c-name "GstTypeFindProbability")
@@ -908,6 +1618,13 @@
 
 ;; From gsturi.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_URI_UNKNOWN,
+;;   GST_URI_SINK,
+;;   GST_URI_SRC
+;; } GstURIType;
+
 (define-enum-extended URIType
   (in-module "Gst")
   (c-name "GstURIType")
@@ -920,6 +1637,13 @@
 
 ;; From gstutils.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_SEARCH_MODE_EXACT = 0,
+;;   GST_SEARCH_MODE_BEFORE,
+;;   GST_SEARCH_MODE_AFTER
+;; } GstSearchMode;
+
 (define-enum-extended SearchMode
   (in-module "Gst")
   (c-name "GstSearchMode")
@@ -932,15 +1656,35 @@
 
 ;; From gstbasesrc.h
 
-(define-enum-extended BaseSrcFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_BASE_SRC_STARTED           = (GST_ELEMENT_FLAG_LAST << 0),
+;;   /* padding */
+;;   GST_BASE_SRC_FLAG_LAST         = (GST_ELEMENT_FLAG_LAST << 2)
+;; } GstBaseSrcFlags;
+
+(define-flags-extended BaseSrcFlags
   (in-module "Gst")
   (c-name "GstBaseSrcFlags")
   (values
+    '("started" "GST_BASE_SRC_STARTED" "(((GST_OBJECT_FLAG_LAST << 16)) << 0)")
+    '("flag-last" "GST_BASE_SRC_FLAG_LAST" "(((GST_OBJECT_FLAG_LAST << 16)) << 2)")
   )
 )
 
 ;; From gstinterpolationcontrolsource.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_INTERPOLATE_NONE,
+;;   GST_INTERPOLATE_TRIGGER,
+;;   GST_INTERPOLATE_LINEAR,
+;;   GST_INTERPOLATE_QUADRATIC,
+;;   GST_INTERPOLATE_CUBIC,
+;;   GST_INTERPOLATE_USER
+;; } GstInterpolateMode;
+
 (define-enum-extended InterpolateMode
   (in-module "Gst")
   (c-name "GstInterpolateMode")
@@ -956,6 +1700,16 @@
 
 ;; From gstlfocontrolsource.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_LFO_WAVEFORM_SINE,
+;;   GST_LFO_WAVEFORM_SQUARE,
+;;   GST_LFO_WAVEFORM_SAW,
+;;   GST_LFO_WAVEFORM_REVERSE_SAW,
+;;   GST_LFO_WAVEFORM_TRIANGLE
+;; } GstLFOWaveform;
+
 (define-enum-extended LFOWaveform
   (in-module "Gst")
   (c-name "GstLFOWaveform")
@@ -970,6 +1724,12 @@
 
 ;; From dataprotocol.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_DP_VERSION_0_2 = 1,
+;;   GST_DP_VERSION_1_0,
+;; } GstDPVersion;
+
 (define-enum-extended DPVersion
   (in-module "Gst")
   (c-name "GstDPVersion")
@@ -979,16 +1739,33 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_DP_HEADER_FLAG_NONE        = 0,
+;;   GST_DP_HEADER_FLAG_CRC_HEADER  = (1 << 0),
+;;   GST_DP_HEADER_FLAG_CRC_PAYLOAD = (1 << 1),
+;;   GST_DP_HEADER_FLAG_CRC         = (1 << 1) | (1 << 0),
+;; } GstDPHeaderFlag;
+
 (define-flags-extended DPHeaderFlag
   (in-module "Gst")
   (c-name "GstDPHeaderFlag")
   (values
-    '("none" "GST_DP_HEADER_FLAG_NONE" "0")
-    '("crc-header" "GST_DP_HEADER_FLAG_CRC_HEADER" "1 << 0")
-    '("crc-payload" "GST_DP_HEADER_FLAG_CRC_PAYLOAD" "1 << 1")
+    '("none" "GST_DP_HEADER_FLAG_NONE" "0x0")
+    '("crc-header" "GST_DP_HEADER_FLAG_CRC_HEADER" "(1 << 0)")
+    '("crc-payload" "GST_DP_HEADER_FLAG_CRC_PAYLOAD" "(1 << 1)")
+    '("crc" "GST_DP_HEADER_FLAG_CRC" "(1 << 1) | (1 << 0)")
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_DP_PAYLOAD_NONE            = 0,
+;;   GST_DP_PAYLOAD_BUFFER,
+;;   GST_DP_PAYLOAD_CAPS,
+;;   GST_DP_PAYLOAD_EVENT_NONE      = 64,
+;; } GstDPPayloadType;
+
 (define-enum-extended DPPayloadType
   (in-module "Gst")
   (c-name "GstDPPayloadType")
@@ -1002,6 +1779,17 @@
 
 ;; From gstfakesink.h
 
+;; Original typedef:
+;; typedef enum {
+;;   FAKE_SINK_STATE_ERROR_NONE = 0,
+;;   FAKE_SINK_STATE_ERROR_NULL_READY,
+;;   FAKE_SINK_STATE_ERROR_READY_PAUSED,
+;;   FAKE_SINK_STATE_ERROR_PAUSED_PLAYING,
+;;   FAKE_SINK_STATE_ERROR_PLAYING_PAUSED,
+;;   FAKE_SINK_STATE_ERROR_PAUSED_READY,
+;;   FAKE_SINK_STATE_ERROR_READY_NULL
+;; } GstFakeSinkStateError;
+
 (define-enum-extended FakeSinkStateError
   (in-module "Gst")
   (c-name "GstFakeSinkStateError")
@@ -1018,6 +1806,18 @@
 
 ;; From gstfakesrc.h
 
+;; Original typedef:
+;; typedef enum {
+;;   FAKE_SRC_FIRST_LAST_LOOP = 1,
+;;   FAKE_SRC_LAST_FIRST_LOOP,
+;;   FAKE_SRC_PING_PONG,
+;;   FAKE_SRC_ORDERED_RANDOM,
+;;   FAKE_SRC_RANDOM,
+;;   FAKE_SRC_PATTERN_LOOP,
+;;   FAKE_SRC_PING_PONG_PATTERN,
+;;   FAKE_SRC_GET_ALWAYS_SUCEEDS
+;; } GstFakeSrcOutputType;
+
 (define-enum-extended FakeSrcOutputType
   (in-module "Gst")
   (c-name "GstFakeSrcOutputType")
@@ -1033,6 +1833,12 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   FAKE_SRC_DATA_ALLOCATE = 1,
+;;   FAKE_SRC_DATA_SUBBUFFER
+;; } GstFakeSrcDataType;
+
 (define-enum-extended FakeSrcDataType
   (in-module "Gst")
   (c-name "GstFakeSrcDataType")
@@ -1042,6 +1848,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   FAKE_SRC_SIZETYPE_EMPTY = 1,
+;;   FAKE_SRC_SIZETYPE_FIXED,
+;;   FAKE_SRC_SIZETYPE_RANDOM
+;; } GstFakeSrcSizeType;
+
 (define-enum-extended FakeSrcSizeType
   (in-module "Gst")
   (c-name "GstFakeSrcSizeType")
@@ -1052,6 +1865,15 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   FAKE_SRC_FILLTYPE_NOTHING = 1,
+;;   FAKE_SRC_FILLTYPE_ZERO,
+;;   FAKE_SRC_FILLTYPE_RANDOM,
+;;   FAKE_SRC_FILLTYPE_PATTERN,
+;;   FAKE_SRC_FILLTYPE_PATTERN_CONT
+;; } GstFakeSrcFillType;
+
 (define-enum-extended FakeSrcFillType
   (in-module "Gst")
   (c-name "GstFakeSrcFillType")
@@ -1078,6 +1900,12 @@
 
 ;; From gsttee.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TEE_PULL_MODE_NEVER,
+;;   GST_TEE_PULL_MODE_SINGLE,
+;; } GstTeePullMode;
+
 (define-enum-extended TeePullMode
   (in-module "Gst")
   (c-name "GstTeePullMode")
@@ -1089,6 +1917,14 @@
 
 ;; From gstappsrc.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_APP_STREAM_TYPE_STREAM,
+;;   GST_APP_STREAM_TYPE_SEEKABLE,
+;;   GST_APP_STREAM_TYPE_RANDOM_ACCESS
+;; } GstAppStreamType;
+
 (define-enum-extended AppStreamType
   (in-module "Gst")
   (c-name "GstAppStreamType")
@@ -1099,6 +1935,31 @@
   )
 )
 
+;; From audio.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_AUDIO_FIELD_RATE          = (1 << 0),
+;;   GST_AUDIO_FIELD_CHANNELS      = (1 << 1),
+;;   GST_AUDIO_FIELD_ENDIANNESS    = (1 << 2),
+;;   GST_AUDIO_FIELD_WIDTH         = (1 << 3),
+;;   GST_AUDIO_FIELD_DEPTH         = (1 << 4),
+;;   GST_AUDIO_FIELD_SIGNED        = (1 << 5)
+;; } GstAudioFieldFlag;
+
+(define-flags-extended AudioFieldFlag
+  (in-module "Gst")
+  (c-name "GstAudioFieldFlag")
+  (values
+    '("rate" "GST_AUDIO_FIELD_RATE" "(1 << 0)")
+    '("channels" "GST_AUDIO_FIELD_CHANNELS" "(1 << 1)")
+    '("endianness" "GST_AUDIO_FIELD_ENDIANNESS" "(1 << 2)")
+    '("width" "GST_AUDIO_FIELD_WIDTH" "(1 << 3)")
+    '("depth" "GST_AUDIO_FIELD_DEPTH" "(1 << 4)")
+    '("signed" "GST_AUDIO_FIELD_SIGNED" "(1 << 5)")
+  )
+)
+
 ;; Handwritten for the queue plug-in (Gst::Queue).
 (define-enum-extended QueueLeaky
   (in-module "Gst")
@@ -1112,6 +1973,14 @@
 
 ;; From gstbaseaudiosink.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE,
+;;   GST_BASE_AUDIO_SINK_SLAVE_SKEW,
+;;   GST_BASE_AUDIO_SINK_SLAVE_NONE
+;; } GstBaseAudioSinkSlaveMethod;
+
 (define-enum-extended BaseAudioSinkSlaveMethod
   (in-module "Gst")
   (c-name "GstBaseAudioSinkSlaveMethod")
@@ -1124,6 +1993,15 @@
 
 ;; From gstbaseaudiosrc.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_BASE_AUDIO_SRC_SLAVE_RESAMPLE,
+;;   GST_BASE_AUDIO_SRC_SLAVE_RETIMESTAMP,
+;;   GST_BASE_AUDIO_SRC_SLAVE_SKEW,
+;;   GST_BASE_AUDIO_SRC_SLAVE_NONE
+;; } GstBaseAudioSrcSlaveMethod;
+
 (define-enum-extended BaseAudioSrcSlaveMethod
   (in-module "Gst")
   (c-name "GstBaseAudioSrcSlaveMethod")
@@ -1137,6 +2015,13 @@
 
 ;; From gstringbuffer.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RING_BUFFER_STATE_STOPPED,
+;;   GST_RING_BUFFER_STATE_PAUSED,
+;;   GST_RING_BUFFER_STATE_STARTED
+;; } GstRingBufferState;
+
 (define-enum-extended RingBufferState
   (in-module "Gst")
   (c-name "GstRingBufferState")
@@ -1147,6 +2032,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_SEGSTATE_INVALID,
+;;   GST_SEGSTATE_EMPTY,
+;;   GST_SEGSTATE_FILLED,
+;;   GST_SEGSTATE_PARTIAL
+;; } GstRingBufferSegState;
+
 (define-enum-extended RingBufferSegState
   (in-module "Gst")
   (c-name "GstRingBufferSegState")
@@ -1158,6 +2051,22 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_BUFTYPE_LINEAR,
+;;   GST_BUFTYPE_FLOAT,
+;;   GST_BUFTYPE_MU_LAW,
+;;   GST_BUFTYPE_A_LAW,
+;;   GST_BUFTYPE_IMA_ADPCM,
+;;   GST_BUFTYPE_MPEG,
+;;   GST_BUFTYPE_GSM,
+;;   GST_BUFTYPE_IEC958,
+;;   GST_BUFTYPE_AC3,
+;;   GST_BUFTYPE_EAC3,
+;;   GST_BUFTYPE_DTS
+;; } GstBufferFormatType;
+
 (define-enum-extended BufferFormatType
   (in-module "Gst")
   (c-name "GstBufferFormatType")
@@ -1176,6 +2085,59 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_UNKNOWN,
+;; 
+;;   GST_S8,
+;;   GST_U8,
+;; 
+;;   GST_S16_LE,
+;;   GST_S16_BE,
+;;   GST_U16_LE,
+;;   GST_U16_BE,
+;; 
+;;   GST_S24_LE,
+;;   GST_S24_BE,
+;;   GST_U24_LE,
+;;   GST_U24_BE,
+;; 
+;;   GST_S32_LE,
+;;   GST_S32_BE,
+;;   GST_U32_LE,
+;;   GST_U32_BE,
+;; 
+;;   GST_S24_3LE,
+;;   GST_S24_3BE,
+;;   GST_U24_3LE,
+;;   GST_U24_3BE,
+;;   GST_S20_3LE,
+;;   GST_S20_3BE,
+;;   GST_U20_3LE,
+;;   GST_U20_3BE,
+;;   GST_S18_3LE,
+;;   GST_S18_3BE,
+;;   GST_U18_3LE,
+;;   GST_U18_3BE,
+;; 
+;;   GST_FLOAT32_LE,
+;;   GST_FLOAT32_BE,
+;; 
+;;   GST_FLOAT64_LE,
+;;   GST_FLOAT64_BE,
+;; 
+;;   GST_MU_LAW,
+;;   GST_A_LAW,
+;;   GST_IMA_ADPCM,
+;;   GST_MPEG,
+;;   GST_GSM,
+;;   GST_IEC958,
+;;   GST_AC3,
+;;   GST_EAC3,
+;;   GST_DTS
+;; } GstBufferFormat;
+
 (define-enum-extended BufferFormat
   (in-module "Gst")
   (c-name "GstBufferFormat")
@@ -1225,6 +2187,42 @@
 
 ;; From multichannel.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_AUDIO_CHANNEL_POSITION_INVALID = -1,
+;; 
+;;   /* Main front speakers. Mono and left/right are mututally exclusive! */
+;;   GST_AUDIO_CHANNEL_POSITION_FRONT_MONO,
+;;   GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+;;   GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+;; 
+;;   /* rear. Left/right and center are mututally exclusive! */
+;;   GST_AUDIO_CHANNEL_POSITION_REAR_CENTER,
+;;   GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
+;;   GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
+;; 
+;;   /* subwoofer/low-frequency */
+;;   GST_AUDIO_CHANNEL_POSITION_LFE,
+;; 
+;;   /* Center front speakers. Center and left/right_of_center cannot be
+;;    * used together! */
+;;   GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+;;   GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER,
+;;   GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER,
+;; 
+;;   /* sides */
+;;   GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
+;;   GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
+;; 
+;;   /* for multi-channel input and output with more than 8 channels,
+;;    * incompatible with all other positions, either all positions
+;;    * are defined or all positions are undefined, but can't mix'n'match  */
+;;   GST_AUDIO_CHANNEL_POSITION_NONE,
+;; 
+;;   /* don't use - counter */
+;;   GST_AUDIO_CHANNEL_POSITION_NUM
+;; } GstAudioChannelPosition;
+
 (define-enum-extended AudioChannelPosition
   (in-module "Gst")
   (c-name "GstAudioChannelPosition")
@@ -1249,6 +2247,12 @@
 
 ;; From gstcddabasesrc.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_CDDA_BASE_SRC_MODE_NORMAL,          /* stream = one track  */
+;;   GST_CDDA_BASE_SRC_MODE_CONTINUOUS       /* stream = whole disc */
+;; } GstCddaBaseSrcMode;
+
 (define-enum-extended CddaBaseSrcMode
   (in-module "Gst")
   (c-name "GstCddaBaseSrcMode")
@@ -1260,6 +2264,16 @@
 
 ;; From gstfft.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_FFT_WINDOW_RECTANGULAR,
+;;   GST_FFT_WINDOW_HAMMING,
+;;   GST_FFT_WINDOW_HANN,
+;;   GST_FFT_WINDOW_BARTLETT,
+;;   GST_FFT_WINDOW_BLACKMAN
+;; } GstFFTWindow;
+
 (define-enum-extended FFTWindow
   (in-module "Gst")
   (c-name "GstFFTWindow")
@@ -1274,6 +2288,13 @@
 
 ;; From colorbalance.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_COLOR_BALANCE_HARDWARE,
+;;   GST_COLOR_BALANCE_SOFTWARE
+;; } GstColorBalanceType;
+
 (define-enum-extended ColorBalanceType
   (in-module "Gst")
   (c-name "GstColorBalanceType")
@@ -1285,6 +2306,13 @@
 
 ;; From mixer.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MIXER_HARDWARE,
+;;   GST_MIXER_SOFTWARE
+;; } GstMixerType;
+
 (define-enum-extended MixerType
   (in-module "Gst")
   (c-name "GstMixerType")
@@ -1294,6 +2322,18 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MIXER_MESSAGE_INVALID,
+;;   GST_MIXER_MESSAGE_MUTE_TOGGLED,
+;;   GST_MIXER_MESSAGE_RECORD_TOGGLED,
+;;   GST_MIXER_MESSAGE_VOLUME_CHANGED,
+;;   GST_MIXER_MESSAGE_OPTION_CHANGED,
+;;   GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED,
+;;   GST_MIXER_MESSAGE_MIXER_CHANGED
+;; } GstMixerMessageType;
+
 (define-enum-extended MixerMessageType
   (in-module "Gst")
   (c-name "GstMixerMessageType")
@@ -1308,39 +2348,85 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_MIXER_FLAG_NONE                = 0,
+;;   GST_MIXER_FLAG_AUTO_NOTIFICATIONS  = (1<<0),
+;;   GST_MIXER_FLAG_HAS_WHITELIST       = (1<<1),
+;;   GST_MIXER_FLAG_GROUPING            = (1<<2),
+;; } GstMixerFlags;
+
 (define-flags-extended MixerFlags
   (in-module "Gst")
   (c-name "GstMixerFlags")
   (values
-    '("none" "GST_MIXER_FLAG_NONE" "0")
-    '("auto-notifications" "GST_MIXER_FLAG_AUTO_NOTIFICATIONS" "1<<0")
-    '("has-whitelist" "GST_MIXER_FLAG_HAS_WHITELIST" "1<<1")
-    '("grouping" "GST_MIXER_FLAG_GROUPING" "1<<2")
+    '("none" "GST_MIXER_FLAG_NONE" "0x0")
+    '("auto-notifications" "GST_MIXER_FLAG_AUTO_NOTIFICATIONS" "(1<<0)")
+    '("has-whitelist" "GST_MIXER_FLAG_HAS_WHITELIST" "(1<<1)")
+    '("grouping" "GST_MIXER_FLAG_GROUPING" "(1<<2)")
   )
 )
 
 ;; From mixertrack.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_MIXER_TRACK_INPUT  = (1<<0),
+;;   GST_MIXER_TRACK_OUTPUT = (1<<1),
+;;   GST_MIXER_TRACK_MUTE   = (1<<2),
+;;   GST_MIXER_TRACK_RECORD = (1<<3),
+;;   GST_MIXER_TRACK_MASTER = (1<<4),
+;;   GST_MIXER_TRACK_SOFTWARE = (1<<5),
+;;   GST_MIXER_TRACK_NO_RECORD = (1<<6),
+;;   GST_MIXER_TRACK_NO_MUTE = (1<<7),
+;;   GST_MIXER_TRACK_WHITELIST = (1<<8),
+;;   GST_MIXER_TRACK_READONLY = (1<<9),
+;;   GST_MIXER_TRACK_WRITEONLY = (1<<10)
+;; } GstMixerTrackFlags;
+
 (define-flags-extended MixerTrackFlags
   (in-module "Gst")
   (c-name "GstMixerTrackFlags")
   (values
-    '("input" "GST_MIXER_TRACK_INPUT" "1<<0")
-    '("output" "GST_MIXER_TRACK_OUTPUT" "1<<1")
-    '("mute" "GST_MIXER_TRACK_MUTE" "1<<2")
-    '("record" "GST_MIXER_TRACK_RECORD" "1<<3")
-    '("master" "GST_MIXER_TRACK_MASTER" "1<<4")
-    '("software" "GST_MIXER_TRACK_SOFTWARE" "1<<5")
-    '("no-record" "GST_MIXER_TRACK_NO_RECORD" "1<<6")
-    '("no-mute" "GST_MIXER_TRACK_NO_MUTE" "1<<7")
-    '("whitelist" "GST_MIXER_TRACK_WHITELIST" "1<<8")
-    '("readonly" "GST_MIXER_TRACK_READONLY" "1<<9")
-    '("writeonly" "GST_MIXER_TRACK_WRITEONLY" "1<<10")
+    '("input" "GST_MIXER_TRACK_INPUT" "(1<<0)")
+    '("output" "GST_MIXER_TRACK_OUTPUT" "(1<<1)")
+    '("mute" "GST_MIXER_TRACK_MUTE" "(1<<2)")
+    '("record" "GST_MIXER_TRACK_RECORD" "(1<<3)")
+    '("master" "GST_MIXER_TRACK_MASTER" "(1<<4)")
+    '("software" "GST_MIXER_TRACK_SOFTWARE" "(1<<5)")
+    '("no-record" "GST_MIXER_TRACK_NO_RECORD" "(1<<6)")
+    '("no-mute" "GST_MIXER_TRACK_NO_MUTE" "(1<<7)")
+    '("whitelist" "GST_MIXER_TRACK_WHITELIST" "(1<<8)")
+    '("readonly" "GST_MIXER_TRACK_READONLY" "(1<<9)")
+    '("writeonly" "GST_MIXER_TRACK_WRITEONLY" "(1<<10)")
   )
 )
 
 ;; From navigation.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_NAVIGATION_COMMAND_INVALID  = 0,
+;; 
+;;   GST_NAVIGATION_COMMAND_MENU1    = 1,
+;;   GST_NAVIGATION_COMMAND_MENU2    = 2,
+;;   GST_NAVIGATION_COMMAND_MENU3    = 3,
+;;   GST_NAVIGATION_COMMAND_MENU4    = 4,
+;;   GST_NAVIGATION_COMMAND_MENU5    = 5,
+;;   GST_NAVIGATION_COMMAND_MENU6    = 6,
+;;   GST_NAVIGATION_COMMAND_MENU7    = 7,
+;;   
+;;   GST_NAVIGATION_COMMAND_LEFT     = 20,
+;;   GST_NAVIGATION_COMMAND_RIGHT    = 21,
+;;   GST_NAVIGATION_COMMAND_UP       = 22,
+;;   GST_NAVIGATION_COMMAND_DOWN     = 23,
+;;   GST_NAVIGATION_COMMAND_ACTIVATE = 24,
+;; 
+;;   GST_NAVIGATION_COMMAND_PREV_ANGLE = 30,
+;;   GST_NAVIGATION_COMMAND_NEXT_ANGLE = 31
+;; } GstNavigationCommand;
+
 (define-enum-extended NavigationCommand
   (in-module "Gst")
   (c-name "GstNavigationCommand")
@@ -1363,6 +2449,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_NAVIGATION_QUERY_INVALID     = 0,
+;;   GST_NAVIGATION_QUERY_COMMANDS    = 1,
+;;   GST_NAVIGATION_QUERY_ANGLES      = 2
+;; } GstNavigationQueryType;
+
 (define-enum-extended NavigationQueryType
   (in-module "Gst")
   (c-name "GstNavigationQueryType")
@@ -1373,6 +2467,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_NAVIGATION_MESSAGE_INVALID,
+;;   GST_NAVIGATION_MESSAGE_MOUSE_OVER,
+;;   GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED,
+;;   GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
+;; } GstNavigationMessageType;
+
 (define-enum-extended NavigationMessageType
   (in-module "Gst")
   (c-name "GstNavigationMessageType")
@@ -1384,6 +2486,17 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_NAVIGATION_EVENT_INVALID                    = 0,
+;;   GST_NAVIGATION_EVENT_KEY_PRESS                  = 1,
+;;   GST_NAVIGATION_EVENT_KEY_RELEASE                = 2,
+;;   GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS         = 3,
+;;   GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE       = 4,
+;;   GST_NAVIGATION_EVENT_MOUSE_MOVE                 = 5,
+;;   GST_NAVIGATION_EVENT_COMMAND                    = 6
+;; } GstNavigationEventType;
+
 (define-enum-extended NavigationEventType
   (in-module "Gst")
   (c-name "GstNavigationEventType")
@@ -1400,6 +2513,13 @@
 
 ;; From streamvolume.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_STREAM_VOLUME_FORMAT_LINEAR = 0,
+;;   GST_STREAM_VOLUME_FORMAT_CUBIC,
+;;   GST_STREAM_VOLUME_FORMAT_DB
+;; } GstStreamVolumeFormat;
+
 (define-enum-extended StreamVolumeFormat
   (in-module "Gst")
   (c-name "GstStreamVolumeFormat")
@@ -1412,19 +2532,34 @@
 
 ;; From tunerchannel.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TUNER_CHANNEL_INPUT     = (1<<0),
+;;   GST_TUNER_CHANNEL_OUTPUT    = (1<<1),
+;;   GST_TUNER_CHANNEL_FREQUENCY = (1<<2),
+;;   GST_TUNER_CHANNEL_AUDIO     = (1<<3)
+;; } GstTunerChannelFlags;
+
 (define-flags-extended TunerChannelFlags
   (in-module "Gst")
   (c-name "GstTunerChannelFlags")
   (values
-    '("input" "GST_TUNER_CHANNEL_INPUT" "1<<0")
-    '("output" "GST_TUNER_CHANNEL_OUTPUT" "1<<1")
-    '("frequency" "GST_TUNER_CHANNEL_FREQUENCY" "1<<2")
-    '("audio" "GST_TUNER_CHANNEL_AUDIO" "1<<3")
+    '("input" "GST_TUNER_CHANNEL_INPUT" "(1<<0)")
+    '("output" "GST_TUNER_CHANNEL_OUTPUT" "(1<<1)")
+    '("frequency" "GST_TUNER_CHANNEL_FREQUENCY" "(1<<2)")
+    '("audio" "GST_TUNER_CHANNEL_AUDIO" "(1<<3)")
   )
 )
 
 ;; From gstnetbuffer.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_NET_TYPE_UNKNOWN,
+;;   GST_NET_TYPE_IP4,
+;;   GST_NET_TYPE_IP6,
+;; } GstNetType;
+
 (define-enum-extended NetType
   (in-module "Gst")
   (c-name "GstNetType")
@@ -1437,6 +2572,19 @@
 
 ;; From gstrtcpbuffer.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_RTCP_TYPE_INVALID = 0,
+;;   GST_RTCP_TYPE_SR      = 200,
+;;   GST_RTCP_TYPE_RR      = 201,
+;;   GST_RTCP_TYPE_SDES    = 202,
+;;   GST_RTCP_TYPE_BYE     = 203,
+;;   GST_RTCP_TYPE_APP     = 204,
+;;   GST_RTCP_TYPE_RTPFB   = 205,
+;;   GST_RTCP_TYPE_PSFB    = 206
+;; } GstRTCPType;
+
 (define-enum-extended RTCPType
   (in-module "Gst")
   (c-name "GstRTCPType")
@@ -1452,6 +2600,20 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   /* generic */
+;;   GST_RTCP_FB_TYPE_INVALID    = 0,
+;;   /* RTPFB types */
+;;   GST_RTCP_RTPFB_TYPE_NACK    = 1,
+;;   /* PSFB types */
+;;   GST_RTCP_PSFB_TYPE_PLI      = 1,
+;;   GST_RTCP_PSFB_TYPE_SLI      = 2,
+;;   GST_RTCP_PSFB_TYPE_RPSI     = 3,
+;;   GST_RTCP_PSFB_TYPE_AFB      = 15
+;; } GstRTCPFBType;
+
 (define-enum-extended RTCPFBType
   (in-module "Gst")
   (c-name "GstRTCPFBType")
@@ -1465,6 +2627,21 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum 
+;; {
+;;   GST_RTCP_SDES_INVALID  = -1,
+;;   GST_RTCP_SDES_END      = 0,
+;;   GST_RTCP_SDES_CNAME    = 1,
+;;   GST_RTCP_SDES_NAME     = 2,
+;;   GST_RTCP_SDES_EMAIL    = 3,
+;;   GST_RTCP_SDES_PHONE    = 4,
+;;   GST_RTCP_SDES_LOC      = 5,
+;;   GST_RTCP_SDES_TOOL     = 6,
+;;   GST_RTCP_SDES_NOTE     = 7,
+;;   GST_RTCP_SDES_PRIV     = 8
+;; } GstRTCPSDESType;
+
 (define-enum-extended RTCPSDESType
   (in-module "Gst")
   (c-name "GstRTCPSDESType")
@@ -1484,6 +2661,43 @@
 
 ;; From gstrtppayloads.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   /* Audio: */
+;;   GST_RTP_PAYLOAD_PCMU = 0,
+;;   GST_RTP_PAYLOAD_1016 = 1, /* RFC 3551 says reserved */
+;;   GST_RTP_PAYLOAD_G721 = 2, /* RFC 3551 says reserved */
+;;   GST_RTP_PAYLOAD_GSM = 3,
+;;   GST_RTP_PAYLOAD_G723 = 4,
+;;   GST_RTP_PAYLOAD_DVI4_8000 = 5,
+;;   GST_RTP_PAYLOAD_DVI4_16000 = 6,
+;;   GST_RTP_PAYLOAD_LPC = 7,
+;;   GST_RTP_PAYLOAD_PCMA = 8,
+;;   GST_RTP_PAYLOAD_G722 = 9,
+;;   GST_RTP_PAYLOAD_L16_STEREO = 10,
+;;   GST_RTP_PAYLOAD_L16_MONO = 11,
+;;   GST_RTP_PAYLOAD_QCELP = 12,
+;;   GST_RTP_PAYLOAD_CN = 13,
+;;   GST_RTP_PAYLOAD_MPA = 14,
+;;   GST_RTP_PAYLOAD_G728 = 15,
+;;   GST_RTP_PAYLOAD_DVI4_11025 = 16,
+;;   GST_RTP_PAYLOAD_DVI4_22050 = 17,
+;;   GST_RTP_PAYLOAD_G729 = 18,   
+;; 
+;;   /* Video: */
+;; 
+;;   GST_RTP_PAYLOAD_CELLB = 25,
+;;   GST_RTP_PAYLOAD_JPEG = 26,
+;;   GST_RTP_PAYLOAD_NV = 28,
+;;   GST_RTP_PAYLOAD_H261 = 31,
+;;   GST_RTP_PAYLOAD_MPV = 32,
+;;   GST_RTP_PAYLOAD_MP2T = 33,
+;;   GST_RTP_PAYLOAD_H263 = 34,
+;; 
+;;   /* BOTH */
+;; } GstRTPPayload;
+
 (define-enum-extended RTPPayload
   (in-module "Gst")
   (c-name "GstRTPPayload")
@@ -1519,6 +2733,30 @@
 
 ;; From gstrtspdefs.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_OK          =  0,
+;;   /* errors */
+;;   GST_RTSP_ERROR       = -1,
+;;   GST_RTSP_EINVAL      = -2,
+;;   GST_RTSP_EINTR       = -3,
+;;   GST_RTSP_ENOMEM      = -4,
+;;   GST_RTSP_ERESOLV     = -5,
+;;   GST_RTSP_ENOTIMPL    = -6,
+;;   GST_RTSP_ESYS        = -7,
+;;   GST_RTSP_EPARSE      = -8,
+;;   GST_RTSP_EWSASTART   = -9,
+;;   GST_RTSP_EWSAVERSION = -10,
+;;   GST_RTSP_EEOF        = -11,
+;;   GST_RTSP_ENET        = -12,
+;;   GST_RTSP_ENOTIP      = -13,
+;;   GST_RTSP_ETIMEOUT    = -14,
+;;   GST_RTSP_ETGET       = -15,
+;;   GST_RTSP_ETPOST      = -16,
+;; 
+;;   GST_RTSP_ELAST       = -17
+;; } GstRTSPResult;
+
 (define-enum-extended RTSPResult
   (in-module "Gst")
   (c-name "GstRTSPResult")
@@ -1544,15 +2782,28 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_EV_READ  = (1 << 0),
+;;   GST_RTSP_EV_WRITE = (1 << 1)
+;; } GstRTSPEvent;
+
 (define-flags-extended RTSPEvent
   (in-module "Gst")
   (c-name "GstRTSPEvent")
   (values
-    '("read" "GST_RTSP_EV_READ" "1 << 0")
-    '("write" "GST_RTSP_EV_WRITE" "1 << 1")
+    '("read" "GST_RTSP_EV_READ" "(1 << 0)")
+    '("write" "GST_RTSP_EV_WRITE" "(1 << 1)")
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_FAM_NONE,
+;;   GST_RTSP_FAM_INET,
+;;   GST_RTSP_FAM_INET6
+;; } GstRTSPFamily;
+
 (define-enum-extended RTSPFamily
   (in-module "Gst")
   (c-name "GstRTSPFamily")
@@ -1563,6 +2814,16 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_STATE_INVALID,
+;;   GST_RTSP_STATE_INIT,
+;;   GST_RTSP_STATE_READY,
+;;   GST_RTSP_STATE_SEEKING,
+;;   GST_RTSP_STATE_PLAYING,
+;;   GST_RTSP_STATE_RECORDING
+;; } GstRTSPState;
+
 (define-enum-extended RTSPState
   (in-module "Gst")
   (c-name "GstRTSPState")
@@ -1576,6 +2837,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_VERSION_INVALID = 0x00,
+;;   GST_RTSP_VERSION_1_0     = 0x10,
+;;   GST_RTSP_VERSION_1_1     = 0x11
+;; } GstRTSPVersion;
+
 (define-flags-extended RTSPVersion
   (in-module "Gst")
   (c-name "GstRTSPVersion")
@@ -1586,26 +2854,51 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_INVALID          = 0,
+;;   GST_RTSP_DESCRIBE         = (1 <<  0),
+;;   GST_RTSP_ANNOUNCE         = (1 <<  1),
+;;   GST_RTSP_GET_PARAMETER    = (1 <<  2),
+;;   GST_RTSP_OPTIONS          = (1 <<  3),
+;;   GST_RTSP_PAUSE            = (1 <<  4),
+;;   GST_RTSP_PLAY             = (1 <<  5),
+;;   GST_RTSP_RECORD           = (1 <<  6),
+;;   GST_RTSP_REDIRECT         = (1 <<  7),
+;;   GST_RTSP_SETUP            = (1 <<  8),
+;;   GST_RTSP_SET_PARAMETER    = (1 <<  9),
+;;   GST_RTSP_TEARDOWN         = (1 << 10),
+;;   GST_RTSP_GET              = (1 << 11),
+;;   GST_RTSP_POST             = (1 << 12)
+;; } GstRTSPMethod;
+
 (define-flags-extended RTSPMethod
   (in-module "Gst")
   (c-name "GstRTSPMethod")
   (values
-    '("invalid" "GST_RTSP_INVALID" "0")
-    '("describe" "GST_RTSP_DESCRIBE" "1 << 0")
-    '("announce" "GST_RTSP_ANNOUNCE" "1 << 1")
-    '("get-parameter" "GST_RTSP_GET_PARAMETER" "1 << 2")
-    '("options" "GST_RTSP_OPTIONS" "1 << 3")
-    '("pause" "GST_RTSP_PAUSE" "1 << 4")
-    '("play" "GST_RTSP_PLAY" "1 << 5")
-    '("record" "GST_RTSP_RECORD" "1 << 6")
-    '("redirect" "GST_RTSP_REDIRECT" "1 << 7")
-    '("setup" "GST_RTSP_SETUP" "1 << 8")
-    '("set-parameter" "GST_RTSP_SET_PARAMETER" "1 << 9")
-    '("teardown" "GST_RTSP_TEARDOWN" "1 << 10")
-    '("get" "GST_RTSP_GET" "1 << 11")
-    '("post" "GST_RTSP_POST" "1 << 12")
-  )
-)
+    '("invalid" "GST_RTSP_INVALID" "0x0")
+    '("describe" "GST_RTSP_DESCRIBE" "(1 << 0)")
+    '("announce" "GST_RTSP_ANNOUNCE" "(1 << 1)")
+    '("get-parameter" "GST_RTSP_GET_PARAMETER" "(1 << 2)")
+    '("options" "GST_RTSP_OPTIONS" "(1 << 3)")
+    '("pause" "GST_RTSP_PAUSE" "(1 << 4)")
+    '("play" "GST_RTSP_PLAY" "(1 << 5)")
+    '("record" "GST_RTSP_RECORD" "(1 << 6)")
+    '("redirect" "GST_RTSP_REDIRECT" "(1 << 7)")
+    '("setup" "GST_RTSP_SETUP" "(1 << 8)")
+    '("set-parameter" "GST_RTSP_SET_PARAMETER" "(1 << 9)")
+    '("teardown" "GST_RTSP_TEARDOWN" "(1 << 10)")
+    '("get" "GST_RTSP_GET" "(1 << 11)")
+    '("post" "GST_RTSP_POST" "(1 << 12)")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_AUTH_NONE    = 0x00,
+;;   GST_RTSP_AUTH_BASIC   = 0x01,
+;;   GST_RTSP_AUTH_DIGEST  = 0x02
+;; } GstRTSPAuthMethod;
 
 (define-flags-extended RTSPAuthMethod
   (in-module "Gst")
@@ -1617,6 +2910,112 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_HDR_INVALID,
+;; 
+;;   /*
+;;    * R = Request
+;;    * r = response
+;;    * g = general
+;;    * e = entity
+;;    */
+;;   GST_RTSP_HDR_ACCEPT,              /* Accept               R      opt.      entity */
+;;   GST_RTSP_HDR_ACCEPT_ENCODING,     /* Accept-Encoding      R      opt.      entity */
+;;   GST_RTSP_HDR_ACCEPT_LANGUAGE,     /* Accept-Language      R      opt.      all */
+;;   GST_RTSP_HDR_ALLOW,               /* Allow                r      opt.      all */
+;;   GST_RTSP_HDR_AUTHORIZATION,       /* Authorization        R      opt.      all */
+;;   GST_RTSP_HDR_BANDWIDTH,           /* Bandwidth            R      opt.      all */
+;;   GST_RTSP_HDR_BLOCKSIZE,           /* Blocksize            R      opt.      all but OPTIONS, TEARDOWN */
+;;   GST_RTSP_HDR_CACHE_CONTROL,       /* Cache-Control        g      opt.      SETUP */
+;;   GST_RTSP_HDR_CONFERENCE,          /* Conference           R      opt.      SETUP */
+;;   GST_RTSP_HDR_CONNECTION,          /* Connection           g      req.      all */
+;;   GST_RTSP_HDR_CONTENT_BASE,        /* Content-Base         e      opt.      entity */
+;;   GST_RTSP_HDR_CONTENT_ENCODING,    /* Content-Encoding     e      req.      SET_PARAMETER, DESCRIBE, ANNOUNCE */
+;;   GST_RTSP_HDR_CONTENT_LANGUAGE,    /* Content-Language     e      req.      DESCRIBE, ANNOUNCE */
+;;   GST_RTSP_HDR_CONTENT_LENGTH,      /* Content-Length       e      req.      SET_PARAMETER, ANNOUNCE, entity */
+;;   GST_RTSP_HDR_CONTENT_LOCATION,    /* Content-Location     e      opt.      entity */
+;;   GST_RTSP_HDR_CONTENT_TYPE,        /* Content-Type         e      req.      SET_PARAMETER, ANNOUNCE, entity */
+;;   GST_RTSP_HDR_CSEQ,                /* CSeq                 g      req.      all */
+;;   GST_RTSP_HDR_DATE,                /* Date                 g      opt.      all */
+;;   GST_RTSP_HDR_EXPIRES,             /* Expires              e      opt.      DESCRIBE, ANNOUNCE */
+;;   GST_RTSP_HDR_FROM,                /* From                 R      opt.      all */
+;;   GST_RTSP_HDR_IF_MODIFIED_SINCE,   /* If-Modified-Since    R      opt.      DESCRIBE, SETUP */
+;;   GST_RTSP_HDR_LAST_MODIFIED,       /* Last-Modified        e      opt.      entity */
+;;   GST_RTSP_HDR_PROXY_AUTHENTICATE,  /* Proxy-Authenticate */
+;;   GST_RTSP_HDR_PROXY_REQUIRE,       /* Proxy-Require        R      req.      all */
+;;   GST_RTSP_HDR_PUBLIC,              /* Public               r      opt.      all */
+;;   GST_RTSP_HDR_RANGE,               /* Range                Rr     opt.      PLAY, PAUSE, RECORD */
+;;   GST_RTSP_HDR_REFERER,             /* Referer              R      opt.      all */
+;;   GST_RTSP_HDR_REQUIRE,             /* Require              R      req.      all */
+;;   GST_RTSP_HDR_RETRY_AFTER,         /* Retry-After          r      opt.      all */
+;;   GST_RTSP_HDR_RTP_INFO,            /* RTP-Info             r      req.      PLAY */
+;;   GST_RTSP_HDR_SCALE,               /* Scale                Rr     opt.      PLAY, RECORD */
+;;   GST_RTSP_HDR_SESSION,             /* Session              Rr     req.      all but SETUP, OPTIONS */
+;;   GST_RTSP_HDR_SERVER,              /* Server               r      opt.      all */
+;;   GST_RTSP_HDR_SPEED,               /* Speed                Rr     opt.      PLAY */
+;;   GST_RTSP_HDR_TRANSPORT,           /* Transport            Rr     req.      SETUP */
+;;   GST_RTSP_HDR_UNSUPPORTED,         /* Unsupported          r      req.      all */
+;;   GST_RTSP_HDR_USER_AGENT,          /* User-Agent           R      opt.      all */
+;;   GST_RTSP_HDR_VIA,                 /* Via                  g      opt.      all */
+;;   GST_RTSP_HDR_WWW_AUTHENTICATE,    /* WWW-Authenticate     r      opt.      all */
+;; 
+;;   /* Real extensions */
+;;   GST_RTSP_HDR_CLIENT_CHALLENGE,    /* ClientChallenge */
+;;   GST_RTSP_HDR_REAL_CHALLENGE1,     /* RealChallenge1 */
+;;   GST_RTSP_HDR_REAL_CHALLENGE2,     /* RealChallenge2 */
+;;   GST_RTSP_HDR_REAL_CHALLENGE3,     /* RealChallenge3 */
+;;   GST_RTSP_HDR_SUBSCRIBE,           /* Subscribe */
+;;   GST_RTSP_HDR_ALERT,               /* Alert */
+;;   GST_RTSP_HDR_CLIENT_ID,           /* ClientID */
+;;   GST_RTSP_HDR_COMPANY_ID,          /* CompanyID */
+;;   GST_RTSP_HDR_GUID,                /* GUID */
+;;   GST_RTSP_HDR_REGION_DATA,         /* RegionData */
+;;   GST_RTSP_HDR_MAX_ASM_WIDTH,       /* SupportsMaximumASMBandwidth */
+;;   GST_RTSP_HDR_LANGUAGE,            /* Language */
+;;   GST_RTSP_HDR_PLAYER_START_TIME,   /* PlayerStarttime */
+;; 
+;;   /* Since 0.10.16 */
+;;   GST_RTSP_HDR_LOCATION,            /* Location */
+;; 
+;;   /* Since 0.10.23 */
+;;   GST_RTSP_HDR_ETAG,                /* ETag */
+;;   GST_RTSP_HDR_IF_MATCH,            /* If-Match */
+;; 
+;;   /* WM extensions [MS-RTSP] Since 0.10.23 */
+;;   GST_RTSP_HDR_ACCEPT_CHARSET,      /* Accept-Charset */
+;;   GST_RTSP_HDR_SUPPORTED,           /* Supported */
+;;   GST_RTSP_HDR_VARY,                /* Vary */
+;;   GST_RTSP_HDR_X_ACCELERATE_STREAMING,    /* X-Accelerate-Streaming */
+;;   GST_RTSP_HDR_X_ACCEPT_AUTHENT,    /* X-Accept-Authentication */
+;;   GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT,    /* X-Accept-Proxy-Authentication */
+;;   GST_RTSP_HDR_X_BROADCAST_ID,      /* X-Broadcast-Id */
+;;   GST_RTSP_HDR_X_BURST_STREAMING,   /* X-Burst-Streaming */
+;;   GST_RTSP_HDR_X_NOTICE,            /* X-Notice */
+;;   GST_RTSP_HDR_X_PLAYER_LAG_TIME,   /* X-Player-Lag-Time */
+;;   GST_RTSP_HDR_X_PLAYLIST,          /* X-Playlist */
+;;   GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE,  /* X-Playlist-Change-Notice */
+;;   GST_RTSP_HDR_X_PLAYLIST_GEN_ID,   /* X-Playlist-Gen-Id */
+;;   GST_RTSP_HDR_X_PLAYLIST_SEEK_ID,  /* X-Playlist-Seek-Id */
+;;   GST_RTSP_HDR_X_PROXY_CLIENT_AGENT,      /* X-Proxy-Client-Agent */
+;;   GST_RTSP_HDR_X_PROXY_CLIENT_VERB, /* X-Proxy-Client-Verb */
+;;   GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE, /* X-Receding-PlaylistChange */
+;;   GST_RTSP_HDR_X_RTP_INFO,          /* X-RTP-Info */
+;;   GST_RTSP_HDR_X_STARTUPPROFILE,    /* X-StartupProfile */
+;; 
+;;   /* Since 0.10.24 */
+;;   GST_RTSP_HDR_TIMESTAMP,           /* Timestamp */
+;; 
+;;   /* Since 0.10.25 */
+;;   GST_RTSP_HDR_AUTHENTICATION_INFO, /* Authentication-Info */
+;;   GST_RTSP_HDR_HOST,                /* Host */
+;;   GST_RTSP_HDR_PRAGMA,              /* Pragma */
+;;   GST_RTSP_HDR_X_SERVER_IP_ADDRESS, /* X-Server-IP-Address */
+;;   GST_RTSP_HDR_X_SESSIONCOOKIE,     /* X-Sessioncookie */
+;; 
+;;   GST_RTSP_HDR_LAST
+;; } GstRTSPHeaderField;
+
 (define-enum-extended RTSPHeaderField
   (in-module "Gst")
   (c-name "GstRTSPHeaderField")
@@ -1706,6 +3105,55 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_STS_INVALID                              = 0, 
+;;   GST_RTSP_STS_CONTINUE                             = 100, 
+;;   GST_RTSP_STS_OK                                   = 200, 
+;;   GST_RTSP_STS_CREATED                              = 201, 
+;;   GST_RTSP_STS_LOW_ON_STORAGE                       = 250, 
+;;   GST_RTSP_STS_MULTIPLE_CHOICES                     = 300, 
+;;   GST_RTSP_STS_MOVED_PERMANENTLY                    = 301, 
+;;   GST_RTSP_STS_MOVE_TEMPORARILY                     = 302, 
+;;   GST_RTSP_STS_SEE_OTHER                            = 303, 
+;;   GST_RTSP_STS_NOT_MODIFIED                         = 304, 
+;;   GST_RTSP_STS_USE_PROXY                            = 305, 
+;;   GST_RTSP_STS_BAD_REQUEST                          = 400, 
+;;   GST_RTSP_STS_UNAUTHORIZED                         = 401, 
+;;   GST_RTSP_STS_PAYMENT_REQUIRED                     = 402, 
+;;   GST_RTSP_STS_FORBIDDEN                            = 403, 
+;;   GST_RTSP_STS_NOT_FOUND                            = 404, 
+;;   GST_RTSP_STS_METHOD_NOT_ALLOWED                   = 405, 
+;;   GST_RTSP_STS_NOT_ACCEPTABLE                       = 406, 
+;;   GST_RTSP_STS_PROXY_AUTH_REQUIRED                  = 407, 
+;;   GST_RTSP_STS_REQUEST_TIMEOUT                      = 408, 
+;;   GST_RTSP_STS_GONE                                 = 410, 
+;;   GST_RTSP_STS_LENGTH_REQUIRED                      = 411, 
+;;   GST_RTSP_STS_PRECONDITION_FAILED                  = 412, 
+;;   GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE             = 413, 
+;;   GST_RTSP_STS_REQUEST_URI_TOO_LARGE                = 414, 
+;;   GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE               = 415, 
+;;   GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD             = 451, 
+;;   GST_RTSP_STS_CONFERENCE_NOT_FOUND                 = 452, 
+;;   GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH                 = 453, 
+;;   GST_RTSP_STS_SESSION_NOT_FOUND                    = 454, 
+;;   GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE       = 455, 
+;;   GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE  = 456, 
+;;   GST_RTSP_STS_INVALID_RANGE                        = 457, 
+;;   GST_RTSP_STS_PARAMETER_IS_READONLY                = 458, 
+;;   GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED      = 459, 
+;;   GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED     = 460, 
+;;   GST_RTSP_STS_UNSUPPORTED_TRANSPORT                = 461, 
+;;   GST_RTSP_STS_DESTINATION_UNREACHABLE              = 462, 
+;;   GST_RTSP_STS_INTERNAL_SERVER_ERROR                = 500, 
+;;   GST_RTSP_STS_NOT_IMPLEMENTED                      = 501, 
+;;   GST_RTSP_STS_BAD_GATEWAY                          = 502, 
+;;   GST_RTSP_STS_SERVICE_UNAVAILABLE                  = 503, 
+;;   GST_RTSP_STS_GATEWAY_TIMEOUT                      = 504, 
+;;   GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED           = 505, 
+;;   GST_RTSP_STS_OPTION_NOT_SUPPORTED                 = 551
+;; } GstRTSPStatusCode;
+
 (define-enum-extended RTSPStatusCode
   (in-module "Gst")
   (c-name "GstRTSPStatusCode")
@@ -1760,6 +3208,17 @@
 
 ;; From gstrtspmessage.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_RTSP_MESSAGE_INVALID,
+;;   GST_RTSP_MESSAGE_REQUEST,
+;;   GST_RTSP_MESSAGE_RESPONSE,
+;;   GST_RTSP_MESSAGE_HTTP_REQUEST,
+;;   GST_RTSP_MESSAGE_HTTP_RESPONSE,
+;;   GST_RTSP_MESSAGE_DATA
+;; } GstRTSPMsgType;
+
 (define-enum-extended RTSPMsgType
   (in-module "Gst")
   (c-name "GstRTSPMsgType")
@@ -1775,6 +3234,16 @@
 
 ;; From gstrtsprange.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_RTSP_RANGE_SMPTE,
+;;   GST_RTSP_RANGE_SMPTE_30_DROP,
+;;   GST_RTSP_RANGE_SMPTE_25,
+;;   GST_RTSP_RANGE_NPT,
+;;   GST_RTSP_RANGE_CLOCK
+;; } GstRTSPRangeUnit;
+
 (define-enum-extended RTSPRangeUnit
   (in-module "Gst")
   (c-name "GstRTSPRangeUnit")
@@ -1787,6 +3256,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_TIME_SECONDS,
+;;   GST_RTSP_TIME_NOW,
+;;   GST_RTSP_TIME_END
+;; } GstRTSPTimeType;
+
 (define-enum-extended RTSPTimeType
   (in-module "Gst")
   (c-name "GstRTSPTimeType")
@@ -1799,40 +3275,69 @@
 
 ;; From gstrtsptransport.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_TRANS_UNKNOWN =  0,
+;;   GST_RTSP_TRANS_RTP     = (1 << 0),
+;;   GST_RTSP_TRANS_RDT     = (1 << 1)
+;; } GstRTSPTransMode;
+
 (define-flags-extended RTSPTransMode
   (in-module "Gst")
   (c-name "GstRTSPTransMode")
   (values
-    '("unknown" "GST_RTSP_TRANS_UNKNOWN" "0")
-    '("rtp" "GST_RTSP_TRANS_RTP" "1 << 0")
-    '("rdt" "GST_RTSP_TRANS_RDT" "1 << 1")
+    '("unknown" "GST_RTSP_TRANS_UNKNOWN" "0x0")
+    '("rtp" "GST_RTSP_TRANS_RTP" "(1 << 0)")
+    '("rdt" "GST_RTSP_TRANS_RDT" "(1 << 1)")
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_PROFILE_UNKNOWN =  0,
+;;   GST_RTSP_PROFILE_AVP     = (1 << 0),
+;;   GST_RTSP_PROFILE_SAVP    = (1 << 1)
+;; } GstRTSPProfile;
+
 (define-flags-extended RTSPProfile
   (in-module "Gst")
   (c-name "GstRTSPProfile")
   (values
-    '("unknown" "GST_RTSP_PROFILE_UNKNOWN" "0")
-    '("avp" "GST_RTSP_PROFILE_AVP" "1 << 0")
-    '("savp" "GST_RTSP_PROFILE_SAVP" "1 << 1")
+    '("unknown" "GST_RTSP_PROFILE_UNKNOWN" "0x0")
+    '("avp" "GST_RTSP_PROFILE_AVP" "(1 << 0)")
+    '("savp" "GST_RTSP_PROFILE_SAVP" "(1 << 1)")
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_RTSP_LOWER_TRANS_UNKNOWN   = 0,
+;;   GST_RTSP_LOWER_TRANS_UDP       = (1 << 0),
+;;   GST_RTSP_LOWER_TRANS_UDP_MCAST = (1 << 1),
+;;   GST_RTSP_LOWER_TRANS_TCP       = (1 << 2),
+;;   GST_RTSP_LOWER_TRANS_HTTP      = (1 << 4)
+;; } GstRTSPLowerTrans;
+
 (define-flags-extended RTSPLowerTrans
   (in-module "Gst")
   (c-name "GstRTSPLowerTrans")
   (values
-    '("unknown" "GST_RTSP_LOWER_TRANS_UNKNOWN" "0")
-    '("udp" "GST_RTSP_LOWER_TRANS_UDP" "1 << 0")
-    '("udp-mcast" "GST_RTSP_LOWER_TRANS_UDP_MCAST" "1 << 1")
-    '("tcp" "GST_RTSP_LOWER_TRANS_TCP" "1 << 2")
-    '("http" "GST_RTSP_LOWER_TRANS_HTTP" "1 << 4")
+    '("unknown" "GST_RTSP_LOWER_TRANS_UNKNOWN" "0x0")
+    '("udp" "GST_RTSP_LOWER_TRANS_UDP" "(1 << 0)")
+    '("udp-mcast" "GST_RTSP_LOWER_TRANS_UDP_MCAST" "(1 << 1)")
+    '("tcp" "GST_RTSP_LOWER_TRANS_TCP" "(1 << 2)")
+    '("http" "GST_RTSP_LOWER_TRANS_HTTP" "(1 << 4)")
   )
 )
 
 ;; From gstsdp.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_SDP_OK     = 0,
+;;   GST_SDP_EINVAL = -1
+;; } GstSDPResult;
+
 (define-enum-extended SDPResult
   (in-module "Gst")
   (c-name "GstSDPResult")
@@ -1844,6 +3349,13 @@
 
 ;; From gsttagdemux.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TAG_DEMUX_RESULT_BROKEN_TAG,
+;;   GST_TAG_DEMUX_RESULT_AGAIN,
+;;   GST_TAG_DEMUX_RESULT_OK
+;; } GstTagDemuxResult;
+
 (define-enum-extended TagDemuxResult
   (in-module "Gst")
   (c-name "GstTagDemuxResult")
@@ -1856,6 +3368,30 @@
 
 ;; From tag.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_TAG_IMAGE_TYPE_NONE = -1,
+;;   GST_TAG_IMAGE_TYPE_UNDEFINED = 0,
+;;   GST_TAG_IMAGE_TYPE_FRONT_COVER,
+;;   GST_TAG_IMAGE_TYPE_BACK_COVER,
+;;   GST_TAG_IMAGE_TYPE_LEAFLET_PAGE,
+;;   GST_TAG_IMAGE_TYPE_MEDIUM,
+;;   GST_TAG_IMAGE_TYPE_LEAD_ARTIST,
+;;   GST_TAG_IMAGE_TYPE_ARTIST,
+;;   GST_TAG_IMAGE_TYPE_CONDUCTOR,
+;;   GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA,
+;;   GST_TAG_IMAGE_TYPE_COMPOSER,
+;;   GST_TAG_IMAGE_TYPE_LYRICIST,
+;;   GST_TAG_IMAGE_TYPE_RECORDING_LOCATION,
+;;   GST_TAG_IMAGE_TYPE_DURING_RECORDING,
+;;   GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE,
+;;   GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE,
+;;   GST_TAG_IMAGE_TYPE_FISH,
+;;   GST_TAG_IMAGE_TYPE_ILLUSTRATION,
+;;   GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO,
+;;   GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO
+;; } GstTagImageType;
+
 (define-enum-extended TagImageType
   (in-module "Gst")
   (c-name "GstTagImageType")
@@ -1885,6 +3421,30 @@
 
 ;; From install-plugins.h
 
+;; Original typedef:
+;; typedef enum {
+;;   /* Return codes from the installer. Returned by gst_install_plugins_sync(),
+;;    * or passed as result code to your #GstInstallPluginsResultFunc */
+;;   GST_INSTALL_PLUGINS_SUCCESS = 0,
+;;   GST_INSTALL_PLUGINS_NOT_FOUND = 1,
+;;   GST_INSTALL_PLUGINS_ERROR = 2,
+;;   GST_INSTALL_PLUGINS_PARTIAL_SUCCESS = 3,
+;;   GST_INSTALL_PLUGINS_USER_ABORT = 4,
+;; 
+;;   /* Returned by gst_install_plugins_sync(), or passed as result code to your
+;;    * #GstInstallPluginsResultFunc */
+;;   GST_INSTALL_PLUGINS_CRASHED = 100,
+;;   GST_INSTALL_PLUGINS_INVALID,
+;; 
+;;   /* Return codes from starting the external helper, may be returned by both
+;;    * gst_install_plugins_sync() and gst_install_plugins_async(), but should
+;;    * never be seen by a #GstInstallPluginsResultFunc */
+;;   GST_INSTALL_PLUGINS_STARTED_OK = 200,
+;;   GST_INSTALL_PLUGINS_INTERNAL_FAILURE,
+;;   GST_INSTALL_PLUGINS_HELPER_MISSING,
+;;   GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS
+;; } GstInstallPluginsReturn;
+
 (define-enum-extended InstallPluginsReturn
   (in-module "Gst")
   (c-name "GstInstallPluginsReturn")
@@ -1905,6 +3465,34 @@
 
 ;; From video.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_VIDEO_FORMAT_UNKNOWN,
+;;   GST_VIDEO_FORMAT_I420,
+;;   GST_VIDEO_FORMAT_YV12,
+;;   GST_VIDEO_FORMAT_YUY2,
+;;   GST_VIDEO_FORMAT_UYVY,
+;;   GST_VIDEO_FORMAT_AYUV,
+;;   GST_VIDEO_FORMAT_RGBx,
+;;   GST_VIDEO_FORMAT_BGRx,
+;;   GST_VIDEO_FORMAT_xRGB,
+;;   GST_VIDEO_FORMAT_xBGR,
+;;   GST_VIDEO_FORMAT_RGBA,
+;;   GST_VIDEO_FORMAT_BGRA,
+;;   GST_VIDEO_FORMAT_ARGB,
+;;   GST_VIDEO_FORMAT_ABGR,
+;;   GST_VIDEO_FORMAT_RGB,
+;;   GST_VIDEO_FORMAT_BGR,
+;;   GST_VIDEO_FORMAT_Y41B,
+;;   GST_VIDEO_FORMAT_Y42B,
+;;   GST_VIDEO_FORMAT_YVYU,
+;;   GST_VIDEO_FORMAT_Y444,
+;;   GST_VIDEO_FORMAT_v210,
+;;   GST_VIDEO_FORMAT_v216,
+;;   GST_VIDEO_FORMAT_NV12,
+;;   GST_VIDEO_FORMAT_NV21
+;; } GstVideoFormat;
+
 (define-enum-extended VideoFormat
   (in-module "Gst")
   (c-name "GstVideoFormat")
@@ -1938,6 +3526,13 @@
 
 ;; From gstadder.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_ADDER_FORMAT_UNSET,
+;;   GST_ADDER_FORMAT_INT,
+;;   GST_ADDER_FORMAT_FLOAT
+;; } GstAdderFormat;
+
 (define-enum-extended AdderFormat
   (in-module "Gst")
   (c-name "GstAdderFormat")
@@ -1950,6 +3545,15 @@
 
 ;; From audioconvert.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   DITHER_NONE = 0,
+;;   DITHER_RPDF,
+;;   DITHER_TPDF,
+;;   DITHER_TPDF_HF
+;; } GstAudioConvertDithering;
+
 (define-enum-extended AudioConvertDithering
   (in-module "Gst")
   (c-name "GstAudioConvertDithering")
@@ -1961,6 +3565,16 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   NOISE_SHAPING_NONE = 0,
+;;   NOISE_SHAPING_ERROR_FEEDBACK,
+;;   NOISE_SHAPING_SIMPLE,
+;;   NOISE_SHAPING_MEDIUM,
+;;   NOISE_SHAPING_HIGH
+;; } GstAudioConvertNoiseShaping;
+
 (define-enum-extended AudioConvertNoiseShaping
   (in-module "Gst")
   (c-name "GstAudioConvertNoiseShaping")
@@ -1975,6 +3589,20 @@
 
 ;; From gstaudiotestsrc.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_AUDIO_TEST_SRC_WAVE_SINE,
+;;   GST_AUDIO_TEST_SRC_WAVE_SQUARE,
+;;   GST_AUDIO_TEST_SRC_WAVE_SAW,
+;;   GST_AUDIO_TEST_SRC_WAVE_TRIANGLE,
+;;   GST_AUDIO_TEST_SRC_WAVE_SILENCE,
+;;   GST_AUDIO_TEST_SRC_WAVE_WHITE_NOISE,
+;;   GST_AUDIO_TEST_SRC_WAVE_PINK_NOISE,
+;;   GST_AUDIO_TEST_SRC_WAVE_SINE_TAB,
+;;   GST_AUDIO_TEST_SRC_WAVE_TICKS,
+;;   GST_AUDIO_TEST_SRC_WAVE_GAUSSIAN_WHITE_NOISE
+;; } GstAudioTestSrcWave; 
+
 (define-enum-extended AudioTestSrcWave
   (in-module "Gst")
   (c-name "GstAudioTestSrcWave")
@@ -1992,6 +3620,15 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_AUDIO_TEST_SRC_FORMAT_NONE = -1,
+;;   GST_AUDIO_TEST_SRC_FORMAT_S16 = 0,
+;;   GST_AUDIO_TEST_SRC_FORMAT_S32,
+;;   GST_AUDIO_TEST_SRC_FORMAT_F32,
+;;   GST_AUDIO_TEST_SRC_FORMAT_F64
+;; } GstAudioTestSrcFormat;
+
 (define-enum-extended AudioTestSrcFormat
   (in-module "Gst")
   (c-name "GstAudioTestSrcFormat")
@@ -2006,6 +3643,15 @@
 
 ;; From gstgdpdepay.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_GDP_DEPAY_STATE_HEADER = 0,
+;;   GST_GDP_DEPAY_STATE_PAYLOAD,
+;;   GST_GDP_DEPAY_STATE_BUFFER,
+;;   GST_GDP_DEPAY_STATE_CAPS,
+;;   GST_GDP_DEPAY_STATE_EVENT,
+;; } GstGDPDepayState;
+
 (define-enum-extended GDPDepayState
   (in-module "Gst")
   (c-name "GstGDPDepayState")
@@ -2020,19 +3666,34 @@
 
 ;; From gstfactorylists.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_FACTORY_LIST_DECODER = (1 << 0),
+;;   GST_FACTORY_LIST_ENCODER = (1 << 1),
+;;   GST_FACTORY_LIST_SINK    = (1 << 2),
+;;   GST_FACTORY_LIST_SRC     = (1 << 3)
+;; } GstFactoryListType;
+
 (define-flags-extended FactoryListType
   (in-module "Gst")
   (c-name "GstFactoryListType")
   (values
-    '("decoder" "GST_FACTORY_LIST_DECODER" "1 << 0")
-    '("encoder" "GST_FACTORY_LIST_ENCODER" "1 << 1")
-    '("sink" "GST_FACTORY_LIST_SINK" "1 << 2")
-    '("src" "GST_FACTORY_LIST_SRC" "1 << 3")
+    '("decoder" "GST_FACTORY_LIST_DECODER" "(1 << 0)")
+    '("encoder" "GST_FACTORY_LIST_ENCODER" "(1 << 1)")
+    '("sink" "GST_FACTORY_LIST_SINK" "(1 << 2)")
+    '("src" "GST_FACTORY_LIST_SRC" "(1 << 3)")
   )
 )
 
 ;; From gstplay-enum.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_AUTOPLUG_SELECT_TRY,
+;;   GST_AUTOPLUG_SELECT_EXPOSE,
+;;   GST_AUTOPLUG_SELECT_SKIP
+;; } GstAutoplugSelectResult;
+
 (define-enum-extended AutoplugSelectResult
   (in-module "Gst")
   (c-name "GstAutoplugSelectResult")
@@ -2043,24 +3704,50 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_PLAY_FLAG_VIDEO         = (1 << 0),
+;;   GST_PLAY_FLAG_AUDIO         = (1 << 1),
+;;   GST_PLAY_FLAG_TEXT          = (1 << 2),
+;;   GST_PLAY_FLAG_VIS           = (1 << 3),
+;;   GST_PLAY_FLAG_SOFT_VOLUME   = (1 << 4),
+;;   GST_PLAY_FLAG_NATIVE_AUDIO  = (1 << 5),
+;;   GST_PLAY_FLAG_NATIVE_VIDEO  = (1 << 6),
+;;   GST_PLAY_FLAG_DOWNLOAD      = (1 << 7),
+;;   GST_PLAY_FLAG_BUFFERING     = (1 << 8)
+;; } GstPlayFlags;
+
 (define-flags-extended PlayFlags
   (in-module "Gst")
   (c-name "GstPlayFlags")
   (values
-    '("video" "GST_PLAY_FLAG_VIDEO" "1 << 0")
-    '("audio" "GST_PLAY_FLAG_AUDIO" "1 << 1")
-    '("text" "GST_PLAY_FLAG_TEXT" "1 << 2")
-    '("vis" "GST_PLAY_FLAG_VIS" "1 << 3")
-    '("soft-volume" "GST_PLAY_FLAG_SOFT_VOLUME" "1 << 4")
-    '("native-audio" "GST_PLAY_FLAG_NATIVE_AUDIO" "1 << 5")
-    '("native-video" "GST_PLAY_FLAG_NATIVE_VIDEO" "1 << 6")
-    '("download" "GST_PLAY_FLAG_DOWNLOAD" "1 << 7")
-    '("buffering" "GST_PLAY_FLAG_BUFFERING" "1 << 8")
+    '("video" "GST_PLAY_FLAG_VIDEO" "(1 << 0)")
+    '("audio" "GST_PLAY_FLAG_AUDIO" "(1 << 1)")
+    '("text" "GST_PLAY_FLAG_TEXT" "(1 << 2)")
+    '("vis" "GST_PLAY_FLAG_VIS" "(1 << 3)")
+    '("soft-volume" "GST_PLAY_FLAG_SOFT_VOLUME" "(1 << 4)")
+    '("native-audio" "GST_PLAY_FLAG_NATIVE_AUDIO" "(1 << 5)")
+    '("native-video" "GST_PLAY_FLAG_NATIVE_VIDEO" "(1 << 6)")
+    '("download" "GST_PLAY_FLAG_DOWNLOAD" "(1 << 7)")
+    '("buffering" "GST_PLAY_FLAG_BUFFERING" "(1 << 8)")
   )
 )
 
 ;; From gstplaysink.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_PLAY_SINK_TYPE_AUDIO     = 0,
+;;   GST_PLAY_SINK_TYPE_AUDIO_RAW = 1,
+;;   GST_PLAY_SINK_TYPE_VIDEO     = 2,
+;;   GST_PLAY_SINK_TYPE_VIDEO_RAW = 3,
+;;   GST_PLAY_SINK_TYPE_TEXT      = 4,
+;;   GST_PLAY_SINK_TYPE_LAST      = 5,
+;; 
+;;   /* this is a dummy pad */
+;;   GST_PLAY_SINK_TYPE_FLUSHING  = 6
+;; } GstPlaySinkType;
+
 (define-enum-extended PlaySinkType
   (in-module "Gst")
   (c-name "GstPlaySinkType")
@@ -2077,6 +3764,16 @@
 
 ;; From gststreaminfo.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_STREAM_TYPE_UNKNOWN = 0,
+;;   GST_STREAM_TYPE_AUDIO   = 1,    /* an audio stream */
+;;   GST_STREAM_TYPE_VIDEO   = 2,    /* a video stream */
+;;   GST_STREAM_TYPE_TEXT    = 3,    /* a subtitle/text stream */
+;;   GST_STREAM_TYPE_SUBPICTURE = 4, /* a subtitle in picture-form */
+;;   GST_STREAM_TYPE_ELEMENT = 5    /* stream handled by an element */
+;; } GstStreamType;
+
 (define-enum-extended StreamType
   (in-module "Gst")
   (c-name "GstStreamType")
@@ -2092,6 +3789,21 @@
 
 ;; From gstsubparse.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_SUB_PARSE_FORMAT_UNKNOWN = 0,
+;;   GST_SUB_PARSE_FORMAT_MDVDSUB = 1,
+;;   GST_SUB_PARSE_FORMAT_SUBRIP = 2,
+;;   GST_SUB_PARSE_FORMAT_MPSUB = 3,
+;;   GST_SUB_PARSE_FORMAT_SAMI = 4,
+;;   GST_SUB_PARSE_FORMAT_TMPLAYER = 5,
+;;   GST_SUB_PARSE_FORMAT_MPL2 = 6,
+;;   GST_SUB_PARSE_FORMAT_SUBVIEWER = 7,
+;;   GST_SUB_PARSE_FORMAT_DKS = 8,
+;;   GST_SUB_PARSE_FORMAT_QTTEXT = 9
+;; } GstSubParseFormat;
+
 (define-enum-extended SubParseFormat
   (in-module "Gst")
   (c-name "GstSubParseFormat")
@@ -2105,18 +3817,37 @@
     '("mpl2" "GST_SUB_PARSE_FORMAT_MPL2" "6")
     '("subviewer" "GST_SUB_PARSE_FORMAT_SUBVIEWER" "7")
     '("dks" "GST_SUB_PARSE_FORMAT_DKS" "8")
+    '("qttext" "GST_SUB_PARSE_FORMAT_QTTEXT" "9")
   )
 )
 
 ;; From gstmultifdsink.h
 
-(define-enum-extended MultiFdSinkFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_MULTI_FD_SINK_OPEN             = (GST_ELEMENT_FLAG_LAST << 0),
+;; 
+;;   GST_MULTI_FD_SINK_FLAG_LAST        = (GST_ELEMENT_FLAG_LAST << 2)
+;; } GstMultiFdSinkFlags;
+
+(define-flags-extended MultiFdSinkFlags
   (in-module "Gst")
   (c-name "GstMultiFdSinkFlags")
   (values
+    '("open" "GST_MULTI_FD_SINK_OPEN" "(GST_ELEMENT_FLAG_LAST << 0)")
+    '("flag-last" "GST_MULTI_FD_SINK_FLAG_LAST" "(GST_ELEMENT_FLAG_LAST << 2)")
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_RECOVER_POLICY_NONE,
+;;   GST_RECOVER_POLICY_RESYNC_LATEST,
+;;   GST_RECOVER_POLICY_RESYNC_SOFT_LIMIT,
+;;   GST_RECOVER_POLICY_RESYNC_KEYFRAME
+;; } GstRecoverPolicy;
+
 (define-enum-extended RecoverPolicy
   (in-module "Gst")
   (c-name "GstRecoverPolicy")
@@ -2128,6 +3859,17 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_SYNC_METHOD_LATEST,
+;;   GST_SYNC_METHOD_NEXT_KEYFRAME,
+;;   GST_SYNC_METHOD_LATEST_KEYFRAME,
+;;   GST_SYNC_METHOD_BURST,
+;;   GST_SYNC_METHOD_BURST_KEYFRAME,
+;;   GST_SYNC_METHOD_BURST_WITH_KEYFRAME
+;; } GstSyncMethod;
+
 (define-enum-extended SyncMethod
   (in-module "Gst")
   (c-name "GstSyncMethod")
@@ -2141,6 +3883,15 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_TCP_UNIT_TYPE_UNDEFINED,
+;;   GST_TCP_UNIT_TYPE_BUFFERS,
+;;   GST_TCP_UNIT_TYPE_TIME,
+;;   GST_TCP_UNIT_TYPE_BYTES
+;; } GstTCPUnitType;
+
 (define-enum-extended TCPUnitType
   (in-module "Gst")
   (c-name "GstTCPUnitType")
@@ -2152,6 +3903,18 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_CLIENT_STATUS_OK          = 0,
+;;   GST_CLIENT_STATUS_CLOSED      = 1,
+;;   GST_CLIENT_STATUS_REMOVED     = 2,
+;;   GST_CLIENT_STATUS_SLOW        = 3,
+;;   GST_CLIENT_STATUS_ERROR       = 4,
+;;   GST_CLIENT_STATUS_DUPLICATE   = 5,
+;;   GST_CLIENT_STATUS_FLUSHING    = 6
+;; } GstClientStatus;
+
 (define-enum-extended ClientStatus
   (in-module "Gst")
   (c-name "GstClientStatus")
@@ -2168,24 +3931,49 @@
 
 ;; From gsttcpclientsink.h
 
-(define-enum-extended TCPClientSinkFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_TCP_CLIENT_SINK_OPEN             = (GST_ELEMENT_FLAG_LAST << 0),
+;; 
+;;   GST_TCP_CLIENT_SINK_FLAG_LAST        = (GST_ELEMENT_FLAG_LAST << 2),
+;; } GstTCPClientSinkFlags;
+
+(define-flags-extended TCPClientSinkFlags
   (in-module "Gst")
   (c-name "GstTCPClientSinkFlags")
   (values
+    '("open" "GST_TCP_CLIENT_SINK_OPEN" "(GST_ELEMENT_FLAG_LAST << 0)")
+    '("flag-last" "GST_TCP_CLIENT_SINK_FLAG_LAST" "(GST_ELEMENT_FLAG_LAST << 2)")
   )
 )
 
 ;; From gsttcpclientsrc.h
 
-(define-enum-extended TCPClientSrcFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_TCP_CLIENT_SRC_OPEN       = (GST_ELEMENT_FLAG_LAST << 0),
+;; 
+;;   GST_TCP_CLIENT_SRC_FLAG_LAST  = (GST_ELEMENT_FLAG_LAST << 2)
+;; } GstTCPClientSrcFlags;
+
+(define-flags-extended TCPClientSrcFlags
   (in-module "Gst")
   (c-name "GstTCPClientSrcFlags")
   (values
+    '("open" "GST_TCP_CLIENT_SRC_OPEN" "(GST_ELEMENT_FLAG_LAST << 0)")
+    '("flag-last" "GST_TCP_CLIENT_SRC_FLAG_LAST" "(GST_ELEMENT_FLAG_LAST << 2)")
   )
 )
 
 ;; From gsttcp.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_TCP_PROTOCOL_NONE,
+;;   GST_TCP_PROTOCOL_GDP
+;; } GstTCPProtocol;
+
 (define-enum-extended TCPProtocol
   (in-module "Gst")
   (c-name "GstTCPProtocol")
@@ -2197,6 +3985,14 @@
 
 ;; From gsttcpplugin.h
 
+;; Original typedef:
+;;   typedef enum
+;;   {
+;;     CONTROL_ZERO,
+;;     CONTROL_NONE,
+;;     CONTROL_TCP
+;;   } Gst_TCP_Control;
+
 (define-enum-extended _TCP_Control
   (in-module "Gst")
   (c-name "Gst_TCP_Control")
@@ -2209,24 +4005,49 @@
 
 ;; From gsttcpserversink.h
 
-(define-enum-extended TCPServerSinkFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_TCP_SERVER_SINK_OPEN             = (GST_ELEMENT_FLAG_LAST << 0),
+;; 
+;;   GST_TCP_SERVER_SINK_FLAG_LAST        = (GST_ELEMENT_FLAG_LAST << 2)
+;; } GstTCPServerSinkFlags;
+
+(define-flags-extended TCPServerSinkFlags
   (in-module "Gst")
   (c-name "GstTCPServerSinkFlags")
   (values
+    '("open" "GST_TCP_SERVER_SINK_OPEN" "(GST_ELEMENT_FLAG_LAST << 0)")
+    '("flag-last" "GST_TCP_SERVER_SINK_FLAG_LAST" "(GST_ELEMENT_FLAG_LAST << 2)")
   )
 )
 
 ;; From gsttcpserversrc.h
 
-(define-enum-extended TCPServerSrcFlags
+;; Original typedef:
+;; typedef enum {
+;;   GST_TCP_SERVER_SRC_OPEN       = (GST_ELEMENT_FLAG_LAST << 0),
+;; 
+;;   GST_TCP_SERVER_SRC_FLAG_LAST  = (GST_ELEMENT_FLAG_LAST << 2)
+;; } GstTCPServerSrcFlags;
+
+(define-flags-extended TCPServerSrcFlags
   (in-module "Gst")
   (c-name "GstTCPServerSrcFlags")
   (values
+    '("open" "GST_TCP_SERVER_SRC_OPEN" "(GST_ELEMENT_FLAG_LAST << 0)")
+    '("flag-last" "GST_TCP_SERVER_SRC_FLAG_LAST" "(GST_ELEMENT_FLAG_LAST << 2)")
   )
 )
 
 ;; From gstvideoscale.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_VIDEO_SCALE_NEAREST,
+;;   GST_VIDEO_SCALE_BILINEAR,
+;;   GST_VIDEO_SCALE_4TAP
+;; } GstVideoScaleMethod;
+
 (define-enum-extended VideoScaleMethod
   (in-module "Gst")
   (c-name "GstVideoScaleMethod")
@@ -2239,6 +4060,26 @@
 
 ;; From gstvideotestsrc.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_VIDEO_TEST_SRC_SMPTE,
+;;   GST_VIDEO_TEST_SRC_SNOW,
+;;   GST_VIDEO_TEST_SRC_BLACK,
+;;   GST_VIDEO_TEST_SRC_WHITE,
+;;   GST_VIDEO_TEST_SRC_RED,
+;;   GST_VIDEO_TEST_SRC_GREEN,
+;;   GST_VIDEO_TEST_SRC_BLUE,
+;;   GST_VIDEO_TEST_SRC_CHECKERS1,
+;;   GST_VIDEO_TEST_SRC_CHECKERS2,
+;;   GST_VIDEO_TEST_SRC_CHECKERS4,
+;;   GST_VIDEO_TEST_SRC_CHECKERS8,
+;;   GST_VIDEO_TEST_SRC_CIRCULAR,
+;;   GST_VIDEO_TEST_SRC_BLINK,
+;;   GST_VIDEO_TEST_SRC_SMPTE75,
+;;   GST_VIDEO_TEST_SRC_ZONE_PLATE,
+;;   GST_VIDEO_TEST_SRC_GAMUT
+;; } GstVideoTestSrcPattern;
+
 (define-enum-extended VideoTestSrcPattern
   (in-module "Gst")
   (c-name "GstVideoTestSrcPattern")
@@ -2262,6 +4103,12 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_VIDEO_TEST_SRC_BT601,
+;;   GST_VIDEO_TEST_SRC_BT709
+;; } GstVideoTestSrcColorSpec;
+
 (define-enum-extended VideoTestSrcColorSpec
   (in-module "Gst")
   (c-name "GstVideoTestSrcColorSpec")
@@ -2273,18 +4120,51 @@
 
 ;; From gstalsamixer.h
 
+;; Original typedef:
+;; typedef enum {
+;;   GST_ALSA_MIXER_CAPTURE = 1<<0,
+;;   GST_ALSA_MIXER_PLAYBACK = 1<<1,
+;;   GST_ALSA_MIXER_ALL = GST_ALSA_MIXER_CAPTURE | GST_ALSA_MIXER_PLAYBACK
+;; } GstAlsaMixerDirection;
+
 (define-flags-extended AlsaMixerDirection
   (in-module "Gst")
   (c-name "GstAlsaMixerDirection")
   (values
     '("capture" "GST_ALSA_MIXER_CAPTURE" "1<<0")
     '("playback" "GST_ALSA_MIXER_PLAYBACK" "1<<1")
-    '("all" "GST_ALSA_MIXER_ALL" "0x1")
+    '("all" "GST_ALSA_MIXER_ALL" "0x3")
   )
 )
 
 ;; From dirac_parse.h
 
+;; Original typedef:
+;; typedef enum _SchroParseCode {
+;;   SCHRO_PARSE_CODE_SEQUENCE_HEADER = 0x00,
+;;   SCHRO_PARSE_CODE_END_OF_SEQUENCE = 0x10,
+;;   SCHRO_PARSE_CODE_AUXILIARY_DATA = 0x20,
+;;   SCHRO_PARSE_CODE_PADDING = 0x30,
+;; 
+;;   SCHRO_PARSE_CODE_INTRA_REF = 0x0c,
+;;   SCHRO_PARSE_CODE_INTRA_NON_REF = 0x08,
+;;   SCHRO_PARSE_CODE_INTRA_REF_NOARITH = 0x4c,
+;;   SCHRO_PARSE_CODE_INTRA_NON_REF_NOARITH = 0x48,
+;; 
+;;   SCHRO_PARSE_CODE_INTER_REF_1 = 0x0d,
+;;   SCHRO_PARSE_CODE_INTER_REF_1_NOARITH = 0x4d,
+;;   SCHRO_PARSE_CODE_INTER_REF_2 = 0x0e,
+;;   SCHRO_PARSE_CODE_INTER_REF_2_NOARITH = 0x4e,
+;; 
+;;   SCHRO_PARSE_CODE_INTER_NON_REF_1 = 0x09,
+;;   SCHRO_PARSE_CODE_INTER_NON_REF_1_NOARITH = 0x49,
+;;   SCHRO_PARSE_CODE_INTER_NON_REF_2 = 0x0a,
+;;   SCHRO_PARSE_CODE_INTER_NON_REF_2_NOARITH = 0x4a,
+;; 
+;;   SCHRO_PARSE_CODE_LD_INTRA_REF = 0xcc,
+;;   SCHRO_PARSE_CODE_LD_INTRA_NON_REF = 0xc8
+;; } SchroParseCode;
+
 (define-flags-extended SchroParseCode
   (in-module "Gst")
   (c-name "SchroParseCode")
@@ -2310,6 +4190,27 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum _SchroVideoFormatEnum {
+;;   SCHRO_VIDEO_FORMAT_CUSTOM = 0,
+;;   SCHRO_VIDEO_FORMAT_QSIF,
+;;   SCHRO_VIDEO_FORMAT_QCIF,
+;;   SCHRO_VIDEO_FORMAT_SIF,
+;;   SCHRO_VIDEO_FORMAT_CIF,
+;;   SCHRO_VIDEO_FORMAT_4SIF,
+;;   SCHRO_VIDEO_FORMAT_4CIF,
+;;   SCHRO_VIDEO_FORMAT_SD480I_60,
+;;   SCHRO_VIDEO_FORMAT_SD576I_50,
+;;   SCHRO_VIDEO_FORMAT_HD720P_60,
+;;   SCHRO_VIDEO_FORMAT_HD720P_50,
+;;   SCHRO_VIDEO_FORMAT_HD1080I_60,
+;;   SCHRO_VIDEO_FORMAT_HD1080I_50,
+;;   SCHRO_VIDEO_FORMAT_HD1080P_60,
+;;   SCHRO_VIDEO_FORMAT_HD1080P_50,
+;;   SCHRO_VIDEO_FORMAT_DC2K_24,
+;;   SCHRO_VIDEO_FORMAT_DC4K_24
+;; } SchroVideoFormatEnum;
+
 (define-enum-extended SchroVideoFormatEnum
   (in-module "Gst")
   (c-name "SchroVideoFormatEnum")
@@ -2334,6 +4235,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum _SchroChromaFormat {
+;;   SCHRO_CHROMA_444 = 0,
+;;   SCHRO_CHROMA_422,
+;;   SCHRO_CHROMA_420
+;; } SchroChromaFormat;
+
 (define-enum-extended SchroChromaFormat
   (in-module "Gst")
   (c-name "SchroChromaFormat")
@@ -2344,6 +4252,15 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum _SchroSignalRange {
+;;   SCHRO_SIGNAL_RANGE_CUSTOM = 0,
+;;   SCHRO_SIGNAL_RANGE_8BIT_FULL = 1,
+;;   SCHRO_SIGNAL_RANGE_8BIT_VIDEO = 2,
+;;   SCHRO_SIGNAL_RANGE_10BIT_VIDEO = 3,
+;;   SCHRO_SIGNAL_RANGE_12BIT_VIDEO = 4
+;; } SchroSignalRange;
+
 (define-enum-extended SchroSignalRange
   (in-module "Gst")
   (c-name "SchroSignalRange")
@@ -2356,6 +4273,15 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum _SchroColourSpec {
+;;   SCHRO_COLOUR_SPEC_CUSTOM = 0,
+;;   SCHRO_COLOUR_SPEC_SDTV_525 = 1,
+;;   SCHRO_COLOUR_SPEC_SDTV_625 = 2,
+;;   SCHRO_COLOUR_SPEC_HDTV = 3,
+;;   SCHRO_COLOUR_SPEC_CINEMA = 4
+;; } SchroColourSpec;
+
 (define-enum-extended SchroColourSpec
   (in-module "Gst")
   (c-name "SchroColourSpec")
@@ -2368,6 +4294,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum _SchroColourPrimaries {
+;;   SCHRO_COLOUR_PRIMARY_HDTV = 0,
+;;   SCHRO_COLOUR_PRIMARY_SDTV_525 = 1,
+;;   SCHRO_COLOUR_PRIMARY_SDTV_625 = 2,
+;;   SCHRO_COLOUR_PRIMARY_CINEMA = 3
+;; } SchroColourPrimaries;
+
 (define-enum-extended SchroColourPrimaries
   (in-module "Gst")
   (c-name "SchroColourPrimaries")
@@ -2379,6 +4313,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum _SchroColourMatrix {
+;;   SCHRO_COLOUR_MATRIX_HDTV = 0,
+;;   SCHRO_COLOUR_MATRIX_SDTV = 1,
+;;   SCHRO_COLOUR_MATRIX_REVERSIBLE = 2
+;; }SchroColourMatrix;
+
 (define-enum-extended SchroColourMatrix
   (in-module "Gst")
   (c-name "SchroColourMatrix")
@@ -2389,6 +4330,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum _SchroTransferFunction {
+;;   SCHRO_TRANSFER_CHAR_TV_GAMMA = 0,
+;;   SCHRO_TRANSFER_CHAR_EXTENDED_GAMUT = 1,
+;;   SCHRO_TRANSFER_CHAR_LINEAR = 2,
+;;   SCHRO_TRANSFER_CHAR_DCI_GAMMA = 3
+;; } SchroTransferFunction;
+
 (define-enum-extended SchroTransferFunction
   (in-module "Gst")
   (c-name "SchroTransferFunction")
@@ -2402,6 +4351,13 @@
 
 ;; From gstoggdemux.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_OGG_PAD_MODE_INIT,        /* we are feeding our internal decoder to get info */
+;;   GST_OGG_PAD_MODE_STREAMING,   /* we are streaming buffers to the outside */
+;; } GstOggPadMode;
+
 (define-enum-extended OggPadMode
   (in-module "Gst")
   (c-name "GstOggPadMode")
@@ -2413,8 +4369,32 @@
 
 ;; From gstoggmux.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GST_OGG_PAD_STATE_CONTROL = 0,
+;;   GST_OGG_PAD_STATE_DATA = 1
+;; }
+;; GstOggPadState;
+
+(define-enum-extended OggPadState
+  (in-module "Gst")
+  (c-name "GstOggPadState")
+  (values
+    '("control" "GST_OGG_PAD_STATE_CONTROL" "0")
+    '("data" "GST_OGG_PAD_STATE_DATA" "1")
+  )
+)
+
 ;; From gsttextoverlay.h
 
+;; Original typedef:
+;; typedef enum {
+;;     GST_TEXT_OVERLAY_VALIGN_BASELINE,
+;;     GST_TEXT_OVERLAY_VALIGN_BOTTOM,
+;;     GST_TEXT_OVERLAY_VALIGN_TOP
+;; } GstTextOverlayVAlign;
+
 (define-enum-extended TextOverlayVAlign
   (in-module "Gst")
   (c-name "GstTextOverlayVAlign")
@@ -2425,6 +4405,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;     GST_TEXT_OVERLAY_HALIGN_LEFT,
+;;     GST_TEXT_OVERLAY_HALIGN_CENTER,
+;;     GST_TEXT_OVERLAY_HALIGN_RIGHT
+;; } GstTextOverlayHAlign;
+
 (define-enum-extended TextOverlayHAlign
   (in-module "Gst")
   (c-name "GstTextOverlayHAlign")
@@ -2435,6 +4422,14 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;     GST_TEXT_OVERLAY_WRAP_MODE_NONE = -1,
+;;     GST_TEXT_OVERLAY_WRAP_MODE_WORD = PANGO_WRAP_WORD,
+;;     GST_TEXT_OVERLAY_WRAP_MODE_CHAR = PANGO_WRAP_CHAR,
+;;     GST_TEXT_OVERLAY_WRAP_MODE_WORD_CHAR = PANGO_WRAP_WORD_CHAR
+;; } GstTextOverlayWrapMode;
+
 (define-enum-extended TextOverlayWrapMode
   (in-module "Gst")
   (c-name "GstTextOverlayWrapMode")
@@ -2446,7 +4441,14 @@
   )
 )
 
-(define-enum-extended TextOverlayLineAlign
+;; Original typedef:
+;; typedef enum {
+;;     GST_TEXT_OVERLAY_LINE_ALIGN_LEFT = PANGO_ALIGN_LEFT,
+;;     GST_TEXT_OVERLAY_LINE_ALIGN_CENTER = PANGO_ALIGN_CENTER,
+;;     GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT = PANGO_ALIGN_RIGHT
+;; } GstTextOverlayLineAlign;
+
+(define-flags-extended TextOverlayLineAlign
   (in-module "Gst")
   (c-name "GstTextOverlayLineAlign")
   (values
@@ -2458,6 +4460,13 @@
 
 ;; From gsttextrender.h
 
+;; Original typedef:
+;; typedef enum {
+;;     GST_TEXT_RENDER_VALIGN_BASELINE,
+;;     GST_TEXT_RENDER_VALIGN_BOTTOM,
+;;     GST_TEXT_RENDER_VALIGN_TOP
+;; } GstTextRenderVAlign;
+
 (define-enum-extended TextRenderVAlign
   (in-module "Gst")
   (c-name "GstTextRenderVAlign")
@@ -2468,6 +4477,13 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;     GST_TEXT_RENDER_HALIGN_LEFT,
+;;     GST_TEXT_RENDER_HALIGN_CENTER,
+;;     GST_TEXT_RENDER_HALIGN_RIGHT
+;; } GstTextRenderHAlign;
+
 (define-enum-extended TextRenderHAlign
   (in-module "Gst")
   (c-name "GstTextRenderHAlign")
@@ -2478,7 +4494,14 @@
   )
 )
 
-(define-enum-extended TextRenderLineAlign
+;; Original typedef:
+;; typedef enum {
+;;     GST_TEXT_RENDER_LINE_ALIGN_LEFT = PANGO_ALIGN_LEFT,
+;;     GST_TEXT_RENDER_LINE_ALIGN_CENTER = PANGO_ALIGN_CENTER,
+;;     GST_TEXT_RENDER_LINE_ALIGN_RIGHT = PANGO_ALIGN_RIGHT
+;; } GstTextRenderLineAlign;
+
+(define-flags-extended TextRenderLineAlign
   (in-module "Gst")
   (c-name "GstTextRenderLineAlign")
   (values
@@ -2490,6 +4513,15 @@
 
 ;; From gsttheoraenc.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   BORDER_NONE,
+;;   BORDER_BLACK,
+;;   BORDER_MIRROR
+;; }
+;; GstTheoraEncBorderMode;
+
 (define-enum-extended TheoraEncBorderMode
   (in-module "Gst")
   (c-name "GstTheoraEncBorderMode")
diff --git a/gstreamer/src/gst_enums.defs.patch b/gstreamer/src/gst_enums.defs.patch
index a022d6a..03cb253 100644
--- a/gstreamer/src/gst_enums.defs.patch
+++ b/gstreamer/src/gst_enums.defs.patch
@@ -1,277 +1,457 @@
-0a1,2
-> ;; Apply gst_enums.defs.patch after regenerating.
-> 
-16c18,27
-<     '("y" "GST_BUFFER_FLAG_READONLY" "#error")
----
->     '("readonly" "GST_BUFFER_FLAG_READONLY" "GST_MINI_OBJECT_FLAG_READONLY")
->     '("preroll" "GST_BUFFER_FLAG_PREROLL" "GST_MINI_OBJECT_FLAG_LAST << 0")
->     '("discont" "GST_BUFFER_FLAG_DISCONT" "GST_MINI_OBJECT_FLAG_LAST << 1")
->     '("in-caps" "GST_BUFFER_FLAG_IN_CAPS" "GST_MINI_OBJECT_FLAG_LAST << 2")
->     '("gap" "GST_BUFFER_FLAG_GAP" "GST_MINI_OBJECT_FLAG_LAST << 3")
->     '("delta-unit" "GST_BUFFER_FLAG_DELTA_UNIT" "GST_MINI_OBJECT_FLAG_LAST << 4")
->     '("media1" "GST_BUFFER_FLAG_MEDIA1" "GST_MINI_OBJECT_FLAG_LAST << 5")
->     '("media2" "GST_BUFFER_FLAG_MEDIA2" "GST_MINI_OBJECT_FLAG_LAST << 6")
->     '("media3" "GST_BUFFER_FLAG_MEDIA3" "GST_MINI_OBJECT_FLAG_LAST << 7")
->     '("last" "GST_BUFFER_FLAG_LAST" "GST_MINI_OBJECT_FLAG_LAST << 8")
-47a59,60
->     '("flushing" "GST_BUS_FLUSHING" "GST_OBJECT_FLAG_LAST << 0")
->     '("last" "GST_BUS_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 1")
-99a113,119
->     '("can-do-single-sync" "GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC" "GST_OBJECT_FLAG_LAST << 0")
->     '("can-do-single-async" "GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC" "GST_OBJECT_FLAG_LAST << 1")
->     '("can-do-periodic-sync" "GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC" "GST_OBJECT_FLAG_LAST << 2")
->     '("can-do-periodic-async" "GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC" "GST_OBJECT_FLAG_LAST << 3")
->     '("can-set-resolution" "GST_CLOCK_FLAG_CAN_SET_RESOLUTION" "GST_OBJECT_FLAG_LAST << 4")
->     '("can-set-master" "GST_CLOCK_FLAG_CAN_SET_MASTER" "GST_OBJECT_FLAG_LAST << 5")
->     '("last" "GST_CLOCK_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 8")
-140a161,162
-> ;; TODO: See why gmmproc reports errors when values of following enum are
-> ;; commented in.
-144a167,172
-> ;;    '("null-to-ready" "GST_STATE_CHANGE_NULL_TO_READY" "(GST_STATE_NULL<<3) | GST_STATE_READY")
-> ;;    '("ready-to-paused" "GST_STATE_CHANGE_READY_TO_PAUSED" "(GST_STATE_READY<<3) | GST_STATE_PAUSED")
-> ;;    '("paused-to-playing" "GST_STATE_CHANGE_PAUSED_TO_PLAYING" "(GST_STATE_PAUSED<<3) | GST_STATE_PLAYING")
-> ;;    '("playing-to-paused" "GST_STATE_CHANGE_PLAYING_TO_PAUSED" "(GST_STATE_PLAYING<<3) | GST_STATE_PAUSED")
-> ;;    '("paused-to-ready" "GST_STATE_CHANGE_PAUSED_TO_READY" "(GST_STATE_PAUSED<<3) | GST_STATE_READY")
-> ;;    '("ready-to-null" "GST_STATE_CHANGE_READY_TO_NULL" "(GST_STATE_READY<<3) | GST_STATE_NULL")
-151a180,183
->     '("locked-state" "GST_ELEMENT_LOCKED_STATE" "GST_OBJECT_FLAG_LAST << 0")
->     '("is-sink" "GST_ELEMENT_IS_SINK" "GST_OBJECT_FLAG_LAST << 1")
->     '("unparenting" "GST_ELEMENT_UNPARENTING" "GST_OBJECT_FLAG_LAST << 2")
->     '("flag-set" "GST_ELEMENT_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 16")
-248,281d279
-< (define-enum-extended EventType
-<   (in-module "Gst")
-<   (c-name "GstEventType")
-<   (values
-<     '("gst-event-unknown" "GST_EVENT_UNKNOWN" "#error")
-<     '("0)" "0)" "1")
-<     '("gst-event-flush-start" "GST_EVENT_FLUSH_START" "2")
-<     '("flag(both))" "FLAG(BOTH))" "3")
-<     '("gst-event-flush-stop" "GST_EVENT_FLUSH_STOP" "4")
-<     '("gst-event-eos" "GST_EVENT_EOS" "6")
-<     '("gst-event-newsegment" "GST_EVENT_NEWSEGMENT" "8")
-<     '("gst-event-tag" "GST_EVENT_TAG" "10")
-<     '("gst-event-buffersize" "GST_EVENT_BUFFERSIZE" "12")
-<     '("gst-event-qos" "GST_EVENT_QOS" "14")
-<     '("flag(upstream))" "FLAG(UPSTREAM))" "15")
-<     '("gst-event-seek" "GST_EVENT_SEEK" "16")
-<     '("flag(upstream))" "FLAG(UPSTREAM))" "17")
-<     '("gst-event-navigation" "GST_EVENT_NAVIGATION" "18")
-<     '("flag(upstream))" "FLAG(UPSTREAM))" "19")
-<     '("gst-event-latency" "GST_EVENT_LATENCY" "20")
-<     '("flag(upstream))" "FLAG(UPSTREAM))" "21")
-<     '("gst-event-step" "GST_EVENT_STEP" "22")
-<     '("flag(upstream))" "FLAG(UPSTREAM))" "23")
-<     '("gst-event-custom-upstream" "GST_EVENT_CUSTOM_UPSTREAM" "24")
-<     '("flag(upstream))" "FLAG(UPSTREAM))" "25")
-<     '("gst-event-custom-downstream" "GST_EVENT_CUSTOM_DOWNSTREAM" "26")
-<     '("gst-event-custom-downstream-oob" "GST_EVENT_CUSTOM_DOWNSTREAM_OOB" "28")
-<     '("flag(downstream))" "FLAG(DOWNSTREAM))" "29")
-<     '("gst-event-custom-both" "GST_EVENT_CUSTOM_BOTH" "30")
-<     '("gst-event-custom-both-oob" "GST_EVENT_CUSTOM_BOTH_OOB" "32")
-<     '("flag(both))" "FLAG(BOTH))" "33")
-<   )
-< )
-< 
-378a377,379
->     '("writable" "GST_INDEX_WRITABLE" "GST_OBJECT_FLAG_LAST << 0")
->     '("readable" "GST_INDEX_READABLE" "GST_OBJECT_FLAG_LAST << 1")
->     '("last" "GST_INDEX_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 8")
-479c480
-<     '("any" "GST_MESSAGE_ANY" "0xFFFFFFFFFFFFFFFF")
----
->     '("any" "GST_MESSAGE_ANY" "~0")
-585a587,592
->     '("blocked" "GST_PAD_BLOCKED" "GST_OBJECT_FLAG_LAST << 0")
->     '("flushing" "GST_PAD_FLUSHING" "GST_OBJECT_FLAG_LAST << 1")
->     '("in-getcaps" "GST_PAD_IN_GETCAPS" "GST_OBJECT_FLAG_LAST << 2")
->     '("in_setcaps" "GST_PAD_IN_SETCAPS" "GST_OBJECT_FLAG_LAST << 3")
->     '("blocking" "GST_PAD_BLOCKING" "GST_OBJECT_FLAG_LAST << 4")
->     '("last" "GST_PAD_FLAG_LAST" "GST_OBJECT_FLAG_LAST << 8")
-604a612,613
->     '("fixed" "GST_PAD_TEMPLATE_FIXED" "GST_OBJECT_FLAG_LAST << 0")
->     '("last" "GST_PAD_TEMPLATE_LAST" "GST_OBJECT_FLAG_LAST << 4")
-997,1003c1006,1012
-<     '("none" "FAKE_SINK_STATE_ERROR_NONE" "0")
-<     '("null-ready" "FAKE_SINK_STATE_ERROR_NULL_READY" "1")
-<     '("ready-paused" "FAKE_SINK_STATE_ERROR_READY_PAUSED" "2")
-<     '("paused-playing" "FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" "3")
-<     '("playing-paused" "FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" "4")
-<     '("paused-ready" "FAKE_SINK_STATE_ERROR_PAUSED_READY" "5")
-<     '("ready-null" "FAKE_SINK_STATE_ERROR_READY_NULL" "6")
----
->     '("none" "GST_FAKE_SINK_STATE_ERROR_NONE" "0")
->     '("null-ready" "GST_FAKE_SINK_STATE_ERROR_NULL_READY" "1")
->     '("ready-paused" "GST_FAKE_SINK_STATE_ERROR_READY_PAUSED" "2")
->     '("paused-playing" "GST_FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" "3")
->     '("playing-paused" "GST_FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" "4")
->     '("paused-ready" "GST_FAKE_SINK_STATE_ERROR_PAUSED_READY" "5")
->     '("ready-null" "GST_FAKE_SINK_STATE_ERROR_READY_NULL" "6")
-1013,1020c1022,1029
-<     '("first-last-loop" "FAKE_SRC_FIRST_LAST_LOOP" "1")
-<     '("last-first-loop" "FAKE_SRC_LAST_FIRST_LOOP" "2")
-<     '("ping-pong" "FAKE_SRC_PING_PONG" "3")
-<     '("ordered-random" "FAKE_SRC_ORDERED_RANDOM" "4")
-<     '("random" "FAKE_SRC_RANDOM" "5")
-<     '("pattern-loop" "FAKE_SRC_PATTERN_LOOP" "6")
-<     '("ping-pong-pattern" "FAKE_SRC_PING_PONG_PATTERN" "7")
-<     '("get-always-suceeds" "FAKE_SRC_GET_ALWAYS_SUCEEDS" "8")
----
->     '("first-last-loop" "GST_FAKE_SRC_FIRST_LAST_LOOP" "1")
->     '("last-first-loop" "GST_FAKE_SRC_LAST_FIRST_LOOP" "2")
->     '("ping-pong" "GST_FAKE_SRC_PING_PONG" "3")
->     '("ordered-random" "GST_FAKE_SRC_ORDERED_RANDOM" "4")
->     '("random" "GST_FAKE_SRC_RANDOM" "5")
->     '("pattern-loop" "GST_FAKE_SRC_PATTERN_LOOP" "6")
->     '("ping-pong-pattern" "GST_FAKE_SRC_PING_PONG_PATTERN" "7")
->     '("get-always-suceeds" "GST_FAKE_SRC_GET_ALWAYS_SUCEEDS" "8")
-1028,1029c1037,1038
-<     '("allocate" "FAKE_SRC_DATA_ALLOCATE" "1")
-<     '("subbuffer" "FAKE_SRC_DATA_SUBBUFFER" "2")
----
->     '("allocate" "GST_FAKE_SRC_DATA_ALLOCATE" "1")
->     '("subbuffer" "GST_FAKE_SRC_DATA_SUBBUFFER" "2")
-1037,1039c1046,1048
-<     '("empty" "FAKE_SRC_SIZETYPE_EMPTY" "1")
-<     '("fixed" "FAKE_SRC_SIZETYPE_FIXED" "2")
-<     '("random" "FAKE_SRC_SIZETYPE_RANDOM" "3")
----
->     '("empty" "GST_FAKE_SRC_SIZETYPE_EMPTY" "1")
->     '("fixed" "GST_FAKE_SRC_SIZETYPE_FIXED" "2")
->     '("random" "GST_FAKE_SRC_SIZETYPE_RANDOM" "3")
-1047,1051c1056,1072
-<     '("nothing" "FAKE_SRC_FILLTYPE_NOTHING" "1")
-<     '("zero" "FAKE_SRC_FILLTYPE_ZERO" "2")
-<     '("random" "FAKE_SRC_FILLTYPE_RANDOM" "3")
-<     '("pattern" "FAKE_SRC_FILLTYPE_PATTERN" "4")
-<     '("pattern-cont" "FAKE_SRC_FILLTYPE_PATTERN_CONT" "5")
----
->     '("nothing" "GST_FAKE_SRC_FILLTYPE_NOTHING" "1")
->     '("zero" "GST_FAKE_SRC_FILLTYPE_ZERO" "2")
->     '("random" "GST_FAKE_SRC_FILLTYPE_RANDOM" "3")
->     '("pattern" "GST_FAKE_SRC_FILLTYPE_PATTERN" "4")
->     '("pattern-cont" "GST_FAKE_SRC_FILLTYPE_PATTERN_CONT" "5")
->   )
-> )
-> 
-> ;; Handwritten for the filesink plug-in (Gst::FileSink).
-> (define-enum-extended FileSinkBufferMode
->   (in-module "Gst")
->   (c-name "GstFileSinkBufferMode")
->   (values
->     '("default" "GST_FILE_SINK_BUFFER_MODE_DEFAULT" "-1")
->     '("full" "GST_FILE_SINK_BUFFER_MODE_FULL" "0")
->     '("line" "GST_FILE_SINK_BUFFER_MODE_LINE" "1")
->     '("unbuffered" "GST_FILE_SINK_BUFFER_MODE_UNBUFFERED" "2")
-1077a1099,1109
-> ;; Handwritten for the queue plug-in (Gst::Queue).
-> (define-enum-extended QueueLeaky
->   (in-module "Gst")
->   (c-name "GstQueueLeaky")
->   (values
->     '("no" "GST_QUEUE_LEAKY_NONE" "0")
->     '("upstream" "GST_QUEUE_LEAKY_UPSTREAM" "1")
->     '("downstream" "GST_QUEUE_LEAKY_DOWNSTREAM" "2")
->   )
-> )
-> 
-1920,1923c1952,1955
-<     '("none" "DITHER_NONE" "0")
-<     '("rpdf" "DITHER_RPDF" "1")
-<     '("tpdf" "DITHER_TPDF" "2")
-<     '("tpdf-hf" "DITHER_TPDF_HF" "3")
----
->     '("none" "GST_AUDIO_CONVERT_DITHER_NONE" "0")
->     '("rpdf" "GST_AUDIO_CONVERT_DITHER_RPDF" "1")
->     '("tpdf" "GST_AUDIO_CONVERT_DITHER_TPDF" "2")
->     '("tpdf-hf" "GST_AUDIO_CONVERT_DITHER_TPDF_HF" "3")
-1931,1935c1963,1967
-<     '("none" "NOISE_SHAPING_NONE" "0")
-<     '("error-feedback" "NOISE_SHAPING_ERROR_FEEDBACK" "1")
-<     '("simple" "NOISE_SHAPING_SIMPLE" "2")
-<     '("medium" "NOISE_SHAPING_MEDIUM" "3")
-<     '("high" "NOISE_SHAPING_HIGH" "4")
----
->     '("none" "GST_AUDIO_CONVERT_NOISE_SHAPING_NONE" "0")
->     '("error-feedback" "GST_AUDIO_CONVERT_NOISE_SHAPING_ERROR_FEEDBACK" "1")
->     '("simple" "GST_AUDIO_CONVERT_NOISE_SHAPING_SIMPLE" "2")
->     '("medium" "GST_AUDIO_CONVERT_NOISE_SHAPING_MEDIUM" "3")
->     '("high" "GST_AUDIO_CONVERT_NOISE_SHAPING_HIGH" "4")
-2260,2268d2291
-< (define-enum-extended 
-<   (in-module "Gst")
-<   (c-name "")
-<   (values
-<     '("control" "GST_OGG_PAD_STATE_CONTROL" "0")
-<     '("data" "GST_OGG_PAD_STATE_DATA" "1")
-<   )
-< )
-< 
-2296,2298c2319,2321
-<     '("word" "GST_TEXT_OVERLAY_WRAP_MODE_WORD" "#error")
-<     '("char" "GST_TEXT_OVERLAY_WRAP_MODE_CHAR" "#error")
-<     '("word-char" "GST_TEXT_OVERLAY_WRAP_MODE_WORD_CHAR" "#error")
----
->     '("word" "GST_TEXT_OVERLAY_WRAP_MODE_WORD" "0")
->     '("char" "GST_TEXT_OVERLAY_WRAP_MODE_CHAR" "1")
->     '("word-char" "GST_TEXT_OVERLAY_WRAP_MODE_WORD_CHAR" "2")
-2306,2308c2329,2331
-<     '("left" "GST_TEXT_OVERLAY_LINE_ALIGN_LEFT" "#error")
-<     '("center" "GST_TEXT_OVERLAY_LINE_ALIGN_CENTER" "#error")
-<     '("right" "GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT" "#error")
----
->     '("left" "GST_TEXT_OVERLAY_LINE_ALIGN_LEFT" "0")
->     '("center" "GST_TEXT_OVERLAY_LINE_ALIGN_CENTER" "1")
->     '("right" "GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT" "2")
-2338,2340c2361,2363
-<     '("left" "GST_TEXT_RENDER_LINE_ALIGN_LEFT" "#error")
-<     '("center" "GST_TEXT_RENDER_LINE_ALIGN_CENTER" "#error")
-<     '("right" "GST_TEXT_RENDER_LINE_ALIGN_RIGHT" "#error")
----
->     '("left" "GST_TEXT_RENDER_LINE_ALIGN_LEFT" "0")
->     '("center" "GST_TEXT_RENDER_LINE_ALIGN_CENTER" "1")
->     '("right" "GST_TEXT_RENDER_LINE_ALIGN_RIGHT" "2")
-2346c2369
-< (define-enum-extended 
----
-> (define-enum-extended TheoraEncBorderMode
-2348c2371
-<   (c-name "")
----
->   (c-name "GstTheoraEncBorderMode")
-2350,2352c2373,2375
-<     '("none" "BORDER_NONE" "0")
-<     '("black" "BORDER_BLACK" "1")
-<     '("mirror" "BORDER_MIRROR" "2")
----
->     '("none" "GST_THEORA_ENC_BORDER_NONE" "0")
->     '("black" "GST_THEORA_ENC_BORDER_BLACK" "1")
->     '("mirror" "GST_THEORA_ENC_BORDER_MIRROR" "2")
-2355a2379,2403
-> ;; Handwritten for CdParanoiaSrc plugin (values taken from output of
-> ;; `gst-inspect cdparanoiasrc' -- "paranoia-mode" property information)
-> (define-enum-extended GstCdParanoiaSrc
->   (in-module "Gst")
->   (c-name "GstCdParanoiaMode")
->   (values
->     '("disable" "GST_PARANOIA_MODE_DISABLE" "1<<0")
->     '("fragment" "GST_PARANOIA_MODE_FRAGMENT" "1<<1")
->     '("overlap" "GST_PARANOIA_MODE_OVERLAP" "1<<2")
->     '("scratch" "GST_PARANOIA_MODE_SCRATCH" "1<<3")
->     '("repair" "GST_PARANOIA_MODE_REPAIR" "1<<4")
->     '("full" "GST_PARANOIA_MODE_FULL" "0xff")
->   )
-> )
-> 
-> ;; Handwritten for MultiFdSink plugin (taken from gstmultifdsink.c):
-> (define-enum-extended FDSetMode
->   (in-module "Gst")
->   (c-name "GstFDSetMode")
->   (values
->     '("select" "GST_FD_SET_MODE_SELECT" "0")
->     '("poll" "GST_FD_SET_MODE_POLL" "1")
->     '("epoll" "GST_FD_SET_MODE_EPOLL" "2")
->   )
-> )
+--- gst_enums.defs	2010-03-15 17:06:39.000000000 -0400
++++ gst_enums.defs.new	2010-03-15 17:15:41.000000000 -0400
+@@ -1,10 +1,12 @@
++;; Apply gst_enums.defs.patch after regenerating.
++
+ ;; From gstbin.h
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   /* padding */
+ ;;   GST_BIN_FLAG_LAST		= (GST_ELEMENT_FLAG_LAST << 5)
+ ;; } GstBinFlags;
+ 
+ (define-flags-extended BinFlags
+   (in-module "Gst")
+@@ -478,90 +480,20 @@
+   (c-name "GstEventTypeFlags")
+   (values
+     '("upstream" "GST_EVENT_TYPE_UPSTREAM" "1 << 0")
+     '("downstream" "GST_EVENT_TYPE_DOWNSTREAM" "1 << 1")
+     '("serialized" "GST_EVENT_TYPE_SERIALIZED" "1 << 2")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+-;;   GST_EVENT_UNKNOWN               = GST_EVENT_MAKE_TYPE (0, 0),
+-;;   /* bidirectional events */
+-;;   GST_EVENT_FLUSH_START           = GST_EVENT_MAKE_TYPE (1, FLAG(BOTH)),
+-;;   GST_EVENT_FLUSH_STOP            = GST_EVENT_MAKE_TYPE (2, FLAG(BOTH) | FLAG(SERIALIZED)),
+-;;   /* downstream serialized events */
+-;;   GST_EVENT_EOS                   = GST_EVENT_MAKE_TYPE (5, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+-;;   GST_EVENT_NEWSEGMENT            = GST_EVENT_MAKE_TYPE (6, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+-;;   GST_EVENT_TAG                   = GST_EVENT_MAKE_TYPE (7, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+-;;   GST_EVENT_BUFFERSIZE            = GST_EVENT_MAKE_TYPE (8, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+-;;   GST_EVENT_SINK_MESSAGE          = GST_EVENT_MAKE_TYPE (9, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+-;;   /* upstream events */
+-;;   GST_EVENT_QOS                   = GST_EVENT_MAKE_TYPE (15, FLAG(UPSTREAM)),
+-;;   GST_EVENT_SEEK                  = GST_EVENT_MAKE_TYPE (16, FLAG(UPSTREAM)),
+-;;   GST_EVENT_NAVIGATION            = GST_EVENT_MAKE_TYPE (17, FLAG(UPSTREAM)),
+-;;   GST_EVENT_LATENCY               = GST_EVENT_MAKE_TYPE (18, FLAG(UPSTREAM)),
+-;;   GST_EVENT_STEP                  = GST_EVENT_MAKE_TYPE (19, FLAG(UPSTREAM)),
+-;; 
+-;;   /* custom events start here */
+-;;   GST_EVENT_CUSTOM_UPSTREAM       = GST_EVENT_MAKE_TYPE (32, FLAG(UPSTREAM)),
+-;;   GST_EVENT_CUSTOM_DOWNSTREAM     = GST_EVENT_MAKE_TYPE (32, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)),
+-;;   GST_EVENT_CUSTOM_DOWNSTREAM_OOB = GST_EVENT_MAKE_TYPE (32, FLAG(DOWNSTREAM)),
+-;;   GST_EVENT_CUSTOM_BOTH           = GST_EVENT_MAKE_TYPE (32, FLAG(BOTH) | FLAG(SERIALIZED)),
+-;;   GST_EVENT_CUSTOM_BOTH_OOB       = GST_EVENT_MAKE_TYPE (32, FLAG(BOTH))
+-;; } GstEventType;
+-
+-(define-flags-extended EventType
+-  (in-module "Gst")
+-  (c-name "GstEventType")
+-  (values
+-    '("gst-event-unknown" "GST_EVENT_UNKNOWN" "GST_EVENT_MAKE_TYPE (0")
+-    '("0)" "0)" "(GST_EVENT_MAKE_TYPE (0) + 1")
+-    '("gst-event-flush-start" "GST_EVENT_FLUSH_START" "GST_EVENT_MAKE_TYPE (1")
+-    '("flag(both))" "FLAG(BOTH))" "(GST_EVENT_MAKE_TYPE (1) + 1")
+-    '("gst-event-flush-stop" "GST_EVENT_FLUSH_STOP" "GST_EVENT_MAKE_TYPE (2")
+-    '("flag(both)" "FLAG(BOTH)" "| FLAG(SERIALIZED))")
+-    '("gst-event-eos" "GST_EVENT_EOS" "GST_EVENT_MAKE_TYPE (5")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)" "| FLAG(SERIALIZED))")
+-    '("gst-event-newsegment" "GST_EVENT_NEWSEGMENT" "GST_EVENT_MAKE_TYPE (6")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)" "| FLAG(SERIALIZED))")
+-    '("gst-event-tag" "GST_EVENT_TAG" "GST_EVENT_MAKE_TYPE (7")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)" "| FLAG(SERIALIZED))")
+-    '("gst-event-buffersize" "GST_EVENT_BUFFERSIZE" "GST_EVENT_MAKE_TYPE (8")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)" "| FLAG(SERIALIZED))")
+-    '("gst-event-sink-message" "GST_EVENT_SINK_MESSAGE" "GST_EVENT_MAKE_TYPE (9")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)" "| FLAG(SERIALIZED))")
+-    '("gst-event-qos" "GST_EVENT_QOS" "GST_EVENT_MAKE_TYPE (15")
+-    '("flag(upstream))" "FLAG(UPSTREAM))" "(GST_EVENT_MAKE_TYPE (15) + 1")
+-    '("gst-event-seek" "GST_EVENT_SEEK" "GST_EVENT_MAKE_TYPE (16")
+-    '("flag(upstream))" "FLAG(UPSTREAM))" "(GST_EVENT_MAKE_TYPE (16) + 1")
+-    '("gst-event-navigation" "GST_EVENT_NAVIGATION" "GST_EVENT_MAKE_TYPE (17")
+-    '("flag(upstream))" "FLAG(UPSTREAM))" "(GST_EVENT_MAKE_TYPE (17) + 1")
+-    '("gst-event-latency" "GST_EVENT_LATENCY" "GST_EVENT_MAKE_TYPE (18")
+-    '("flag(upstream))" "FLAG(UPSTREAM))" "(GST_EVENT_MAKE_TYPE (18) + 1")
+-    '("gst-event-step" "GST_EVENT_STEP" "GST_EVENT_MAKE_TYPE (19")
+-    '("flag(upstream))" "FLAG(UPSTREAM))" "(GST_EVENT_MAKE_TYPE (19) + 1")
+-    '("gst-event-custom-upstream" "GST_EVENT_CUSTOM_UPSTREAM" "GST_EVENT_MAKE_TYPE (32")
+-    '("flag(upstream))" "FLAG(UPSTREAM))" "(GST_EVENT_MAKE_TYPE (32) + 1")
+-    '("gst-event-custom-downstream" "GST_EVENT_CUSTOM_DOWNSTREAM" "GST_EVENT_MAKE_TYPE (32")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)" "| FLAG(SERIALIZED))")
+-    '("gst-event-custom-downstream-oob" "GST_EVENT_CUSTOM_DOWNSTREAM_OOB" "GST_EVENT_MAKE_TYPE (32")
+-    '("flag(downstream))" "FLAG(DOWNSTREAM))" "(GST_EVENT_MAKE_TYPE (32) + 1")
+-    '("gst-event-custom-both" "GST_EVENT_CUSTOM_BOTH" "GST_EVENT_MAKE_TYPE (32")
+-    '("flag(both)" "FLAG(BOTH)" "| FLAG(SERIALIZED))")
+-    '("gst-event-custom-both-oob" "GST_EVENT_CUSTOM_BOTH_OOB" "GST_EVENT_MAKE_TYPE (32")
+-    '("flag(both))" "FLAG(BOTH))" "(GST_EVENT_MAKE_TYPE (32) + 1")
+-  )
+-)
+-
+-;; Original typedef:
+-;; typedef enum {
+ ;;   /* one of these */
+ ;;   GST_SEEK_TYPE_NONE            = 0,
+ ;;   GST_SEEK_TYPE_CUR             = 1,
+ ;;   GST_SEEK_TYPE_SET             = 2,
+ ;;   GST_SEEK_TYPE_END             = 3
+ ;; } GstSeekType;
+ 
+ (define-enum-extended SeekType
+   (in-module "Gst")
+   (c-name "GstSeekType")
+@@ -1855,27 +1787,27 @@
+ ;;   FAKE_SINK_STATE_ERROR_PAUSED_PLAYING,
+ ;;   FAKE_SINK_STATE_ERROR_PLAYING_PAUSED,
+ ;;   FAKE_SINK_STATE_ERROR_PAUSED_READY,
+ ;;   FAKE_SINK_STATE_ERROR_READY_NULL
+ ;; } GstFakeSinkStateError;
+ 
+ (define-enum-extended FakeSinkStateError
+   (in-module "Gst")
+   (c-name "GstFakeSinkStateError")
+   (values
+-    '("none" "FAKE_SINK_STATE_ERROR_NONE" "0")
+-    '("null-ready" "FAKE_SINK_STATE_ERROR_NULL_READY" "1")
+-    '("ready-paused" "FAKE_SINK_STATE_ERROR_READY_PAUSED" "2")
+-    '("paused-playing" "FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" "3")
+-    '("playing-paused" "FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" "4")
+-    '("paused-ready" "FAKE_SINK_STATE_ERROR_PAUSED_READY" "5")
+-    '("ready-null" "FAKE_SINK_STATE_ERROR_READY_NULL" "6")
++    '("none" "GST_FAKE_SINK_STATE_ERROR_NONE" "0")
++    '("null-ready" "GST_FAKE_SINK_STATE_ERROR_NULL_READY" "1")
++    '("ready-paused" "GST_FAKE_SINK_STATE_ERROR_READY_PAUSED" "2")
++    '("paused-playing" "GST_FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" "3")
++    '("playing-paused" "GST_FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" "4")
++    '("paused-ready" "GST_FAKE_SINK_STATE_ERROR_PAUSED_READY" "5")
++    '("ready-null" "GST_FAKE_SINK_STATE_ERROR_READY_NULL" "6")
+   )
+ )
+ 
+ ;; From gstfakesrc.h
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   FAKE_SRC_FIRST_LAST_LOOP = 1,
+ ;;   FAKE_SRC_LAST_FIRST_LOOP,
+ ;;   FAKE_SRC_PING_PONG,
+@@ -1883,81 +1815,93 @@
+ ;;   FAKE_SRC_RANDOM,
+ ;;   FAKE_SRC_PATTERN_LOOP,
+ ;;   FAKE_SRC_PING_PONG_PATTERN,
+ ;;   FAKE_SRC_GET_ALWAYS_SUCEEDS
+ ;; } GstFakeSrcOutputType;
+ 
+ (define-enum-extended FakeSrcOutputType
+   (in-module "Gst")
+   (c-name "GstFakeSrcOutputType")
+   (values
+-    '("first-last-loop" "FAKE_SRC_FIRST_LAST_LOOP" "1")
+-    '("last-first-loop" "FAKE_SRC_LAST_FIRST_LOOP" "2")
+-    '("ping-pong" "FAKE_SRC_PING_PONG" "3")
+-    '("ordered-random" "FAKE_SRC_ORDERED_RANDOM" "4")
+-    '("random" "FAKE_SRC_RANDOM" "5")
+-    '("pattern-loop" "FAKE_SRC_PATTERN_LOOP" "6")
+-    '("ping-pong-pattern" "FAKE_SRC_PING_PONG_PATTERN" "7")
+-    '("get-always-suceeds" "FAKE_SRC_GET_ALWAYS_SUCEEDS" "8")
++    '("first-last-loop" "GST_FAKE_SRC_FIRST_LAST_LOOP" "1")
++    '("last-first-loop" "GST_FAKE_SRC_LAST_FIRST_LOOP" "2")
++    '("ping-pong" "GST_FAKE_SRC_PING_PONG" "3")
++    '("ordered-random" "GST_FAKE_SRC_ORDERED_RANDOM" "4")
++    '("random" "GST_FAKE_SRC_RANDOM" "5")
++    '("pattern-loop" "GST_FAKE_SRC_PATTERN_LOOP" "6")
++    '("ping-pong-pattern" "GST_FAKE_SRC_PING_PONG_PATTERN" "7")
++    '("get-always-suceeds" "GST_FAKE_SRC_GET_ALWAYS_SUCEEDS" "8")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   FAKE_SRC_DATA_ALLOCATE = 1,
+ ;;   FAKE_SRC_DATA_SUBBUFFER
+ ;; } GstFakeSrcDataType;
+ 
+ (define-enum-extended FakeSrcDataType
+   (in-module "Gst")
+   (c-name "GstFakeSrcDataType")
+   (values
+-    '("allocate" "FAKE_SRC_DATA_ALLOCATE" "1")
+-    '("subbuffer" "FAKE_SRC_DATA_SUBBUFFER" "2")
++    '("allocate" "GST_FAKE_SRC_DATA_ALLOCATE" "1")
++    '("subbuffer" "GST_FAKE_SRC_DATA_SUBBUFFER" "2")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   FAKE_SRC_SIZETYPE_EMPTY = 1,
+ ;;   FAKE_SRC_SIZETYPE_FIXED,
+ ;;   FAKE_SRC_SIZETYPE_RANDOM
+ ;; } GstFakeSrcSizeType;
+ 
+ (define-enum-extended FakeSrcSizeType
+   (in-module "Gst")
+   (c-name "GstFakeSrcSizeType")
+   (values
+-    '("empty" "FAKE_SRC_SIZETYPE_EMPTY" "1")
+-    '("fixed" "FAKE_SRC_SIZETYPE_FIXED" "2")
+-    '("random" "FAKE_SRC_SIZETYPE_RANDOM" "3")
++    '("empty" "GST_FAKE_SRC_SIZETYPE_EMPTY" "1")
++    '("fixed" "GST_FAKE_SRC_SIZETYPE_FIXED" "2")
++    '("random" "GST_FAKE_SRC_SIZETYPE_RANDOM" "3")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   FAKE_SRC_FILLTYPE_NOTHING = 1,
+ ;;   FAKE_SRC_FILLTYPE_ZERO,
+ ;;   FAKE_SRC_FILLTYPE_RANDOM,
+ ;;   FAKE_SRC_FILLTYPE_PATTERN,
+ ;;   FAKE_SRC_FILLTYPE_PATTERN_CONT
+ ;; } GstFakeSrcFillType;
+ 
+ (define-enum-extended FakeSrcFillType
+   (in-module "Gst")
+   (c-name "GstFakeSrcFillType")
+   (values
+-    '("nothing" "FAKE_SRC_FILLTYPE_NOTHING" "1")
+-    '("zero" "FAKE_SRC_FILLTYPE_ZERO" "2")
+-    '("random" "FAKE_SRC_FILLTYPE_RANDOM" "3")
+-    '("pattern" "FAKE_SRC_FILLTYPE_PATTERN" "4")
+-    '("pattern-cont" "FAKE_SRC_FILLTYPE_PATTERN_CONT" "5")
++    '("nothing" "GST_FAKE_SRC_FILLTYPE_NOTHING" "1")
++    '("zero" "GST_FAKE_SRC_FILLTYPE_ZERO" "2")
++    '("random" "GST_FAKE_SRC_FILLTYPE_RANDOM" "3")
++    '("pattern" "GST_FAKE_SRC_FILLTYPE_PATTERN" "4")
++    '("pattern-cont" "GST_FAKE_SRC_FILLTYPE_PATTERN_CONT" "5")
++  )
++)
++
++;; Handwritten for the filesink plug-in (Gst::FileSink).
++(define-enum-extended FileSinkBufferMode
++  (in-module "Gst")
++  (c-name "GstFileSinkBufferMode")
++  (values
++    '("default" "GST_FILE_SINK_BUFFER_MODE_DEFAULT" "-1")
++    '("full" "GST_FILE_SINK_BUFFER_MODE_FULL" "0")
++    '("line" "GST_FILE_SINK_BUFFER_MODE_LINE" "1")
++    '("unbuffered" "GST_FILE_SINK_BUFFER_MODE_UNBUFFERED" "2")
+   )
+ )
+ 
+ ;; From gsttee.h
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   GST_TEE_PULL_MODE_NEVER,
+ ;;   GST_TEE_PULL_MODE_SINGLE,
+ ;; } GstTeePullMode;
+@@ -2009,20 +1953,31 @@
+   (values
+     '("rate" "GST_AUDIO_FIELD_RATE" "(1 << 0)")
+     '("channels" "GST_AUDIO_FIELD_CHANNELS" "(1 << 1)")
+     '("endianness" "GST_AUDIO_FIELD_ENDIANNESS" "(1 << 2)")
+     '("width" "GST_AUDIO_FIELD_WIDTH" "(1 << 3)")
+     '("depth" "GST_AUDIO_FIELD_DEPTH" "(1 << 4)")
+     '("signed" "GST_AUDIO_FIELD_SIGNED" "(1 << 5)")
+   )
+ )
+ 
++;; Handwritten for the queue plug-in (Gst::Queue).
++(define-enum-extended QueueLeaky
++  (in-module "Gst")
++  (c-name "GstQueueLeaky")
++  (values
++    '("no" "GST_QUEUE_LEAKY_NONE" "0")
++    '("upstream" "GST_QUEUE_LEAKY_UPSTREAM" "1")
++    '("downstream" "GST_QUEUE_LEAKY_DOWNSTREAM" "2")
++  )
++)
++
+ ;; From gstbaseaudiosink.h
+ 
+ ;; Original typedef:
+ ;; typedef enum
+ ;; {
+ ;;   GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE,
+ ;;   GST_BASE_AUDIO_SINK_SLAVE_SKEW,
+ ;;   GST_BASE_AUDIO_SINK_SLAVE_NONE
+ ;; } GstBaseAudioSinkSlaveMethod;
+ 
+@@ -3596,46 +3551,46 @@
+ ;;   DITHER_NONE = 0,
+ ;;   DITHER_RPDF,
+ ;;   DITHER_TPDF,
+ ;;   DITHER_TPDF_HF
+ ;; } GstAudioConvertDithering;
+ 
+ (define-enum-extended AudioConvertDithering
+   (in-module "Gst")
+   (c-name "GstAudioConvertDithering")
+   (values
+-    '("none" "DITHER_NONE" "0")
+-    '("rpdf" "DITHER_RPDF" "1")
+-    '("tpdf" "DITHER_TPDF" "2")
+-    '("tpdf-hf" "DITHER_TPDF_HF" "3")
++    '("none" "GST_AUDIO_CONVERT_DITHER_NONE" "0")
++    '("rpdf" "GST_AUDIO_CONVERT_DITHER_RPDF" "1")
++    '("tpdf" "GST_AUDIO_CONVERT_DITHER_TPDF" "2")
++    '("tpdf-hf" "GST_AUDIO_CONVERT_DITHER_TPDF_HF" "3")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum
+ ;; {
+ ;;   NOISE_SHAPING_NONE = 0,
+ ;;   NOISE_SHAPING_ERROR_FEEDBACK,
+ ;;   NOISE_SHAPING_SIMPLE,
+ ;;   NOISE_SHAPING_MEDIUM,
+ ;;   NOISE_SHAPING_HIGH
+ ;; } GstAudioConvertNoiseShaping;
+ 
+ (define-enum-extended AudioConvertNoiseShaping
+   (in-module "Gst")
+   (c-name "GstAudioConvertNoiseShaping")
+   (values
+-    '("none" "NOISE_SHAPING_NONE" "0")
+-    '("error-feedback" "NOISE_SHAPING_ERROR_FEEDBACK" "1")
+-    '("simple" "NOISE_SHAPING_SIMPLE" "2")
+-    '("medium" "NOISE_SHAPING_MEDIUM" "3")
+-    '("high" "NOISE_SHAPING_HIGH" "4")
++    '("none" "GST_AUDIO_CONVERT_NOISE_SHAPING_NONE" "0")
++    '("error-feedback" "GST_AUDIO_CONVERT_NOISE_SHAPING_ERROR_FEEDBACK" "1")
++    '("simple" "GST_AUDIO_CONVERT_NOISE_SHAPING_SIMPLE" "2")
++    '("medium" "GST_AUDIO_CONVERT_NOISE_SHAPING_MEDIUM" "3")
++    '("high" "GST_AUDIO_CONVERT_NOISE_SHAPING_HIGH" "4")
+   )
+ )
+ 
+ ;; From gstaudiotestsrc.h
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;   GST_AUDIO_TEST_SRC_WAVE_SINE,
+ ;;   GST_AUDIO_TEST_SRC_WAVE_SQUARE,
+ ;;   GST_AUDIO_TEST_SRC_WAVE_SAW,
+@@ -4473,40 +4428,40 @@
+ ;;     GST_TEXT_OVERLAY_WRAP_MODE_WORD = PANGO_WRAP_WORD,
+ ;;     GST_TEXT_OVERLAY_WRAP_MODE_CHAR = PANGO_WRAP_CHAR,
+ ;;     GST_TEXT_OVERLAY_WRAP_MODE_WORD_CHAR = PANGO_WRAP_WORD_CHAR
+ ;; } GstTextOverlayWrapMode;
+ 
+ (define-enum-extended TextOverlayWrapMode
+   (in-module "Gst")
+   (c-name "GstTextOverlayWrapMode")
+   (values
+     '("none" "GST_TEXT_OVERLAY_WRAP_MODE_NONE" "-1")
+-    '("word" "GST_TEXT_OVERLAY_WRAP_MODE_WORD" "PANGO_WRAP_WORD")
+-    '("char" "GST_TEXT_OVERLAY_WRAP_MODE_CHAR" "PANGO_WRAP_CHAR")
+-    '("word-char" "GST_TEXT_OVERLAY_WRAP_MODE_WORD_CHAR" "PANGO_WRAP_WORD_CHAR")
++    '("word" "GST_TEXT_OVERLAY_WRAP_MODE_WORD" "0")
++    '("char" "GST_TEXT_OVERLAY_WRAP_MODE_CHAR" "1")
++    '("word-char" "GST_TEXT_OVERLAY_WRAP_MODE_WORD_CHAR" "2")
+   )
+ )
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;     GST_TEXT_OVERLAY_LINE_ALIGN_LEFT = PANGO_ALIGN_LEFT,
+ ;;     GST_TEXT_OVERLAY_LINE_ALIGN_CENTER = PANGO_ALIGN_CENTER,
+ ;;     GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT = PANGO_ALIGN_RIGHT
+ ;; } GstTextOverlayLineAlign;
+ 
+ (define-flags-extended TextOverlayLineAlign
+   (in-module "Gst")
+   (c-name "GstTextOverlayLineAlign")
+   (values
+-    '("left" "GST_TEXT_OVERLAY_LINE_ALIGN_LEFT" "PANGO_ALIGN_LEFT")
+-    '("center" "GST_TEXT_OVERLAY_LINE_ALIGN_CENTER" "PANGO_ALIGN_CENTER")
+-    '("right" "GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT" "PANGO_ALIGN_RIGHT")
++    '("left" "GST_TEXT_OVERLAY_LINE_ALIGN_LEFT" "0")
++    '("center" "GST_TEXT_OVERLAY_LINE_ALIGN_CENTER" "1")
++    '("right" "GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT" "2")
+   )
+ )
+ 
+ ;; From gsttextrender.h
+ 
+ ;; Original typedef:
+ ;; typedef enum {
+ ;;     GST_TEXT_RENDER_VALIGN_BASELINE,
+ ;;     GST_TEXT_RENDER_VALIGN_BOTTOM,
+ ;;     GST_TEXT_RENDER_VALIGN_TOP
+@@ -4543,37 +4498,62 @@
+ ;; typedef enum {
+ ;;     GST_TEXT_RENDER_LINE_ALIGN_LEFT = PANGO_ALIGN_LEFT,
+ ;;     GST_TEXT_RENDER_LINE_ALIGN_CENTER = PANGO_ALIGN_CENTER,
+ ;;     GST_TEXT_RENDER_LINE_ALIGN_RIGHT = PANGO_ALIGN_RIGHT
+ ;; } GstTextRenderLineAlign;
+ 
+ (define-flags-extended TextRenderLineAlign
+   (in-module "Gst")
+   (c-name "GstTextRenderLineAlign")
+   (values
+-    '("left" "GST_TEXT_RENDER_LINE_ALIGN_LEFT" "PANGO_ALIGN_LEFT")
+-    '("center" "GST_TEXT_RENDER_LINE_ALIGN_CENTER" "PANGO_ALIGN_CENTER")
+-    '("right" "GST_TEXT_RENDER_LINE_ALIGN_RIGHT" "PANGO_ALIGN_RIGHT")
++    '("left" "GST_TEXT_RENDER_LINE_ALIGN_LEFT" "0")
++    '("center" "GST_TEXT_RENDER_LINE_ALIGN_CENTER" "1")
++    '("right" "GST_TEXT_RENDER_LINE_ALIGN_RIGHT" "2")
+   )
+ )
+ 
+ ;; From gsttheoraenc.h
+ 
+ ;; Original typedef:
+ ;; typedef enum
+ ;; {
+ ;;   BORDER_NONE,
+ ;;   BORDER_BLACK,
+ ;;   BORDER_MIRROR
+ ;; }
+ ;; GstTheoraEncBorderMode;
+ 
+ (define-enum-extended TheoraEncBorderMode
+   (in-module "Gst")
+   (c-name "GstTheoraEncBorderMode")
+   (values
+-    '("none" "BORDER_NONE" "0")
+-    '("black" "BORDER_BLACK" "1")
+-    '("mirror" "BORDER_MIRROR" "2")
++    '("none" "GST_THEORA_ENC_BORDER_NONE" "0")
++    '("black" "GST_THEORA_ENC_BORDER_BLACK" "1")
++    '("mirror" "GST_THEORA_ENC_BORDER_MIRROR" "2")
++  )
++)
++
++;; Handwritten for CdParanoiaSrc plugin (values taken from output of
++;; `gst-inspect cdparanoiasrc' -- "paranoia-mode" property information)
++(define-enum-extended GstCdParanoiaSrc
++  (in-module "Gst")
++  (c-name "GstCdParanoiaMode")
++  (values
++    '("disable" "GST_PARANOIA_MODE_DISABLE" "1<<0")
++    '("fragment" "GST_PARANOIA_MODE_FRAGMENT" "1<<1")
++    '("overlap" "GST_PARANOIA_MODE_OVERLAP" "1<<2")
++    '("scratch" "GST_PARANOIA_MODE_SCRATCH" "1<<3")
++    '("repair" "GST_PARANOIA_MODE_REPAIR" "1<<4")
++    '("full" "GST_PARANOIA_MODE_FULL" "0xff")
+   )
+ )
+ 
++;; Handwritten for MultiFdSink plugin (taken from gstmultifdsink.c):
++(define-enum-extended FDSetMode
++  (in-module "Gst")
++  (c-name "GstFDSetMode")
++  (values
++    '("select" "GST_FD_SET_MODE_SELECT" "0")
++    '("poll" "GST_FD_SET_MODE_POLL" "1")
++    '("epoll" "GST_FD_SET_MODE_EPOLL" "2")
++  )
++)
diff --git a/gstreamer/src/gst_methods.defs b/gstreamer/src/gst_methods.defs
index 7643b62..afba4af 100644
--- a/gstreamer/src/gst_methods.defs
+++ b/gstreamer/src/gst_methods.defs
@@ -11964,9 +11964,9 @@
   (return-type "guint8*")
 )
 
-(define-method reset_and_get_data_as_buffer
+(define-method reset_and_get_buffer
   (of-object "GstByteWriter")
-  (c-name "gst_byte_writer_reset_and_get_data_as_buffer")
+  (c-name "gst_byte_writer_reset_and_get_buffer")
   (return-type "GstBuffer*")
 )
 
@@ -12141,36 +12141,36 @@
   )
 )
 
-(define-method put_float_be
+(define-method put_float32_be
   (of-object "GstByteWriter")
-  (c-name "gst_byte_writer_put_float_be")
+  (c-name "gst_byte_writer_put_float32_be")
   (return-type "gboolean")
   (parameters
     '("gfloat" "val")
   )
 )
 
-(define-method put_float_le
+(define-method put_float32_le
   (of-object "GstByteWriter")
-  (c-name "gst_byte_writer_put_float_le")
+  (c-name "gst_byte_writer_put_float32_le")
   (return-type "gboolean")
   (parameters
     '("gfloat" "val")
   )
 )
 
-(define-method put_double_be
+(define-method put_float64_be
   (of-object "GstByteWriter")
-  (c-name "gst_byte_writer_put_double_be")
+  (c-name "gst_byte_writer_put_float64_be")
   (return-type "gboolean")
   (parameters
     '("gdouble" "val")
   )
 )
 
-(define-method put_double_le
+(define-method put_float64_le
   (of-object "GstByteWriter")
-  (c-name "gst_byte_writer_put_double_le")
+  (c-name "gst_byte_writer_put_float64_le")
   (return-type "gboolean")
   (parameters
     '("gdouble" "val")
@@ -12187,6 +12187,16 @@
   )
 )
 
+(define-method fill
+  (of-object "GstByteWriter")
+  (c-name "gst_byte_writer_fill")
+  (return-type "gboolean")
+  (parameters
+    '("const-guint8" "value")
+    '("guint" "size")
+  )
+)
+
 (define-method put_string_utf8
   (of-object "GstByteWriter")
   (c-name "gst_byte_writer_put_string_utf8")
@@ -12948,7 +12958,7 @@
   (return-type "gboolean")
   (parameters
     '("GstClockTime" "timestamp")
-    '("GValue*" "value")
+    '("const-GValue*" "value")
   )
 )
 
@@ -12957,7 +12967,7 @@
   (c-name "gst_interpolation_control_source_set_from_list")
   (return-type "gboolean")
   (parameters
-    '("GSList*" "timedvalues")
+    '("const-GSList*" "timedvalues")
   )
 )
 
@@ -17798,6 +17808,20 @@
   )
 )
 
+(define-method to_name
+  (of-object "GstRTCPSDESType")
+  (c-name "gst_rtcp_sdes_type_to_name")
+  (return-type "const-gchar*")
+)
+
+(define-function gst_rtcp_sdes_name_to_type
+  (c-name "gst_rtcp_sdes_name_to_type")
+  (return-type "GstRTCPSDESType")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
 
 
 ;; From gstrtpbuffer.h
@@ -20002,6 +20026,43 @@
   (return-type "none")
 )
 
+(define-function gst_tag_get_language_codes
+  (c-name "gst_tag_get_language_codes")
+  (return-type "gchar**")
+)
+
+(define-function gst_tag_get_language_name
+  (c-name "gst_tag_get_language_name")
+  (return-type "const-gchar*")
+  (parameters
+    '("const-gchar*" "language_code")
+  )
+)
+
+(define-function gst_tag_get_language_code_iso_639_1
+  (c-name "gst_tag_get_language_code_iso_639_1")
+  (return-type "const-gchar*")
+  (parameters
+    '("const-gchar*" "lang_code")
+  )
+)
+
+(define-function gst_tag_get_language_code_iso_639_2B
+  (c-name "gst_tag_get_language_code_iso_639_2B")
+  (return-type "const-gchar*")
+  (parameters
+    '("const-gchar*" "lang_code")
+  )
+)
+
+(define-function gst_tag_get_language_code_iso_639_2T
+  (c-name "gst_tag_get_language_code_iso_639_2T")
+  (return-type "const-gchar*")
+  (parameters
+    '("const-gchar*" "lang_code")
+  )
+)
+
 
 
 ;; From descriptions.h
diff --git a/gstreamer/src/gst_methods.defs.patch b/gstreamer/src/gst_methods.defs.patch
index 79de9fd..5e790ec 100644
--- a/gstreamer/src/gst_methods.defs.patch
+++ b/gstreamer/src/gst_methods.defs.patch
@@ -1,168 +1,204 @@
-*** gst_methods.defs.orig	2009-07-29 19:50:15.000000000 -0400
---- gst_methods.defs	2009-07-29 20:07:35.000000000 -0400
-***************
-*** 1,4 ****
---- 1,7 ----
-  ;; -*- scheme -*-
-+ 
-+ ;; Apply gst_methods.defs.patch after regenerating.
-+ 
-  ; object definitions ...
-  (define-object Adapter
-    (in-module "Gst")
-***************
-*** 279,285 ****
-    (c-name "GstBinFlags")
-    (gtype-id "GST_TYPE_BIN_FLAGS")
-    (values
-!     '("t" "GST_BIN_FLAG_LAST")
-    )
-  )
-  
---- 282,288 ----
-    (c-name "GstBinFlags")
-    (gtype-id "GST_TYPE_BIN_FLAGS")
-    (values
-!     '("last" "GST_BIN_FLAG_LAST")
-    )
-  )
-  
-***************
-*** 328,335 ****
-    (c-name "GstBusFlags")
-    (gtype-id "GST_TYPE_BUS_FLAGS")
-    (values
-!     '("ushing" "GST_BUS_FLUSHING")
-!     '("ag-last" "GST_BUS_FLAG_LAST")
-    )
-  )
-  
---- 331,338 ----
-    (c-name "GstBusFlags")
-    (gtype-id "GST_TYPE_BUS_FLAGS")
-    (values
-!     '("flushing" "GST_BUS_FLUSHING")
-!     '("flag-last" "GST_BUS_FLAG_LAST")
-    )
-  )
-  
-***************
-*** 349,355 ****
-    (c-name "GstCapsFlags")
-    (gtype-id "GST_TYPE_CAPS_FLAGS")
-    (values
-!     '("y" "GST_CAPS_FLAGS_ANY")
-    )
-  )
-  
---- 352,358 ----
-    (c-name "GstCapsFlags")
-    (gtype-id "GST_TYPE_CAPS_FLAGS")
-    (values
-!     '("any" "GST_CAPS_FLAGS_ANY")
-    )
-  )
-  
-***************
-*** 551,598 ****
-    )
-  )
-  
-- (define-enum EventType
--   (in-module "Gst")
--   (c-name "GstEventType")
--   (gtype-id "GST_TYPE_EVENT_TYPE")
--   (values
--     '("gst-event-unknown" "GST_EVENT_UNKNOWN")
--     '("0)" "0)")
--     '("gst-event-flush-start" "GST_EVENT_FLUSH_START")
--     '("flag(both))" "FLAG(BOTH))")
--     '("gst-event-flush-stop" "GST_EVENT_FLUSH_STOP")
--     '("flag(both)" "FLAG(BOTH)")
--     '("gst-event-eos" "GST_EVENT_EOS")
--     '("flag(downstream)" "FLAG(DOWNSTREAM)")
--     '("gst-event-newsegment" "GST_EVENT_NEWSEGMENT")
--     '("flag(downstream)" "FLAG(DOWNSTREAM)")
--     '("gst-event-tag" "GST_EVENT_TAG")
--     '("flag(downstream)" "FLAG(DOWNSTREAM)")
--     '("gst-event-buffersize" "GST_EVENT_BUFFERSIZE")
--     '("flag(downstream)" "FLAG(DOWNSTREAM)")
--     '("gst-event-qos" "GST_EVENT_QOS")
--     '("flag(upstream))" "FLAG(UPSTREAM))")
--     '("gst-event-seek" "GST_EVENT_SEEK")
--     '("flag(upstream))" "FLAG(UPSTREAM))")
--     '("gst-event-navigation" "GST_EVENT_NAVIGATION")
--     '("flag(upstream))" "FLAG(UPSTREAM))")
--     '("gst-event-latency" "GST_EVENT_LATENCY")
--     '("flag(upstream))" "FLAG(UPSTREAM))")
--     '("gst-event-step" "GST_EVENT_STEP")
--     '("flag(upstream))" "FLAG(UPSTREAM))")
--     '("gst-event-custom-upstream" "GST_EVENT_CUSTOM_UPSTREAM")
--     '("flag(upstream))" "FLAG(UPSTREAM))")
--     '("gst-event-custom-downstream" "GST_EVENT_CUSTOM_DOWNSTREAM")
--     '("flag(downstream)" "FLAG(DOWNSTREAM)")
--     '("gst-event-custom-downstream-oob" "GST_EVENT_CUSTOM_DOWNSTREAM_OOB")
--     '("flag(downstream))" "FLAG(DOWNSTREAM))")
--     '("gst-event-custom-both" "GST_EVENT_CUSTOM_BOTH")
--     '("flag(both)" "FLAG(BOTH)")
--     '("gst-event-custom-both-oob" "GST_EVENT_CUSTOM_BOTH_OOB")
--     '("flag(both))" "FLAG(BOTH))")
--   )
-- )
-- 
-  (define-enum SeekType
-    (in-module "Gst")
-    (c-name "GstSeekType")
---- 554,559 ----
-***************
-*** 932,939 ****
-    (c-name "GstPadTemplateFlags")
-    (gtype-id "GST_TYPE_PAD_TEMPLATE_FLAGS")
-    (values
-!     '("ixed" "GST_PAD_TEMPLATE_FIXED")
-!     '("lag-last" "GST_PAD_TEMPLATE_FLAG_LAST")
-    )
-  )
-  
---- 893,900 ----
-    (c-name "GstPadTemplateFlags")
-    (gtype-id "GST_TYPE_PAD_TEMPLATE_FLAGS")
-    (values
-!     '("fixed" "GST_PAD_TEMPLATE_FIXED")
-!     '("flag-last" "GST_PAD_TEMPLATE_FLAG_LAST")
-    )
-  )
-  
-***************
-*** 1000,1006 ****
-    (c-name "GstPluginFlags")
-    (gtype-id "GST_TYPE_PLUGIN_FLAGS")
-    (values
-!     '("d" "GST_PLUGIN_FLAG_CACHED")
-    )
-  )
-  
---- 961,967 ----
-    (c-name "GstPluginFlags")
-    (gtype-id "GST_TYPE_PLUGIN_FLAGS")
-    (values
-!     '("cached" "GST_PLUGIN_FLAG_CACHED")
-    )
-  )
-  
-***************
-*** 4363,4368 ****
---- 4324,4336 ----
-    (return-type "GQuark")
-  )
-  
-+ ;; This method is not generated for some reason.
-+ (define-method get_seqnum
-+   (of-object "GstMessage")
-+   (c-name "gst_message_get_seqnum")
-+   (return-type "guint32")
-+ )
-+ 
-  (define-method set_seqnum
-    (of-object "GstMessage")
-    (c-name "gst_message_set_seqnum")
+--- gst_methods.defs.orig	2010-03-15 16:29:33.000000000 -0400
++++ gst_methods.defs	2010-03-15 16:33:32.000000000 -0400
+@@ -1,11 +1,14 @@
+ ;; -*- scheme -*-
++
++;; Apply gst_methods.defs.patch after regenerating.
++
+ ; object definitions ...
+ (define-object Adapter
+   (in-module "Gst")
+   (parent "GObject")
+   (c-name "GstAdapter")
+   (gtype-id "GST_TYPE_ADAPTER")
+ )
+ 
+ (define-object Buffer
+   (in-module "Gst")
+@@ -272,21 +275,21 @@
+   (gtype-id "GST_TYPE_XML")
+ )
+ 
+ ;; Enumerations and flags ...
+ 
+ (define-flags BinFlags
+   (in-module "Gst")
+   (c-name "GstBinFlags")
+   (gtype-id "GST_TYPE_BIN_FLAGS")
+   (values
+-    '("t" "GST_BIN_FLAG_LAST")
++    '("last" "GST_BIN_FLAG_LAST")
+   )
+ )
+ 
+ (define-flags BufferFlag
+   (in-module "Gst")
+   (c-name "GstBufferFlag")
+   (gtype-id "GST_TYPE_BUFFER_FLAG")
+   (values
+     '("readonly" "GST_BUFFER_FLAG_READONLY")
+     '("preroll" "GST_BUFFER_FLAG_PREROLL")
+@@ -321,42 +324,42 @@
+     '("skip-group" "GST_BUFFER_LIST_SKIP_GROUP")
+     '("end" "GST_BUFFER_LIST_END")
+   )
+ )
+ 
+ (define-flags BusFlags
+   (in-module "Gst")
+   (c-name "GstBusFlags")
+   (gtype-id "GST_TYPE_BUS_FLAGS")
+   (values
+-    '("ushing" "GST_BUS_FLUSHING")
+-    '("ag-last" "GST_BUS_FLAG_LAST")
++    '("flushing" "GST_BUS_FLUSHING")
++    '("flag-last" "GST_BUS_FLAG_LAST")
+   )
+ )
+ 
+ (define-enum BusSyncReply
+   (in-module "Gst")
+   (c-name "GstBusSyncReply")
+   (gtype-id "GST_TYPE_BUS_SYNC_REPLY")
+   (values
+     '("drop" "GST_BUS_DROP")
+     '("pass" "GST_BUS_PASS")
+     '("async" "GST_BUS_ASYNC")
+   )
+ )
+ 
+ (define-flags CapsFlags
+   (in-module "Gst")
+   (c-name "GstCapsFlags")
+   (gtype-id "GST_TYPE_CAPS_FLAGS")
+   (values
+-    '("y" "GST_CAPS_FLAGS_ANY")
++    '("any" "GST_CAPS_FLAGS_ANY")
+   )
+ )
+ 
+ (define-enum ClockReturn
+   (in-module "Gst")
+   (c-name "GstClockReturn")
+   (gtype-id "GST_TYPE_CLOCK_RETURN")
+   (values
+     '("ok" "GST_CLOCK_OK")
+     '("early" "GST_CLOCK_EARLY")
+@@ -544,64 +547,20 @@
+   (in-module "Gst")
+   (c-name "GstEventTypeFlags")
+   (gtype-id "GST_TYPE_EVENT_TYPE_FLAGS")
+   (values
+     '("upstream" "GST_EVENT_TYPE_UPSTREAM")
+     '("downstream" "GST_EVENT_TYPE_DOWNSTREAM")
+     '("serialized" "GST_EVENT_TYPE_SERIALIZED")
+   )
+ )
+ 
+-(define-enum EventType
+-  (in-module "Gst")
+-  (c-name "GstEventType")
+-  (gtype-id "GST_TYPE_EVENT_TYPE")
+-  (values
+-    '("gst-event-unknown" "GST_EVENT_UNKNOWN")
+-    '("0)" "0)")
+-    '("gst-event-flush-start" "GST_EVENT_FLUSH_START")
+-    '("flag(both))" "FLAG(BOTH))")
+-    '("gst-event-flush-stop" "GST_EVENT_FLUSH_STOP")
+-    '("flag(both)" "FLAG(BOTH)")
+-    '("gst-event-eos" "GST_EVENT_EOS")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)")
+-    '("gst-event-newsegment" "GST_EVENT_NEWSEGMENT")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)")
+-    '("gst-event-tag" "GST_EVENT_TAG")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)")
+-    '("gst-event-buffersize" "GST_EVENT_BUFFERSIZE")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)")
+-    '("gst-event-sink-message" "GST_EVENT_SINK_MESSAGE")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)")
+-    '("gst-event-qos" "GST_EVENT_QOS")
+-    '("flag(upstream))" "FLAG(UPSTREAM))")
+-    '("gst-event-seek" "GST_EVENT_SEEK")
+-    '("flag(upstream))" "FLAG(UPSTREAM))")
+-    '("gst-event-navigation" "GST_EVENT_NAVIGATION")
+-    '("flag(upstream))" "FLAG(UPSTREAM))")
+-    '("gst-event-latency" "GST_EVENT_LATENCY")
+-    '("flag(upstream))" "FLAG(UPSTREAM))")
+-    '("gst-event-step" "GST_EVENT_STEP")
+-    '("flag(upstream))" "FLAG(UPSTREAM))")
+-    '("gst-event-custom-upstream" "GST_EVENT_CUSTOM_UPSTREAM")
+-    '("flag(upstream))" "FLAG(UPSTREAM))")
+-    '("gst-event-custom-downstream" "GST_EVENT_CUSTOM_DOWNSTREAM")
+-    '("flag(downstream)" "FLAG(DOWNSTREAM)")
+-    '("gst-event-custom-downstream-oob" "GST_EVENT_CUSTOM_DOWNSTREAM_OOB")
+-    '("flag(downstream))" "FLAG(DOWNSTREAM))")
+-    '("gst-event-custom-both" "GST_EVENT_CUSTOM_BOTH")
+-    '("flag(both)" "FLAG(BOTH)")
+-    '("gst-event-custom-both-oob" "GST_EVENT_CUSTOM_BOTH_OOB")
+-    '("flag(both))" "FLAG(BOTH))")
+-  )
+-)
+-
+ (define-enum SeekType
+   (in-module "Gst")
+   (c-name "GstSeekType")
+   (gtype-id "GST_TYPE_SEEK_TYPE")
+   (values
+     '("none" "GST_SEEK_TYPE_NONE")
+     '("cur" "GST_SEEK_TYPE_CUR")
+     '("set" "GST_SEEK_TYPE_SET")
+     '("end" "GST_SEEK_TYPE_END")
+   )
+@@ -927,22 +886,22 @@
+     '("sometimes" "GST_PAD_SOMETIMES")
+     '("request" "GST_PAD_REQUEST")
+   )
+ )
+ 
+ (define-flags PadTemplateFlags
+   (in-module "Gst")
+   (c-name "GstPadTemplateFlags")
+   (gtype-id "GST_TYPE_PAD_TEMPLATE_FLAGS")
+   (values
+-    '("ixed" "GST_PAD_TEMPLATE_FIXED")
+-    '("lag-last" "GST_PAD_TEMPLATE_FLAG_LAST")
++    '("fixed" "GST_PAD_TEMPLATE_FIXED")
++    '("flag-last" "GST_PAD_TEMPLATE_FLAG_LAST")
+   )
+ )
+ 
+ (define-enum ParseError
+   (in-module "Gst")
+   (c-name "GstParseError")
+   (gtype-id "GST_TYPE_PARSE_ERROR")
+   (values
+     '("syntax" "GST_PARSE_ERROR_SYNTAX")
+     '("no-such-element" "GST_PARSE_ERROR_NO_SUCH_ELEMENT")
+@@ -4389,20 +4348,27 @@
+   (c-name "gst_message_type_get_name")
+   (return-type "const-gchar*")
+ )
+ 
+ (define-method to_quark
+   (of-object "GstMessageType")
+   (c-name "gst_message_type_to_quark")
+   (return-type "GQuark")
+ )
+ 
++;; This method is not generated for some reason.
++(define-method get_seqnum
++  (of-object "GstMessage")
++  (c-name "gst_message_get_seqnum")
++  (return-type "guint32")
++)
++
+ (define-method set_seqnum
+   (of-object "GstMessage")
+   (c-name "gst_message_set_seqnum")
+   (return-type "none")
+   (parameters
+     '("guint32" "seqnum")
+   )
+ )
+ 
+ (define-function gst_message_new_eos



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]