rpms/flac123/devel flac123-0.0.9-flac-1.1.3.patch, NONE, 1.1 flac123.spec, 1.3, 1.4

Sindre Pedersen Bjørdal (sindrepb) fedora-extras-commits at redhat.com
Mon Feb 26 04:12:45 UTC 2007


Author: sindrepb

Update of /cvs/extras/rpms/flac123/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30695

Modified Files:
	flac123.spec 
Added Files:
	flac123-0.0.9-flac-1.1.3.patch 
Log Message:
"add patch to fix build against flac 1.1.3"


flac123-0.0.9-flac-1.1.3.patch:

--- NEW FILE flac123-0.0.9-flac-1.1.3.patch ---
diff -ru flac123-0.0.9/configure.ac flac123-0.0.9-b2/configure.ac
--- flac123-0.0.9/configure.ac	2005-05-07 16:05:24.000000000 -0700
+++ flac123-0.0.9-b2/configure.ac	2006-10-31 00:03:09.000000000 -0800
@@ -40,9 +40,9 @@
 AC_PROG_CC
 
 # Checks for libraries.
-AC_CHECK_LIB(FLAC, FLAC__file_decoder_new, [haveflac=yes], [haveflac=no], -lm)
+AC_CHECK_LIB(FLAC, FLAC__stream_decoder_new, [haveflac=yes], [haveflac=no], -lm)
 if test "$haveflac" = "yes"; then
-	FLAC_LIBS="-lFLAC -lm"
+	FLAC_LIBS="-lFLAC -logg -lm"
 	AC_SUBST(FLAC_LIBS)
 else
 	AC_MSG_ERROR(FLAC required!)
diff -ru flac123-0.0.9/flac123.c flac123-0.0.9-b2/flac123.c
--- flac123-0.0.9/flac123.c	2005-05-08 21:25:20.000000000 -0700
+++ flac123-0.0.9-b2/flac123.c	2006-10-31 00:06:06.000000000 -0800
@@ -49,12 +49,17 @@
 
 static void play_file(const char *);
 static void play_remote_file(void);
-void flac_error_hdl(const FLAC__FileDecoder *, FLAC__StreamDecoderErrorStatus,
- void *);
-void flac_metadata_hdl(const FLAC__FileDecoder *, const FLAC__StreamMetadata *,
- void *);
+#ifdef LEGACY_FLAC
+void flac_error_hdl(const FLAC__FileDecoder *, FLAC__StreamDecoderErrorStatus, void *);
+void flac_metadata_hdl(const FLAC__FileDecoder *, const FLAC__StreamMetadata *, void *);
 FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__FileDecoder *,
 	const FLAC__Frame *, const FLAC__int32 * const buf[], void *);
+#else
+void flac_error_hdl(const FLAC__StreamDecoder *, FLAC__StreamDecoderErrorStatus, void *);
+void flac_metadata_hdl(const FLAC__StreamDecoder *, const FLAC__StreamMetadata *, void *);
+FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__StreamDecoder *,
+	const FLAC__Frame *, const FLAC__int32 * const buf[], void *);
+#endif
 
 static void signal_handler(int);
 static int quit_now = 0;
@@ -190,6 +195,7 @@
     file_info.year[VORBIS_YEAR_LEN] = '\0';
 
     /* create and initialize flac decoder object */
+#ifdef LEGACY_FLAC
     file_info.decoder = FLAC__file_decoder_new();
     FLAC__file_decoder_set_md5_checking(file_info.decoder, true);
     FLAC__file_decoder_set_filename(file_info.decoder, filename);
@@ -210,13 +216,29 @@
 	FLAC__file_decoder_delete(file_info.decoder);
 	return false;
     }
+#else
+    file_info.decoder = FLAC__stream_decoder_new();
+    FLAC__stream_decoder_set_md5_checking(file_info.decoder, true);
+
+    /* read metadata */
+    if ((FLAC__stream_decoder_init_file(file_info.decoder, filename, flac_write_hdl, flac_metadata_hdl, flac_error_hdl, (void *)&file_info) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
+	|| (!FLAC__stream_decoder_process_until_end_of_metadata(file_info.decoder)))
+    {
+	FLAC__stream_decoder_delete(file_info.decoder);
+	return false;
+    }
+#endif
 
     /* open libao output device */
     if (cli_args.wavfile) {
 	if (!(file_info.ao_dev = ao_open_file(ao_driver_id("wav"), cli_args.wavfile, /*overwrite*/ 1, &(file_info.ao_fmt), NULL)))
 	{
 	    fprintf(stderr, "Error opening wav file %s\n", cli_args.wavfile);
+#ifdef LEGACY_FLAC
 	    FLAC__file_decoder_delete(file_info.decoder);
+#else
+	    FLAC__stream_decoder_delete(file_info.decoder);
+#endif
 	    return false;
 	}
     }
@@ -224,7 +246,11 @@
 	if (!(file_info.ao_dev = ao_open_live(ao_output_id, &(file_info.ao_fmt), NULL)))
 	{
 	    fprintf(stderr, "Error opening ao device %d\n", ao_output_id);
+#ifdef LEGACY_FLAC
 	    FLAC__file_decoder_delete(file_info.decoder);
+#else
+	    FLAC__stream_decoder_delete(file_info.decoder);
+#endif
 	    return false;
 	}
     }
@@ -237,7 +263,11 @@
 	if (!(file_info.ao_dev = ao_open_live(ao_output_id, &(file_info.ao_fmt), NULL)))
 	{
 	    fprintf(stderr, "Error opening ao device %d\n", ao_output_id);
+#ifdef LEGACY_FLAC
 	    FLAC__file_decoder_delete(file_info.decoder);
+#else
+	    FLAC__stream_decoder_delete(file_info.decoder);
+#endif
 	    return false;
 	}
     }
@@ -257,8 +287,13 @@
 
 void decoder_destructor(void)
 {
+#ifdef LEGACY_FLAC
     FLAC__file_decoder_finish(file_info.decoder);
     FLAC__file_decoder_delete(file_info.decoder);
+#else
+    FLAC__stream_decoder_finish(file_info.decoder);
+    FLAC__stream_decoder_delete(file_info.decoder);
+#endif
     file_info.is_loaded  = false;
     file_info.is_playing = false;
     file_info.filename[0] = '\0';
@@ -272,9 +307,15 @@
 	return;
     }
 
+#ifdef LEGACY_FLAC
     while (FLAC__file_decoder_process_single(file_info.decoder) == true &&
 	   FLAC__file_decoder_get_state(file_info.decoder) == 
 	   FLAC__FILE_DECODER_OK && !interrupted)
+#else
+    while (FLAC__stream_decoder_process_single(file_info.decoder) == true &&
+	   FLAC__stream_decoder_get_state(file_info.decoder) <
+	   FLAC__STREAM_DECODER_END_OF_STREAM && !interrupted)
+#endif
     {
     }
     interrupted = 0; /* more accurate feedback if placed after loop */
@@ -292,13 +333,22 @@
     {
 	if (file_info.is_playing == true)
 	{
+#ifdef LEGACY_FLAC
 	    if (FLAC__file_decoder_get_state(file_info.decoder) ==
 		FLAC__FILE_DECODER_END_OF_FILE) 
+#else
+	    if (FLAC__stream_decoder_get_state(file_info.decoder) ==
+		FLAC__STREAM_DECODER_END_OF_STREAM) 
+#endif
 	    {
 		decoder_destructor();
 		printf("@P 0\n");
 	    }
+#ifdef LEGACY_FLAC
 	    else if (!FLAC__file_decoder_process_single(file_info.decoder)) 
+#else
+	    else if (!FLAC__stream_decoder_process_single(file_info.decoder)) 
+#endif
 	    {
 		fprintf(stderr, "error decoding single frame!\n");
 	    }
@@ -314,14 +364,24 @@
     }
 }
 
+#ifdef LEGACY_FLAC
 void flac_error_hdl(const FLAC__FileDecoder *dec, 
 		    FLAC__StreamDecoderErrorStatus status, void *data)
+#else
+void flac_error_hdl(const FLAC__StreamDecoder *dec, 
+		    FLAC__StreamDecoderErrorStatus status, void *data)
+#endif
 {
     fprintf(stderr, "error handler called!\n");
 }
 
+#ifdef LEGACY_FLAC
 void flac_metadata_hdl(const FLAC__FileDecoder *dec, 
 		       const FLAC__StreamMetadata *meta, void *data)
+#else
+void flac_metadata_hdl(const FLAC__StreamDecoder *dec, 
+		       const FLAC__StreamMetadata *meta, void *data)
+#endif
 {
     file_info_struct *p = (file_info_struct *) data;
 
@@ -344,10 +404,17 @@
     }
 }
 
+#ifdef LEGACY_FLAC
 FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__FileDecoder *dec, 
 					      const FLAC__Frame *frame, 
 					      const FLAC__int32 * const buf[], 
 					      void *data)
+#else
+FLAC__StreamDecoderWriteStatus flac_write_hdl(const FLAC__StreamDecoder *dec, 
+					      const FLAC__Frame *frame, 
+					      const FLAC__int32 * const buf[], 
+					      void *data)
+#endif
 {
     int sample, channel, i;
     uint_32 samples = frame->header.blocksize;
diff -ru flac123-0.0.9/flac123.h flac123-0.0.9-b2/flac123.h
--- flac123-0.0.9/flac123.h	2005-02-24 21:52:02.000000000 -0800
+++ flac123-0.0.9-b2/flac123.h	2006-10-30 17:23:56.000000000 -0800
@@ -22,13 +22,24 @@
 #include <limits.h>
 #include <FLAC/all.h>
 
+/* by LEGACY_FLAC we mean pre-1.1.3 before FLAC__FileDecoder was merged into FLAC__StreamDecoder */
+#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
+#define LEGACY_FLAC
+#else
+#undef LEGACY_FLAC
+#endif
+
 /* string widths for printing ID3 (vorbis) data in remote mode */
 #define VORBIS_TAG_LEN 30
 #define VORBIS_YEAR_LEN 4
 
 /* the main data structure of the program */
 typedef struct {
+#ifdef LEGACY_FLAC
     FLAC__FileDecoder *decoder;
+#else
+    FLAC__StreamDecoder *decoder;
+#endif
 
     /* bits, rate, channels, byte_format */
     ao_sample_format sam_fmt; /* input sample's true format */
diff -ru flac123-0.0.9/remote.c flac123-0.0.9-b2/remote.c
--- flac123-0.0.9/remote.c	2005-02-24 21:50:41.000000000 -0800
+++ flac123-0.0.9-b2/remote.c	2006-10-30 17:24:28.000000000 -0800
@@ -150,8 +150,13 @@
 		    file_info.current_sample += delta_frames;
 		}
 
+#ifdef LEGACY_FLAC
 		FLAC__file_decoder_seek_absolute(file_info.decoder,
 						 file_info.current_sample);
+#else
+		FLAC__stream_decoder_seek_absolute(file_info.decoder,
+						 file_info.current_sample);
+#endif
             }
 	    /* absolute seek */
             else
@@ -161,7 +166,11 @@
 		file_info.elapsed_time = absolute_time;
 		file_info.current_sample = absolute_frame;
 
+#ifdef LEGACY_FLAC
 		FLAC__file_decoder_seek_absolute(file_info.decoder, absolute_frame);
+#else
+		FLAC__stream_decoder_seek_absolute(file_info.decoder, absolute_frame);
+#endif
             }
 
         }


Index: flac123.spec
===================================================================
RCS file: /cvs/extras/rpms/flac123/devel/flac123.spec,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- flac123.spec	15 Feb 2007 22:16:59 -0000	1.3
+++ flac123.spec	26 Feb 2007 04:12:13 -0000	1.4
@@ -1,12 +1,13 @@
 Name:           flac123
 Version:        0.0.9 
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Command-line program for playing FLAC audio files
 
 Group:          Applications/Multimedia
 License:        GPL
 URL:            http://flac-tools.sourceforge.net/
 Source0:        http://dl.sf.net/sourceforge/flac-tools/%{name}-%{version}.tar.gz
+Patch0:         %{name}-%{version}-flac-1.1.3.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  libao-devel, flac-devel 
@@ -19,7 +20,7 @@
 
 %prep
 %setup -q
-
+%patch0 -p1
 
 %build
 %configure
@@ -41,6 +42,8 @@
 %{_bindir}/*
 
 %changelog
+* Mon Feb 26 2007 Sindre Pedersen Bjørdal <foolish[AT]guezz.net> - 0.0.9-3
+- Add patch to make build work against flac 1.1.3
 * Thu Feb 15 2007 Sindre Pedersen Bjørdal <foolish[AT]guezz.net> - 0.0.9-2
 - Rebuild against new libflac
 * Mon Dec 11 2006 Sindre Pedersen Bjørdal <foolish[AT]guezz.net> - 0.0.9-1




More information about the scm-commits mailing list