rpms/gstreamer-plugins-good/OLPC-3 gst-plugins-good-0.10.4-docs.patch, 1.2, 1.3 gst-plugins-good-0.10.5-flac.patch, 1.2, 1.3 gst-v4l2-nointerlace.patch, NONE, 1.1 import.log, NONE, 1.1 .cvsignore, 1.10, 1.11 gstreamer-plugins-good.spec, 1.64, 1.65 sources, 1.10, 1.11 gst-plugins-good-0.10.8-docs.patch, 1.1, NONE gst-plugins-good-0.10.8-http-auth.patch, 1.1, NONE gst-plugins-good-0.10.8-speex-nego.patch, 1.1, NONE gst-plugins-good-0.10.8-v4l2-progressive-fix.patch, 1.1, NONE gst-plugins-good-v4l2-new-kernel.patch, 1.1, NONE

Daniel Drake dsd at fedoraproject.org
Wed Aug 27 18:39:19 UTC 2008


Author: dsd

Update of /cvs/pkgs/rpms/gstreamer-plugins-good/OLPC-3
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7406/OLPC-3

Modified Files:
	.cvsignore gstreamer-plugins-good.spec sources 
Added Files:
	gst-plugins-good-0.10.4-docs.patch 
	gst-plugins-good-0.10.5-flac.patch gst-v4l2-nointerlace.patch 
	import.log 
Removed Files:
	gst-plugins-good-0.10.8-docs.patch 
	gst-plugins-good-0.10.8-http-auth.patch 
	gst-plugins-good-0.10.8-speex-nego.patch 
	gst-plugins-good-0.10.8-v4l2-progressive-fix.patch 
	gst-plugins-good-v4l2-new-kernel.patch 
Log Message:
revert to old gstreamer


gst-plugins-good-0.10.4-docs.patch:

Index: gst-plugins-good-0.10.4-docs.patch
===================================================================
RCS file: gst-plugins-good-0.10.4-docs.patch
diff -N gst-plugins-good-0.10.4-docs.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gst-plugins-good-0.10.4-docs.patch	27 Aug 2008 18:39:18 -0000	1.3
@@ -0,0 +1,13 @@
+--- gst-plugins-good-0.10.4/docs/Makefile.in.docs	2006-08-26 01:02:09.000000000 -0400
++++ gst-plugins-good-0.10.4/docs/Makefile.in	2006-08-26 01:02:31.000000000 -0400
+@@ -438,9 +438,7 @@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+- at ENABLE_PLUGIN_DOCS_FALSE@PLUGIN_DOCS_DIRS = 
+- at ENABLE_PLUGIN_DOCS_TRUE@PLUGIN_DOCS_DIRS = plugins
+-SUBDIRS = $(PLUGIN_DOCS_DIRS)
++SUBDIRS = plugins
+ DIST_SUBDIRS = plugins
+ EXTRA_DIST = \
+         random/ChangeLog-0.8 \

gst-plugins-good-0.10.5-flac.patch:

Index: gst-plugins-good-0.10.5-flac.patch
===================================================================
RCS file: gst-plugins-good-0.10.5-flac.patch
diff -N gst-plugins-good-0.10.5-flac.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gst-plugins-good-0.10.5-flac.patch	27 Aug 2008 18:39:18 -0000	1.3
@@ -0,0 +1,1083 @@
+--- gst-plugins-good-0.10.5/ext/flac/gstflacdec.h.flac	2006-08-22 08:28:24.000000000 -0400
++++ gst-plugins-good-0.10.5/ext/flac/gstflacdec.h	2007-02-01 23:38:35.000000000 -0500
+@@ -41,7 +41,11 @@
+ struct _GstFlacDec {
+   GstElement     element;
+ 
++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
+   FLAC__SeekableStreamDecoder *seekable_decoder; /* for pull-based operation  */
++#else
++  FLAC__StreamDecoder         *seekable_decoder; /* for pull-based operation  */
++#endif
+ 
+   FLAC__StreamDecoder         *stream_decoder;   /* for chain-based operation */
+   GstAdapter                  *adapter;
+--- gst-plugins-good-0.10.5/ext/flac/gstflacenc.h.flac	2006-06-01 17:07:23.000000000 -0400
++++ gst-plugins-good-0.10.5/ext/flac/gstflacenc.h	2007-02-01 23:38:35.000000000 -0500
+@@ -54,7 +54,11 @@
+   gboolean       stopped;
+   FLAC__int32   *data;
+ 
++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
+   FLAC__SeekableStreamEncoder *encoder;
++#else
++  FLAC__StreamEncoder *encoder;
++#endif
+   FLAC__StreamMetadata **meta;
+ 
+   GstTagList *     tags;
+--- gst-plugins-good-0.10.5/ext/flac/gstflacenc.c.flac	2006-10-16 14:22:46.000000000 -0400
++++ gst-plugins-good-0.10.5/ext/flac/gstflacenc.c	2007-02-01 23:38:35.000000000 -0500
+@@ -29,6 +29,12 @@
+ #include <gst/tag/tag.h>
+ #include <gst/gsttagsetter.h>
+ 
++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
++
+ 
+ static const GstElementDetails flacenc_details =
+ GST_ELEMENT_DETAILS ("FLAC audio encoder",
+@@ -108,6 +114,7 @@
+ static GstStateChangeReturn gst_flac_enc_change_state (GstElement * element,
+     GstStateChange transition);
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__StreamEncoderWriteStatus
+ gst_flac_enc_write_callback (const FLAC__SeekableStreamEncoder * encoder,
+     const FLAC__byte buffer[], unsigned bytes,
+@@ -118,6 +125,18 @@
+ static FLAC__SeekableStreamEncoderTellStatus
+ gst_flac_enc_tell_callback (const FLAC__SeekableStreamEncoder * encoder,
+     FLAC__uint64 * absolute_byte_offset, void *client_data);
++#else
++static FLAC__StreamEncoderWriteStatus
++gst_flac_enc_write_callback (const FLAC__StreamEncoder * encoder,
++    const FLAC__byte buffer[], size_t bytes,
++    unsigned samples, unsigned current_frame, void *client_data);
++static FLAC__StreamEncoderSeekStatus
++gst_flac_enc_seek_callback (const FLAC__StreamEncoder * encoder,
++    FLAC__uint64 absolute_byte_offset, void *client_data);
++static FLAC__StreamEncoderTellStatus
++gst_flac_enc_tell_callback (const FLAC__StreamEncoder * encoder,
++    FLAC__uint64 * absolute_byte_offset, void *client_data);
++#endif
+ 
+ typedef struct
+ {
+@@ -302,7 +321,11 @@
+   gst_pad_use_fixed_caps (flacenc->srcpad);
+   gst_element_add_pad (GST_ELEMENT (flacenc), flacenc->srcpad);
+ 
++#ifdef LEGACY_FLAC
+   flacenc->encoder = FLAC__seekable_stream_encoder_new ();
++#else
++  flacenc->encoder = FLAC__stream_encoder_new ();
++#endif
+ 
+   flacenc->offset = 0;
+   flacenc->samples_written = 0;
+@@ -315,7 +338,11 @@
+ {
+   GstFlacEnc *flacenc = GST_FLAC_ENC (object);
+ 
++#ifdef LEGACY_FLAC
+   FLAC__seekable_stream_encoder_delete (flacenc->encoder);
++#else
++  FLAC__stream_encoder_delete (flacenc->encoder);
++#endif
+ 
+   G_OBJECT_CLASS (parent_class)->finalize (object);
+ }
+@@ -360,8 +387,13 @@
+       FLAC__metadata_object_new (FLAC__METADATA_TYPE_VORBIS_COMMENT);
+   gst_tag_list_foreach (copy, add_one_tag, flacenc);
+ 
++#ifdef LEGACY_FLAC
+   if (FLAC__seekable_stream_encoder_set_metadata (flacenc->encoder,
+           flacenc->meta, 1) != true)
++#else
++  if (FLAC__stream_encoder_set_metadata (flacenc->encoder,
++          flacenc->meta, 1) != true)
++#endif
+     g_warning ("Dude, i'm already initialized!");
+   gst_tag_list_free (copy);
+ }
+@@ -371,13 +403,22 @@
+ {
+   GstFlacEnc *flacenc;
+   GstStructure *structure;
++#ifdef LEGACY_FLAC
+   FLAC__SeekableStreamEncoderState state;
++#else
++  FLAC__StreamEncoderInitStatus init_status;
++#endif
+ 
+   /* takes a ref on flacenc */
+   flacenc = GST_FLAC_ENC (gst_pad_get_parent (pad));
+ 
++#ifdef LEGACY_FLAC
+   if (FLAC__seekable_stream_encoder_get_state (flacenc->encoder) !=
+       FLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED)
++#else
++  if (FLAC__stream_encoder_get_state (flacenc->encoder) !=
++      FLAC__STREAM_ENCODER_UNINITIALIZED)
++#endif
+     goto encoder_already_initialized;
+ 
+   structure = gst_caps_get_structure (caps, 0);
+@@ -397,6 +438,7 @@
+ 
+   gst_caps_unref (caps);
+ 
++#ifdef LEGACY_FLAC
+   FLAC__seekable_stream_encoder_set_bits_per_sample (flacenc->encoder,
+       flacenc->depth);
+   FLAC__seekable_stream_encoder_set_sample_rate (flacenc->encoder,
+@@ -412,12 +454,25 @@
+       gst_flac_enc_tell_callback);
+ 
+   FLAC__seekable_stream_encoder_set_client_data (flacenc->encoder, flacenc);
++#else
++  FLAC__stream_encoder_set_bits_per_sample (flacenc->encoder, flacenc->depth);
++  FLAC__stream_encoder_set_sample_rate (flacenc->encoder, flacenc->sample_rate);
++  FLAC__stream_encoder_set_channels (flacenc->encoder, flacenc->channels);
++#endif
+ 
+   gst_flac_enc_set_metadata (flacenc);
+ 
++#ifdef LEGACY_FLAC
+   state = FLAC__seekable_stream_encoder_init (flacenc->encoder);
+   if (state != FLAC__STREAM_ENCODER_OK)
+     goto failed_to_initialize;
++#else
++  init_status = FLAC__stream_encoder_init_stream (flacenc->encoder,
++      gst_flac_enc_write_callback, gst_flac_enc_seek_callback,
++      gst_flac_enc_tell_callback, NULL, flacenc);
++  if (init_status != FLAC__STREAM_ENCODER_INIT_STATUS_OK)
++    goto failed_to_initialize;
++#endif
+ 
+   gst_object_unref (flacenc);
+ 
+@@ -451,6 +506,7 @@
+ {
+   flacenc->quality = quality;
+ 
++#ifdef LEGACY_FLAC
+ #define DO_UPDATE(name, val, str)                                               \
+   G_STMT_START {                                                                \
+     if (FLAC__seekable_stream_encoder_get_##name (flacenc->encoder) !=          \
+@@ -460,6 +516,17 @@
+       g_object_notify (G_OBJECT (flacenc), str);                                \
+     }                                                                           \
+   } G_STMT_END
++#else
++#define DO_UPDATE(name, val, str)                                               \
++  G_STMT_START {                                                                \
++    if (FLAC__stream_encoder_get_##name (flacenc->encoder) !=                   \
++        flacenc_params[quality].val) {                                          \
++      FLAC__stream_encoder_set_##name (flacenc->encoder,                        \
++          flacenc_params[quality].val);                                         \
++      g_object_notify (G_OBJECT (flacenc), str);                                \
++    }                                                                           \
++  } G_STMT_END
++#endif
+ 
+   g_object_freeze_notify (G_OBJECT (flacenc));
+ 
+@@ -490,9 +557,15 @@
+   return TRUE;
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamEncoderSeekStatus
+ gst_flac_enc_seek_callback (const FLAC__SeekableStreamEncoder * encoder,
+     FLAC__uint64 absolute_byte_offset, void *client_data)
++#else
++static FLAC__StreamEncoderSeekStatus
++gst_flac_enc_seek_callback (const FLAC__StreamEncoder * encoder,
++    FLAC__uint64 absolute_byte_offset, void *client_data)
++#endif
+ {
+   GstFlacEnc *flacenc;
+   GstEvent *event;
+@@ -501,7 +574,11 @@
+   flacenc = GST_FLAC_ENC (client_data);
+ 
+   if (flacenc->stopped)
++#ifdef LEGACY_FLAC
+     return FLAC__SEEKABLE_STREAM_ENCODER_SEEK_STATUS_OK;
++#else
++    return FLAC__STREAM_ENCODER_SEEK_STATUS_OK;
++#endif
+ 
+   event = gst_event_new_new_segment (TRUE, 1.0, GST_FORMAT_BYTES,
+       absolute_byte_offset, GST_BUFFER_OFFSET_NONE, 0);
+@@ -525,13 +602,24 @@
+ 
+   flacenc->offset = absolute_byte_offset;
+ 
++#ifdef LEGACY_FLAC
+   return FLAC__SEEKABLE_STREAM_ENCODER_SEEK_STATUS_OK;
++#else
++  return FLAC__STREAM_ENCODER_SEEK_STATUS_OK;
++#endif
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__StreamEncoderWriteStatus
+ gst_flac_enc_write_callback (const FLAC__SeekableStreamEncoder * encoder,
+     const FLAC__byte buffer[], unsigned bytes,
+     unsigned samples, unsigned current_frame, void *client_data)
++#else
++static FLAC__StreamEncoderWriteStatus
++gst_flac_enc_write_callback (const FLAC__StreamEncoder * encoder,
++    const FLAC__byte buffer[], size_t bytes,
++    unsigned samples, unsigned current_frame, void *client_data)
++#endif
+ {
+   GstFlowReturn ret;
+   GstFlacEnc *flacenc;
+@@ -577,15 +665,25 @@
+   return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamEncoderTellStatus
+ gst_flac_enc_tell_callback (const FLAC__SeekableStreamEncoder * encoder,
+     FLAC__uint64 * absolute_byte_offset, void *client_data)
++#else
++static FLAC__StreamEncoderTellStatus
++gst_flac_enc_tell_callback (const FLAC__StreamEncoder * encoder,
++    FLAC__uint64 * absolute_byte_offset, void *client_data)
++#endif
+ {
+   GstFlacEnc *flacenc = GST_FLAC_ENC (client_data);
+ 
+   *absolute_byte_offset = flacenc->offset;
+ 
++#ifdef LEGACY_FLAC
+   return FLAC__SEEKABLE_STREAM_ENCODER_TELL_STATUS_OK;
++#else
++  return FLAC__STREAM_ENCODER_TELL_STATUS_OK;
++#endif
+ }
+ 
+ static gboolean
+@@ -629,7 +727,11 @@
+       break;
+     }
+     case GST_EVENT_EOS:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_finish (flacenc->encoder);
++#else
++      FLAC__stream_encoder_finish (flacenc->encoder);
++#endif
+       ret = gst_pad_event_default (pad, event);
+       break;
+     case GST_EVENT_TAG:
+@@ -686,8 +788,13 @@
+ 
+   gst_buffer_unref (buffer);
+ 
++#ifdef LEGACY_FLAC
+   res = FLAC__seekable_stream_encoder_process_interleaved (flacenc->encoder,
+       (const FLAC__int32 *) data, samples / flacenc->channels);
++#else
++  res = FLAC__stream_encoder_process_interleaved (flacenc->encoder,
++      (const FLAC__int32 *) data, samples / flacenc->channels);
++#endif
+ 
+   g_free (data);
+ 
+@@ -712,52 +819,112 @@
+       gst_flac_enc_update_quality (this, g_value_get_enum (value));
+       break;
+     case PROP_STREAMABLE_SUBSET:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_streamable_subset (this->encoder,
+           g_value_get_boolean (value));
++#else
++      FLAC__stream_encoder_set_streamable_subset (this->encoder,
++          g_value_get_boolean (value));
++#endif
+       break;
+     case PROP_MID_SIDE_STEREO:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_do_mid_side_stereo (this->encoder,
+           g_value_get_boolean (value));
++#else
++      FLAC__stream_encoder_set_do_mid_side_stereo (this->encoder,
++          g_value_get_boolean (value));
++#endif
+       break;
+     case PROP_LOOSE_MID_SIDE_STEREO:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_loose_mid_side_stereo (this->encoder,
+           g_value_get_boolean (value));
++#else
++      FLAC__stream_encoder_set_loose_mid_side_stereo (this->encoder,
++          g_value_get_boolean (value));
++#endif
+       break;
+     case PROP_BLOCKSIZE:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_blocksize (this->encoder,
+           g_value_get_uint (value));
++#else
++      FLAC__stream_encoder_set_blocksize (this->encoder,
++          g_value_get_uint (value));
++#endif
+       break;
+     case PROP_MAX_LPC_ORDER:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_max_lpc_order (this->encoder,
+           g_value_get_uint (value));
++#else
++      FLAC__stream_encoder_set_max_lpc_order (this->encoder,
++          g_value_get_uint (value));
++#endif
+       break;
+     case PROP_QLP_COEFF_PRECISION:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_qlp_coeff_precision (this->encoder,
+           g_value_get_uint (value));
++#else
++      FLAC__stream_encoder_set_qlp_coeff_precision (this->encoder,
++          g_value_get_uint (value));
++#endif
+       break;
+     case PROP_QLP_COEFF_PREC_SEARCH:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search (this->encoder,
+           g_value_get_boolean (value));
++#else
++      FLAC__stream_encoder_set_do_qlp_coeff_prec_search (this->encoder,
++          g_value_get_boolean (value));
++#endif
+       break;
+     case PROP_ESCAPE_CODING:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_do_escape_coding (this->encoder,
+           g_value_get_boolean (value));
++#else
++      FLAC__stream_encoder_set_do_escape_coding (this->encoder,
++          g_value_get_boolean (value));
++#endif
+       break;
+     case PROP_EXHAUSTIVE_MODEL_SEARCH:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_do_exhaustive_model_search (this->
+           encoder, g_value_get_boolean (value));
++#else
++      FLAC__stream_encoder_set_do_exhaustive_model_search (this->
++          encoder, g_value_get_boolean (value));
++#endif
+       break;
+     case PROP_MIN_RESIDUAL_PARTITION_ORDER:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_min_residual_partition_order (this->
+           encoder, g_value_get_uint (value));
++#else
++      FLAC__stream_encoder_set_min_residual_partition_order (this->
++          encoder, g_value_get_uint (value));
++#endif
+       break;
+     case PROP_MAX_RESIDUAL_PARTITION_ORDER:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_max_residual_partition_order (this->
+           encoder, g_value_get_uint (value));
++#else
++      FLAC__stream_encoder_set_max_residual_partition_order (this->
++          encoder, g_value_get_uint (value));
++#endif
+       break;
+     case PROP_RICE_PARAMETER_SEARCH_DIST:
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_encoder_set_rice_parameter_search_dist (this->
+           encoder, g_value_get_uint (value));
++#else
++      FLAC__stream_encoder_set_rice_parameter_search_dist (this->
++          encoder, g_value_get_uint (value));
++#endif
+       break;
+     default:
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+@@ -780,59 +947,119 @@
+       g_value_set_enum (value, this->quality);
+       break;
+     case PROP_STREAMABLE_SUBSET:
++#ifdef LEGACY_FLAC
+       g_value_set_boolean (value,
+           FLAC__seekable_stream_encoder_get_streamable_subset (this->encoder));
++#else
++      g_value_set_boolean (value,
++          FLAC__stream_encoder_get_streamable_subset (this->encoder));
++#endif
+       break;
+     case PROP_MID_SIDE_STEREO:
++#ifdef LEGACY_FLAC
+       g_value_set_boolean (value,
+           FLAC__seekable_stream_encoder_get_do_mid_side_stereo (this->encoder));
++#else
++      g_value_set_boolean (value,
++          FLAC__stream_encoder_get_do_mid_side_stereo (this->encoder));
++#endif
+       break;
+     case PROP_LOOSE_MID_SIDE_STEREO:
++#ifdef LEGACY_FLAC
+       g_value_set_boolean (value,
+           FLAC__seekable_stream_encoder_get_loose_mid_side_stereo (this->
+               encoder));
++#else
++      g_value_set_boolean (value,
++          FLAC__stream_encoder_get_loose_mid_side_stereo (this->encoder));
++#endif
+       break;
+     case PROP_BLOCKSIZE:
++#ifdef LEGACY_FLAC
+       g_value_set_uint (value,
+           FLAC__seekable_stream_encoder_get_blocksize (this->encoder));
++#else
++      g_value_set_uint (value,
++          FLAC__stream_encoder_get_blocksize (this->encoder));
++#endif
+       break;
+     case PROP_MAX_LPC_ORDER:
++#ifdef LEGACY_FLAC
+       g_value_set_uint (value,
+           FLAC__seekable_stream_encoder_get_max_lpc_order (this->encoder));
++#else
++      g_value_set_uint (value,
++          FLAC__stream_encoder_get_max_lpc_order (this->encoder));
++#endif
+       break;
+     case PROP_QLP_COEFF_PRECISION:
++#ifdef LEGACY_FLAC
+       g_value_set_uint (value,
+           FLAC__seekable_stream_encoder_get_qlp_coeff_precision (this->
+               encoder));
++#else
++      g_value_set_uint (value,
++          FLAC__stream_encoder_get_qlp_coeff_precision (this->encoder));
++#endif
+       break;
+     case PROP_QLP_COEFF_PREC_SEARCH:
++#ifdef LEGACY_FLAC
+       g_value_set_boolean (value,
+           FLAC__seekable_stream_encoder_get_do_qlp_coeff_prec_search (this->
+               encoder));
++#else
++      g_value_set_boolean (value,
++          FLAC__stream_encoder_get_do_qlp_coeff_prec_search (this->encoder));
++#endif
+       break;
+     case PROP_ESCAPE_CODING:
++#ifdef LEGACY_FLAC
+       g_value_set_boolean (value,
+           FLAC__seekable_stream_encoder_get_do_escape_coding (this->encoder));
++#else
++      g_value_set_boolean (value,
++          FLAC__stream_encoder_get_do_escape_coding (this->encoder));
++#endif
+       break;
+     case PROP_EXHAUSTIVE_MODEL_SEARCH:
++#ifdef LEGACY_FLAC
+       g_value_set_boolean (value,
+           FLAC__seekable_stream_encoder_get_do_exhaustive_model_search (this->
+               encoder));
++#else
++      g_value_set_boolean (value,
++          FLAC__stream_encoder_get_do_exhaustive_model_search (this->encoder));
++#endif
+       break;
+     case PROP_MIN_RESIDUAL_PARTITION_ORDER:
++#ifdef LEGACY_FLAC
+       g_value_set_uint (value,
+           FLAC__seekable_stream_encoder_get_min_residual_partition_order (this->
+               encoder));
++#else
++      g_value_set_uint (value,
++          FLAC__stream_encoder_get_min_residual_partition_order (this->encoder));
++#endif
+       break;
+     case PROP_MAX_RESIDUAL_PARTITION_ORDER:
++#ifdef LEGACY_FLAC
+       g_value_set_uint (value,
+           FLAC__seekable_stream_encoder_get_max_residual_partition_order (this->
+               encoder));
++#else
++      g_value_set_uint (value,
++          FLAC__stream_encoder_get_max_residual_partition_order (this->encoder));
++#endif
+       break;
+     case PROP_RICE_PARAMETER_SEARCH_DIST:
++#ifdef LEGACY_FLAC
+       g_value_set_uint (value,
+           FLAC__seekable_stream_encoder_get_rice_parameter_search_dist (this->
+               encoder));
++#else
++      g_value_set_uint (value,
++          FLAC__stream_encoder_get_rice_parameter_search_dist (this->encoder));
++#endif
+       break;
+     default:
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+@@ -864,11 +1091,19 @@
+     case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+       break;
+     case GST_STATE_CHANGE_PAUSED_TO_READY:
++#ifdef LEGACY_FLAC
+       if (FLAC__seekable_stream_encoder_get_state (flacenc->encoder) !=
+-          FLAC__STREAM_ENCODER_UNINITIALIZED) {
++          FLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED) {
+         flacenc->stopped = TRUE;
+         FLAC__seekable_stream_encoder_finish (flacenc->encoder);
+       }
++#else
++      if (FLAC__stream_encoder_get_state (flacenc->encoder) !=
++          FLAC__STREAM_ENCODER_UNINITIALIZED) {
++        flacenc->stopped = TRUE;
++        FLAC__stream_encoder_finish (flacenc->encoder);
++      }
++#endif
+       flacenc->offset = 0;
+       flacenc->samples_written = 0;
+       if (flacenc->meta) {
+--- gst-plugins-good-0.10.5/ext/flac/gstflacdec.c.flac	2006-10-16 14:22:46.000000000 -0400
++++ gst-plugins-good-0.10.5/ext/flac/gstflacdec.c	2007-02-01 23:38:35.000000000 -0500
+@@ -56,6 +56,12 @@
+ 
+ #include <gst/tag/tag.h>
+ 
++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
++
+ GST_DEBUG_CATEGORY_STATIC (flacdec_debug);
+ #define GST_CAT_DEFAULT flacdec_debug
+ 
+@@ -93,9 +99,13 @@
+ static void gst_flac_dec_setup_seekable_decoder (GstFlacDec * flacdec);
+ static void gst_flac_dec_setup_stream_decoder (GstFlacDec * flacdec);
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderReadStatus
+ gst_flac_dec_read_seekable (const FLAC__SeekableStreamDecoder * decoder,
+     FLAC__byte buffer[], unsigned *bytes, void *client_data);
++static FLAC__StreamDecoderReadStatus
++gst_flac_dec_read_stream (const FLAC__StreamDecoder * decoder,
++    FLAC__byte buffer[], unsigned *bytes, void *client_data);
+ static FLAC__SeekableStreamDecoderSeekStatus
+ gst_flac_dec_seek (const FLAC__SeekableStreamDecoder * decoder,
+     FLAC__uint64 position, void *client_data);
+@@ -107,9 +117,6 @@
+     FLAC__uint64 * length, void *client_data);
+ static FLAC__bool gst_flac_dec_eof (const FLAC__SeekableStreamDecoder * decoder,
+     void *client_data);
+-static FLAC__StreamDecoderReadStatus
+-gst_flac_dec_read_stream (const FLAC__StreamDecoder * decoder,
+-    FLAC__byte buffer[], unsigned *bytes, void *client_data);
+ static FLAC__StreamDecoderWriteStatus
+ gst_flac_dec_write_seekable (const FLAC__SeekableStreamDecoder * decoder,
+     const FLAC__Frame * frame,
+@@ -123,13 +130,38 @@
+     const FLAC__StreamMetadata * metadata, void *client_data);
+ static void gst_flac_dec_metadata_callback_stream (const FLAC__StreamDecoder *
+     decoder, const FLAC__StreamMetadata * metadata, void *client_data);
+-static void gst_flac_dec_metadata_callback (GstFlacDec * flacdec,
+-    const FLAC__StreamMetadata * metadata);
+ static void gst_flac_dec_error_callback_seekable (const
+     FLAC__SeekableStreamDecoder * decoder,
+     FLAC__StreamDecoderErrorStatus status, void *client_data);
+ static void gst_flac_dec_error_callback_stream (const FLAC__StreamDecoder *
+     decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
++#else
++static FLAC__StreamDecoderReadStatus
++gst_flac_dec_read_seekable (const FLAC__StreamDecoder * decoder,
++    FLAC__byte buffer[], size_t *bytes, void *client_data);
++static FLAC__StreamDecoderReadStatus
++gst_flac_dec_read_stream (const FLAC__StreamDecoder * decoder,
++    FLAC__byte buffer[], size_t *bytes, void *client_data);
++static FLAC__StreamDecoderSeekStatus
++gst_flac_dec_seek (const FLAC__StreamDecoder * decoder,
++    FLAC__uint64 position, void *client_data);
++static FLAC__StreamDecoderTellStatus
++gst_flac_dec_tell (const FLAC__StreamDecoder * decoder,
++    FLAC__uint64 * position, void *client_data);
++static FLAC__StreamDecoderLengthStatus
++gst_flac_dec_length (const FLAC__StreamDecoder * decoder,
++    FLAC__uint64 * length, void *client_data);
++static FLAC__bool gst_flac_dec_eof (const FLAC__StreamDecoder * decoder,
++    void *client_data);
++static FLAC__StreamDecoderWriteStatus
++gst_flac_dec_write_stream (const FLAC__StreamDecoder * decoder,
++    const FLAC__Frame * frame,
++    const FLAC__int32 * const buffer[], void *client_data);
++static void gst_flac_dec_metadata_callback_stream (const FLAC__StreamDecoder *
++    decoder, const FLAC__StreamMetadata * metadata, void *client_data);
++static void gst_flac_dec_error_callback_stream (const FLAC__StreamDecoder *
++    decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
++#endif
+ 
+ GST_BOILERPLATE (GstFlacDec, gst_flac_dec, GstElement, GST_TYPE_ELEMENT);
+ #define GST_FLAC_DEC_SRC_CAPS                             \
+@@ -212,7 +244,11 @@
+ gst_flac_dec_reset_decoders (GstFlacDec * flacdec)
+ {
+   if (flacdec->seekable_decoder) {
++#ifdef LEGACY_FLAC
+     FLAC__seekable_stream_decoder_delete (flacdec->seekable_decoder);
++#else
++    FLAC__stream_decoder_delete (flacdec->seekable_decoder);
++#endif
+     flacdec->seekable_decoder = NULL;
+   }
+ 
+@@ -238,6 +274,7 @@
+ {
+   gst_flac_dec_reset_decoders (dec);
+ 
++#ifdef LEGACY_FLAC
+   dec->seekable_decoder = FLAC__seekable_stream_decoder_new ();
+ 
+   FLAC__seekable_stream_decoder_set_read_callback (dec->seekable_decoder,
+@@ -259,6 +296,12 @@
+   FLAC__seekable_stream_decoder_set_error_callback (dec->seekable_decoder,
+       gst_flac_dec_error_callback_seekable);
+   FLAC__seekable_stream_decoder_set_client_data (dec->seekable_decoder, dec);
++#else
++  dec->seekable_decoder = FLAC__stream_decoder_new ();
++
++  FLAC__stream_decoder_set_metadata_respond (dec->seekable_decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
++  FLAC__stream_decoder_set_md5_checking (dec->seekable_decoder, false); /* no point calculating since it's never checked here */
++#endif
+ }
+ 
+ static void
+@@ -270,17 +313,21 @@
+ 
+   dec->stream_decoder = FLAC__stream_decoder_new ();
+ 
++#ifdef LEGACY_FLAC
+   FLAC__stream_decoder_set_read_callback (dec->stream_decoder,
+       gst_flac_dec_read_stream);
+   FLAC__stream_decoder_set_write_callback (dec->stream_decoder,
+       gst_flac_dec_write_stream);
+-  FLAC__stream_decoder_set_metadata_respond (dec->stream_decoder,
+-      FLAC__METADATA_TYPE_VORBIS_COMMENT);
+   FLAC__stream_decoder_set_metadata_callback (dec->stream_decoder,
+       gst_flac_dec_metadata_callback_stream);
+   FLAC__stream_decoder_set_error_callback (dec->stream_decoder,
+       gst_flac_dec_error_callback_stream);
+   FLAC__stream_decoder_set_client_data (dec->stream_decoder, dec);
++#else
++  FLAC__stream_decoder_set_md5_checking (dec->stream_decoder, false); /* no point calculating since it's never checked here */
++#endif
++  FLAC__stream_decoder_set_metadata_respond (dec->stream_decoder,
++      FLAC__METADATA_TYPE_VORBIS_COMMENT);
+ }
+ 
+ static void
+@@ -544,6 +591,7 @@
+   }
+ }
+ 
++#ifdef LEGACY_FLAC
+ static void
+ gst_flac_dec_metadata_callback_seekable (const FLAC__SeekableStreamDecoder * d,
+     const FLAC__StreamMetadata * metadata, void *client_data)
+@@ -552,6 +600,7 @@
+ 
+   gst_flac_dec_metadata_callback (dec, metadata);
+ }
++#endif
+ 
+ static void
+ gst_flac_dec_metadata_callback_stream (const FLAC__StreamDecoder * decoder,
+@@ -587,12 +636,14 @@
+   dec->last_flow = GST_FLOW_ERROR;
+ }
+ 
++#ifdef LEGACY_FLAC
+ static void
+ gst_flac_dec_error_callback_seekable (const FLAC__SeekableStreamDecoder * d,
+     FLAC__StreamDecoderErrorStatus status, void *client_data)
+ {
+   gst_flac_dec_error_callback (GST_FLAC_DEC (client_data), status);
+ }
++#endif
+ 
+ static void
+ gst_flac_dec_error_callback_stream (const FLAC__StreamDecoder * d,
+@@ -601,9 +652,15 @@
+   gst_flac_dec_error_callback (GST_FLAC_DEC (client_data), status);
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderSeekStatus
+ gst_flac_dec_seek (const FLAC__SeekableStreamDecoder * decoder,
+     FLAC__uint64 position, void *client_data)
++#else
++static FLAC__StreamDecoderSeekStatus
++gst_flac_dec_seek (const FLAC__StreamDecoder * decoder,
++    FLAC__uint64 position, void *client_data)
++#endif
+ {
+   GstFlacDec *flacdec;
+ 
+@@ -612,12 +669,22 @@
+   GST_DEBUG ("seek %" G_GINT64_FORMAT, position);
+   flacdec->offset = position;
+ 
++#ifdef LEGACY_FLAC
+   return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK;
++#else
++  return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
++#endif
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderTellStatus
+ gst_flac_dec_tell (const FLAC__SeekableStreamDecoder * decoder,
+     FLAC__uint64 * position, void *client_data)
++#else
++static FLAC__StreamDecoderTellStatus
++gst_flac_dec_tell (const FLAC__StreamDecoder * decoder,
++    FLAC__uint64 * position, void *client_data)
++#endif
+ {
+   GstFlacDec *flacdec;
+ 
+@@ -627,12 +694,22 @@
+ 
+   GST_DEBUG ("tell %" G_GINT64_FORMAT, *position);
+ 
++#ifdef LEGACY_FLAC
+   return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK;
++#else
++  return FLAC__STREAM_DECODER_TELL_STATUS_OK;
++#endif
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderLengthStatus
+ gst_flac_dec_length (const FLAC__SeekableStreamDecoder * decoder,
+     FLAC__uint64 * length, void *client_data)
++#else
++static FLAC__StreamDecoderLengthStatus
++gst_flac_dec_length (const FLAC__StreamDecoder * decoder,
++    FLAC__uint64 * length, void *client_data)
++#endif
+ {
+   GstFlacDec *flacdec;
+   GstFormat fmt = GST_FORMAT_BYTES;
+@@ -642,22 +719,40 @@
+   flacdec = GST_FLAC_DEC (client_data);
+ 
+   if (!(peer = gst_pad_get_peer (flacdec->sinkpad)))
++#ifdef LEGACY_FLAC
+     return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR;
++#else
++    return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR;
++#endif
+   gst_pad_query_duration (peer, &fmt, &len);
+   gst_object_unref (peer);
+   if (fmt != GST_FORMAT_BYTES || len == -1)
++#ifdef LEGACY_FLAC
+     return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_ERROR;
++#else
++    return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR;
++#endif
+ 
+   *length = len;
+ 
+   GST_DEBUG ("length %" G_GINT64_FORMAT, *length);
+ 
++#ifdef LEGACY_FLAC
+   return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK;
++#else
++  return FLAC__STREAM_DECODER_LENGTH_STATUS_OK;
++#endif
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__bool
+ gst_flac_dec_eof (const FLAC__SeekableStreamDecoder * decoder,
+     void *client_data)
++#else
++static FLAC__bool
++gst_flac_dec_eof (const FLAC__StreamDecoder * decoder,
++    void *client_data)
++#endif
+ {
+   GstFlacDec *flacdec;
+   GstFormat fmt;
+@@ -685,9 +780,15 @@
+   return ret;
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__SeekableStreamDecoderReadStatus
+ gst_flac_dec_read_seekable (const FLAC__SeekableStreamDecoder * decoder,
+     FLAC__byte buffer[], unsigned *bytes, void *client_data)
++#else
++static FLAC__StreamDecoderReadStatus
++gst_flac_dec_read_seekable (const FLAC__StreamDecoder * decoder,
++    FLAC__byte buffer[], size_t *bytes, void *client_data)
++#endif
+ {
+   GstFlacDec *flacdec;
+   GstBuffer *buf;
+@@ -696,7 +797,11 @@
+ 
+   if (gst_pad_pull_range (flacdec->sinkpad, flacdec->offset, *bytes,
+           &buf) != GST_FLOW_OK)
++#ifdef LEGACY_FLAC
+     return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR;
++#else
++    return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
++#endif
+ 
+   GST_DEBUG ("Read %d bytes at %" G_GUINT64_FORMAT,
+       GST_BUFFER_SIZE (buf), flacdec->offset);
+@@ -705,12 +810,22 @@
+   gst_buffer_unref (buf);
+   flacdec->offset += *bytes;
+ 
++#ifdef LEGACY_FLAC
+   return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK;
++#else
++  return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
++#endif
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__StreamDecoderReadStatus
+ gst_flac_dec_read_stream (const FLAC__StreamDecoder * decoder,
+     FLAC__byte buffer[], unsigned *bytes, void *client_data)
++#else
++static FLAC__StreamDecoderReadStatus
++gst_flac_dec_read_stream (const FLAC__StreamDecoder * decoder,
++    FLAC__byte buffer[], size_t *bytes, void *client_data)
++#endif
+ {
+   GstFlacDec *dec = GST_FLAC_DEC (client_data);
+   guint len;
+@@ -880,6 +995,7 @@
+   return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+ 
++#ifdef LEGACY_FLAC
+ static FLAC__StreamDecoderWriteStatus
+ gst_flac_dec_write_seekable (const FLAC__SeekableStreamDecoder * decoder,
+     const FLAC__Frame * frame,
+@@ -887,6 +1003,7 @@
+ {
+   return gst_flac_dec_write (GST_FLAC_DEC (client_data), frame, buffer);
+ }
++#endif
+ 
+ static FLAC__StreamDecoderWriteStatus
+ gst_flac_dec_write_stream (const FLAC__StreamDecoder * decoder,
+@@ -900,7 +1017,12 @@
+ gst_flac_dec_loop (GstPad * sinkpad)
+ {
+   GstFlacDec *flacdec;
++#ifdef LEGACY_FLAC
+   FLAC__SeekableStreamDecoderState s;
++#else
++  FLAC__StreamDecoderState s;
++  FLAC__StreamDecoderInitStatus is;
++#endif
+ 
+   flacdec = GST_FLAC_DEC (GST_OBJECT_PARENT (sinkpad));
+ 
+@@ -908,9 +1030,15 @@
+ 
+   if (flacdec->init) {
+     GST_DEBUG_OBJECT (flacdec, "initializing decoder");
++#ifdef LEGACY_FLAC
+     s = FLAC__seekable_stream_decoder_init (flacdec->seekable_decoder);
+     if (s != FLAC__SEEKABLE_STREAM_DECODER_OK)
+       goto analyze_state;
++#else
++    is = FLAC__stream_decoder_init_stream (flacdec->seekable_decoder, gst_flac_dec_read_seekable, gst_flac_dec_seek, gst_flac_dec_tell, gst_flac_dec_length, gst_flac_dec_eof, gst_flac_dec_write_stream, gst_flac_dec_metadata_callback_stream, gst_flac_dec_error_callback_stream, flacdec);
++    if (is != FLAC__STREAM_DECODER_INIT_STATUS_OK)
++      goto analyze_state;
++#endif
+     /*    FLAC__seekable_stream_decoder_process_metadata (flacdec->seekable_decoder); */
+     flacdec->init = FALSE;
+   }
+@@ -920,15 +1048,31 @@
+   flacdec->last_flow = GST_FLOW_OK;
+ 
+   GST_LOG_OBJECT (flacdec, "processing single");
++#ifdef LEGACY_FLAC
+   FLAC__seekable_stream_decoder_process_single (flacdec->seekable_decoder);
++#else
++  FLAC__stream_decoder_process_single (flacdec->seekable_decoder);
++#endif
+ 
+ analyze_state:
+ 
+   GST_LOG_OBJECT (flacdec, "done processing, checking encoder state");
++#ifdef LEGACY_FLAC
+   s = FLAC__seekable_stream_decoder_get_state (flacdec->seekable_decoder);
++#else
++  s = FLAC__stream_decoder_get_state (flacdec->seekable_decoder);
++#endif
+   switch (s) {
++#ifdef LEGACY_FLAC
+     case FLAC__SEEKABLE_STREAM_DECODER_OK:
+-    case FLAC__SEEKABLE_STREAM_DECODER_SEEKING:{
++    case FLAC__SEEKABLE_STREAM_DECODER_SEEKING:
++#else
++    case FLAC__STREAM_DECODER_SEARCH_FOR_METADATA:
++    case FLAC__STREAM_DECODER_READ_METADATA:
++    case FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC:
++    case FLAC__STREAM_DECODER_READ_FRAME:
++#endif
++    {
+       GST_DEBUG_OBJECT (flacdec, "everything ok");
+ 
+       if (flacdec->last_flow != GST_FLOW_OK &&
+@@ -956,9 +1100,18 @@
+       return;
+     }
+ 
+-    case FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM:{
++#ifdef LEGACY_FLAC
++    case FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM:
++#else
++    case FLAC__STREAM_DECODER_END_OF_STREAM:
++#endif
++    {
+       GST_DEBUG_OBJECT (flacdec, "EOS");
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_decoder_reset (flacdec->seekable_decoder);
++#else
++      FLAC__stream_decoder_reset (flacdec->seekable_decoder);
++#endif
+ 
+       if ((flacdec->segment.flags & GST_SEEK_FLAG_SEGMENT) != 0) {
+         if (flacdec->segment.duration > 0) {
+@@ -972,6 +1125,7 @@
+       goto eos_and_pause;
+     }
+ 
++#ifdef LEGACY_FLAC
+     case FLAC__SEEKABLE_STREAM_DECODER_MEMORY_ALLOCATION_ERROR:
+     case FLAC__SEEKABLE_STREAM_DECODER_STREAM_DECODER_ERROR:
+     case FLAC__SEEKABLE_STREAM_DECODER_READ_ERROR:
+@@ -979,11 +1133,23 @@
+     case FLAC__SEEKABLE_STREAM_DECODER_ALREADY_INITIALIZED:
+     case FLAC__SEEKABLE_STREAM_DECODER_INVALID_CALLBACK:
+     case FLAC__SEEKABLE_STREAM_DECODER_UNINITIALIZED:
++#else
++    case FLAC__STREAM_DECODER_OGG_ERROR:
++    case FLAC__STREAM_DECODER_SEEK_ERROR:
++    case FLAC__STREAM_DECODER_ABORTED:
++    case FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR:
++    case FLAC__STREAM_DECODER_UNINITIALIZED:
++#endif
+     default:{
+       /* fixme: this error sucks -- should try to figure out when/if an more
+          specific error was already sent via the callback */
++#ifdef LEGACY_FLAC
+       GST_ELEMENT_ERROR (flacdec, STREAM, DECODE, (NULL),
+           ("%s", FLAC__SeekableStreamDecoderStateString[s]));
++#else
++      GST_ELEMENT_ERROR (flacdec, STREAM, DECODE, (NULL),
++          ("%s", FLAC__StreamDecoderStateString[s]));
++#endif
+       goto eos_and_pause;
+     }
+   }
+@@ -1101,7 +1267,11 @@
+ static GstFlowReturn
+ gst_flac_dec_chain (GstPad * pad, GstBuffer * buf)
+ {
++#ifdef LEGACY_FLAC
+   FLAC__StreamDecoderState s;
++#else
++  FLAC__StreamDecoderInitStatus s;
++#endif
+   GstFlacDec *dec;
+   gboolean got_audio_frame;
+ 
+@@ -1113,11 +1283,19 @@
+ 
+   if (dec->init) {
+     GST_DEBUG_OBJECT (dec, "initializing decoder");
++#ifdef LEGACY_FLAC
+     s = FLAC__stream_decoder_init (dec->stream_decoder);
+     if (s != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
+       GST_ELEMENT_ERROR (GST_ELEMENT (dec), LIBRARY, INIT, (NULL), (NULL));
+       return GST_FLOW_ERROR;
+     }
++#else
++    s = FLAC__stream_decoder_init_stream (dec->stream_decoder, gst_flac_dec_read_stream, NULL, NULL, NULL, NULL, gst_flac_dec_write_stream, gst_flac_dec_metadata_callback_stream, gst_flac_dec_error_callback_stream, dec);
++    if (s != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
++      GST_ELEMENT_ERROR (GST_ELEMENT (dec), LIBRARY, INIT, (NULL), (NULL));
++      return GST_FLOW_ERROR;
++    }
++#endif
+     GST_DEBUG_OBJECT (dec, "initialized (framed=%d)", dec->framed);
+     dec->init = FALSE;
+   }
+@@ -1598,8 +1776,13 @@
+   flacdec->seeking = TRUE;
+ 
+   seek_ok =
++#ifdef LEGACY_FLAC
+       FLAC__seekable_stream_decoder_seek_absolute (flacdec->seekable_decoder,
+       segment.start);
++#else
++      FLAC__stream_decoder_seek_absolute (flacdec->seekable_decoder,
++      segment.start);
++#endif
+ 
+   flacdec->seeking = FALSE;
+ 
+--- gst-plugins-good-0.10.5/configure.ac.flac	2006-12-21 09:20:44.000000000 -0500
++++ gst-plugins-good-0.10.5/configure.ac	2007-02-01 23:38:35.000000000 -0500
+@@ -550,6 +550,12 @@
+ 
+ dnl *** FLAC ***
+ translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
++AC_TRY_RUN([
++#include <FLAC/export.h>
++int main () { return FLAC_API_VERSION_CURRENT<8; }
++],legacy_flac=no,legacy_flac=yes,legacy_flac=no)
++
++if test "x$legacy_flac" = xyes; then
+ GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flac, [
+   GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC -lm")
+   dnl API change in FLAC 1.1.1, so require that...
+@@ -563,6 +569,19 @@
+   fi
+   AC_SUBST(FLAC_LIBS)
+ ])
++else
++GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flac, [
++  GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC -lm")
++  dnl API change in FLAC 1.1.1, so require that...
++  if test x$HAVE_FLAC = xyes; then
++    AC_CHECK_DECL(FLAC__STREAM_ENCODER_TELL_STATUS_ERROR,
++                  HAVE_FLAC="yes", HAVE_FLAC="no", [
++#include <FLAC/stream_encoder.h>
++                  ])
++  fi
++  AC_SUBST(FLAC_LIBS)
++])
++fi
+ 
+ dnl *** GConf ***
+ translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)

gst-v4l2-nointerlace.patch:

--- NEW FILE gst-v4l2-nointerlace.patch ---
--- gst-plugins-good-0.10.4.1/sys/v4l2/v4l2src_calls.c.interlace	2006-11-09 16:01:45.000000000 -0500
+++ gst-plugins-good-0.10.4.1/sys/v4l2/v4l2src_calls.c	2006-11-09 16:02:19.000000000 -0500
@@ -292,7 +292,7 @@
   v4l2src->format.fmt.pix.width = *width;
   v4l2src->format.fmt.pix.height = *height;
   v4l2src->format.fmt.pix.pixelformat = fmt->pixelformat;
-  v4l2src->format.fmt.pix.field = V4L2_FIELD_INTERLACED;
+  v4l2src->format.fmt.pix.field = V4L2_FIELD_ANY;
   v4l2src->format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 
   if (ioctl (v4l2src->v4l2object->video_fd, VIDIOC_S_FMT, &v4l2src->format) < 0)
@@ -690,7 +690,7 @@
   fmt.fmt.pix.width = 0;
   fmt.fmt.pix.height = 0;
   fmt.fmt.pix.pixelformat = format->pixelformat;
-  fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
+  fmt.fmt.pix.field = V4L2_FIELD_ANY;
   if (ioctl (v4l2src->v4l2object->video_fd, VIDIOC_TRY_FMT, &fmt) < 0) {
     GST_DEBUG_OBJECT (v4l2src, "failed to get min size: %s",
         g_strerror (errno));


--- NEW FILE import.log ---
gstreamer-plugins-good-0_10_5-7_olpc2:OLPC-3:gstreamer-plugins-good-0.10.5-7.olpc2.src.rpm:1219862182


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gstreamer-plugins-good/OLPC-3/.cvsignore,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- .cvsignore	24 Apr 2008 10:15:07 -0000	1.10
+++ .cvsignore	27 Aug 2008 18:39:18 -0000	1.11
@@ -1 +1 @@
-gst-plugins-good-0.10.8.tar.bz2
+gst-plugins-good-0.10.5.tar.bz2


Index: gstreamer-plugins-good.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gstreamer-plugins-good/OLPC-3/gstreamer-plugins-good.spec,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- gstreamer-plugins-good.spec	12 Aug 2008 14:12:12 -0000	1.64
+++ gstreamer-plugins-good.spec	27 Aug 2008 18:39:18 -0000	1.65
@@ -1,39 +1,35 @@
 %define         gstreamer       gstreamer
 %define         majorminor      0.10
 
-%define         _gst            0.10.17
-%define         _gstpb          0.10.17
+%define         _gst            0.10.6
+%define         _gstpb          0.10.6
 
 Name: 		%{gstreamer}-plugins-good
-Version: 	0.10.8
-Release:  	9%{?dist}
+Version: 	0.10.5
+Release:  	7%{?dist}
 Summary: 	GStreamer plug-ins with good code and licensing
 
 Group: 		Applications/Multimedia
-License: 	LGPLv2+
+License: 	LGPL
 URL:		http://gstreamer.freedesktop.org/
 Source:         http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-%{version}.tar.bz2
-Patch0:		gst-plugins-good-0.10.8-docs.patch
-# http://bugzilla.gnome.org/show_bug.cgi?id=536317
-Patch1:		gst-plugins-good-v4l2-new-kernel.patch
-# rh bug #451391
-Patch2:		gst-plugins-good-0.10.8-speex-nego.patch
-# rh bug #454534
-Patch3:		gst-plugins-good-0.10.8-v4l2-progressive-fix.patch
-# rh bug #457952
-Patch4:		gst-plugins-good-0.10.8-http-auth.patch
+Patch0:		gst-plugins-good-0.10.4-docs.patch
+Patch1:         gst-plugins-good-0.10.5-flac.patch
+Patch2:         gst-v4l2-nointerlace.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 Requires: 	%{gstreamer} >= %{_gst}
-Requires(pre): GConf2 
-Requires(preun): GConf2
-Requires(post): GConf2
+Requires(pre): GConf2-dbus
+Requires(preun): GConf2-dbus
+Requires(post): GConf2-dbus
 Requires:       gstreamer-plugins-base
 # superceded by the package above and ourselves
 Obsoletes:      gstreamer-plugins
 
 BuildRequires: 	%{gstreamer}-devel >= %{_gst}
 BuildRequires: 	%{gstreamer}-plugins-base-devel >= %{_gstpb}
+# For Patch1
+BuildRequires:  automake autoconf libtool
 
 BuildRequires:	liboil-devel >= 0.3.6
 BuildRequires:  gettext
@@ -43,7 +39,7 @@
 # cairo pulls in Xrender, but -devel has a missing dep on libX11-devel
 BuildRequires:  libX11-devel
 BuildRequires:  flac-devel >= 1.1.3
-BuildRequires: 	GConf2-devel
+BuildRequires: 	GConf2-dbus-devel
 BuildRequires:  libjpeg-devel
 BuildRequires:  libpng-devel >= 1.2.0
 BuildRequires:  mikmod
@@ -53,9 +49,7 @@
 BuildRequires:  libshout-devel
 BuildRequires:  taglib-devel
 BuildRequires:  libcdio-devel
-BuildRequires:	wavpack-devel
-BuildRequires:	ladspa-devel
-BuildRequires:  libsoup-devel
+
 
 %ifnarch s390 s390x
 BuildRequires:  libdv-devel
@@ -102,36 +96,23 @@
 %prep
 %setup -q -n gst-plugins-good-%{version}
 %patch0 -p1 -b .docs
-#pushd sys/v4l2
-#patch1 -p0 -b .new-kernel
-#popd
-%patch2 -p1 -b .speex-nego
-%patch3 -p1 -b .v4l2-progressive
-%patch4 -p1 -b .http-auth
+%patch1 -p1 -b .flac
+%patch2 -p1 -b .nointerlace
 
 %build
-
+autoreconf
 %configure \
-  --with-package-name='Fedora gstreamer-plugins-good package' \
+  --with-package-name='Fedora Core gstreamer-plugins-good package' \
   --with-package-origin='http://download.fedora.redhat.com/fedora' \
-  --disable-gtkdoc \
-  --enable-experimental \
-  --enable-ladspa \
-  --with-default-visualizer=autoaudiosink
+  --enable-experimental
 
 make %{?_smp_mflags}
-pushd ext/ladspa
-make %{?_smp_mflags}
-popd
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
 %makeinstall
-pushd ext/ladspa
-make install DESTDIR=%{buildroot}
-popd
 unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
 
 # Clean out files that should not be part of the rpm.
@@ -140,10 +121,6 @@
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 
-# Remove the monoscope viz, it's experimental, and might crash applications
-# that use it
-rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstmonoscope.so
-
 %find_lang gst-plugins-good-%{majorminor}
 
 %clean
@@ -167,7 +144,6 @@
 %{_libdir}/gstreamer-%{majorminor}/libgsteffectv.so
 %{_libdir}/gstreamer-%{majorminor}/libgstflxdec.so
 %{_libdir}/gstreamer-%{majorminor}/libgstgoom.so
-%{_libdir}/gstreamer-%{majorminor}/libgstgoom2k1.so
 %{_libdir}/gstreamer-%{majorminor}/libgstlevel.so
 %{_libdir}/gstreamer-%{majorminor}/libgstmatroska.so
 %{_libdir}/gstreamer-%{majorminor}/libgstmulaw.so
@@ -188,12 +164,7 @@
 %{_libdir}/gstreamer-%{majorminor}/libgsticydemux.so
 %{_libdir}/gstreamer-%{majorminor}/libgstvideobalance.so
 %{_libdir}/gstreamer-%{majorminor}/libgstximagesrc.so
-%{_libdir}/gstreamer-%{majorminor}/libgstgamma.so
-%{_libdir}/gstreamer-%{majorminor}/libgstqtdemux.so
-%{_libdir}/gstreamer-%{majorminor}/libgstvideocrop.so
-%{_libdir}/gstreamer-%{majorminor}/libgstequalizer.so
-%{_libdir}/gstreamer-%{majorminor}/libgstmultifile.so
-%{_libdir}/gstreamer-%{majorminor}/libgstspectrum.so
+%{_libdir}/gstreamer-%{majorminor}/libgstvideo4linux2.so
 
 # gstreamer-plugins with external dependencies but in the main package
 #%{_libdir}/gstreamer-%{majorminor}/libgstcacasink.so
@@ -207,10 +178,7 @@
 %{_libdir}/gstreamer-%{majorminor}/libgstossaudio.so
 %{_libdir}/gstreamer-%{majorminor}/libgstspeex.so
 %{_libdir}/gstreamer-%{majorminor}/libgstgconfelements.so
-%{_libdir}/gstreamer-%{majorminor}/libgstvideo4linux2.so
-%{_libdir}/gstreamer-%{majorminor}/libgstwavpack.so
-%{_libdir}/gstreamer-%{majorminor}/libgstladspa.so
-%{_libdir}/gstreamer-%{majorminor}/libgstsouphttpsrc.so
+
 %{_libdir}/gstreamer-%{majorminor}/libgstshout2.so
 %{_libdir}/gstreamer-%{majorminor}/libgstcdio.so
 %{_libdir}/gstreamer-%{majorminor}/libgsttaglib.so
@@ -230,7 +198,7 @@
 
 %files devel
 %defattr(-, root, root)
-%doc %{_datadir}/gtk-doc/html/gst-plugins-good-plugins-%{majorminor}
+# %doc %{_datadir}/gtk-doc/html/gst-plugins-good-plugins-%{majorminor}
 
 %pre
 if [ "$1" -gt 1 ]; then
@@ -249,73 +217,10 @@
 gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/gstreamer-%{majorminor}.schemas > /dev/null || :
 
 %changelog
-* Tue Aug 12 2008 Adam Jackson <ajax at redhat.com> 0.10.8-9
-- gst-plugins-good-0.10.8-http-auth.patch: Fix http auth. (#457952)
-
-* Mon Jul 21 2008 Adam Jackson <ajax at redhat.com> 0.10.8-8
-- gst-plugins-good-0.10.8-v4l2-progressive-fix.patch: Backport v4l2
-  interlace/progressive fixes. (#454534)
-
-* Thu Jun 19 2008 Adam Jackson <ajax at redhat.com> 0.10.8-7
-- gst-plugins-good-0.10.8-speex-nego.patch: Backport speex channel and
-  rate negotiation from 0.10.9. (#451391)
-
-* Tue Jun 17 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.8-6
-- Really fix the default audio output not being correct
-
-* Tue Jun 03 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.8-5
-- Fix compilation of the v4l2 plugin with newer kernels
-
-* Mon Jun 02 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.8-4
-- Work-around bug that would set the default audio output to "GOOM!"
-  See http://bugzilla.gnome.org/show_bug.cgi?id=532295
-
-* Wed May 21 2008 Tom "spot" Callaway <tcallawa at redhat.com> 0.10.8-3
-- fix license tag
-
-* Wed May 21 2008 Adam Jackson <ajax at redhat.com> 0.10.8-2
-- BR: libsoup-devel and package the soup http src plugin. (#447604)
-- s/Fedora Core/Fedora/
-
-* Thu Apr 24 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.8-1
-- Update to 0.10.8
-
-* Thu Apr 10 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.7-2
-- Add patch to unbreak the QuickTime demuxer plugin
-
-* Thu Feb 21 2008 - Bastien Nocera <bnocera at redhat.com> - 0.10.7-1
-- Update to 0.10.7
-
-* Mon Feb 18 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 0.10.6-8
-- Autorebuild for GCC 4.3
-
-* Fri Jan 11 2008 Adam Jackson <ajax at redhat.com> 0.10.6-7
-- gst-plugins-good-0.10.6-v4l2-min-buffers.patch: Be sure to get at least
-  GST_V4L2_MIN_BUFFERS from the source. (#316931)
-- gst-plugins-good-0.10.6-artist-sortname.patch: Avoid using a deprecated
-  #define.
-
-* Mon Oct 08 2007 - Bastien Nocera <bnocera at redhat.com> - 0.10.6-6
-- Kill esound output, as we don't have esound installed anymore, just
-  Pulseaudio (#323061)
-
-* Sun Sep 02 2007 - Bastien Nocera <bnocera at redhat.com> - 0.10.6-5
-- Add a patch to fix id3demux, so that MP3s can be played back
-  (#273561)
-
-* Tue Aug 28 2007 - Bastien Nocera <bnocera at redhat.com> - 0.10.6-4
-- Add the ladspa plugins (#253375)
-
-* Tue Aug 21 2007 Adam Jackson <ajax at redhat.com> - 0.10.6-3
-- Rebuild for build id
-
-* Sun Aug 12 2007 - Bastien Nocera <bnocera at redhat.com> - 0.10.6-2
-- Enable experimental plugins, the wavepack and v4l2src plugins (#250886)
-
-* Tue Jun 19 2007 - Bastien Nocera <bnocera at redhat.com> - 0.10.6-1
-- Update to 0.10.6
-- Remove outdated FLAC patch
-- Add new plugins
+* Thu Jun 14 2007  John (J5) Palmieri <johnp at redhat.com> - 0.10.5-7
+- remove esound requirement
+- add GConf-dbus requirement
+- rebuild for olpc2
 
 * Sat May  5 2007  Matthias Clasen  <mclasen at redhat.com> - 0.10.5-6
 - Add libshout-devel, taglib-devel, libcdio-devel as BRs (#136268)


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gstreamer-plugins-good/OLPC-3/sources,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- sources	24 Apr 2008 10:15:07 -0000	1.10
+++ sources	27 Aug 2008 18:39:18 -0000	1.11
@@ -1 +1 @@
-32414def093652d8281f3708ccaf086b  gst-plugins-good-0.10.8.tar.bz2
+c45fc9ace9feb4d3df32da0a6d262d84  gst-plugins-good-0.10.5.tar.bz2


--- gst-plugins-good-0.10.8-docs.patch DELETED ---


--- gst-plugins-good-0.10.8-http-auth.patch DELETED ---


--- gst-plugins-good-0.10.8-speex-nego.patch DELETED ---


--- gst-plugins-good-0.10.8-v4l2-progressive-fix.patch DELETED ---


--- gst-plugins-good-v4l2-new-kernel.patch DELETED ---




More information about the fedora-extras-commits mailing list