[svn] r5213 - trunk/rpms/vlc

packagers at lists.rpmforge.net packagers at lists.rpmforge.net
Mon Feb 26 00:22:30 CET 2007


Author: thias
Date: 2007-02-26 00:22:30 +0100 (Mon, 26 Feb 2007)
New Revision: 5213

Added:
   trunk/rpms/vlc/vlc-0.8.6a-flac-1.1.3.patch
Modified:
   trunk/rpms/vlc/vlc.spec
Log:
Patch VLC for the latest FLAC update.


Added: trunk/rpms/vlc/vlc-0.8.6a-flac-1.1.3.patch
===================================================================
--- trunk/rpms/vlc/vlc-0.8.6a-flac-1.1.3.patch	                        (rev 0)
+++ trunk/rpms/vlc/vlc-0.8.6a-flac-1.1.3.patch	2007-02-25 23:22:30 UTC (rev 5213)
@@ -0,0 +1,132 @@
+--- vlc-0.8.6-clean/modules/codec/flac.c	2006-12-09 01:12:20.000000000 +0000
++++ vlc-0.8.6/modules/codec/flac.c	2006-12-24 01:34:54.000000000 +0000
+@@ -40,6 +40,10 @@
+ 
+ #define MAX_FLAC_HEADER_SIZE 16
+ 
++#if defined(FLAC_API_VERSION_CURRENT) && FLAC_API_VERSION_CURRENT >= 8
++#   define USE_NEW_FLAC_API
++#endif
++
+ /*****************************************************************************
+  * decoder_sys_t : FLAC decoder descriptor
+  *****************************************************************************/
+@@ -225,6 +229,25 @@
+         return VLC_EGENERIC;
+     }
+ 
++#ifdef USE_NEW_FLAC_API
++    if( FLAC__stream_decoder_init_stream( p_sys->p_flac,
++                                          DecoderReadCallback,
++                                          NULL,
++                                          NULL,
++                                          NULL,
++                                          NULL,
++                                          DecoderWriteCallback,
++                                          DecoderMetadataCallback,
++                                          DecoderErrorCallback,
++                                          p_dec )
++        != FLAC__STREAM_DECODER_INIT_STATUS_OK )
++    {
++        msg_Err( p_dec, "FLAC__stream_decoder_init_stream() failed" );
++        FLAC__stream_decoder_delete( p_sys->p_flac );
++        free( p_sys );
++        return VLC_EGENERIC;
++    }
++#else
+     FLAC__stream_decoder_set_read_callback( p_sys->p_flac,
+                                             DecoderReadCallback );
+     FLAC__stream_decoder_set_write_callback( p_sys->p_flac,
+@@ -237,6 +260,7 @@
+ 
+     FLAC__stream_decoder_init( p_sys->p_flac );
+ #endif
++#endif
+ 
+     /* Set output properties */
+     p_dec->fmt_out.i_cat = AUDIO_ES;
+@@ -730,16 +754,27 @@
+     case FLAC__STREAM_DECODER_END_OF_STREAM:
+         msg_Dbg( p_dec, "the decoder has reached the end of the stream." );
+         break;
++#ifdef USE_NEW_FLAC_API
++    case FLAC__STREAM_DECODER_OGG_ERROR:
++        msg_Err( p_dec, "error occurred in the Ogg layer." );
++        break;
++    case FLAC__STREAM_DECODER_SEEK_ERROR:
++        msg_Err( p_dec, "error occurred while seeking." );
++        break;
++#endif
+     case FLAC__STREAM_DECODER_ABORTED:
+         msg_Warn( p_dec, "the decoder was aborted by the read callback." );
+         break;
++#ifndef USE_NEW_FLAC_API
+     case FLAC__STREAM_DECODER_UNPARSEABLE_STREAM:
+         msg_Warn( p_dec, "the decoder encountered reserved fields in use "
+                  "in the stream." );
+         break;
++#endif
+     case FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR:
+         msg_Err( p_dec, "error when allocating memory." );
+         break;
++#ifndef USE_NEW_FLAC_API
+     case FLAC__STREAM_DECODER_ALREADY_INITIALIZED:
+         msg_Err( p_dec, "FLAC__stream_decoder_init() was called when the "
+                  "decoder was already initialized, usually because "
+@@ -749,6 +784,7 @@
+         msg_Err( p_dec, "FLAC__stream_decoder_init() was called without "
+                  "all callbacks being set." );
+         break;
++#endif
+     case FLAC__STREAM_DECODER_UNINITIALIZED:
+         msg_Err( p_dec, "decoder in uninitialized state." );
+         break;
+@@ -1183,7 +1219,12 @@
+     p_sys->i_samples_delay = 0;
+ 
+     /* Create flac encoder */
+-    p_sys->p_flac = FLAC__stream_encoder_new();
++    if( !(p_sys->p_flac = FLAC__stream_encoder_new()) )
++    {
++        msg_Err( p_enc, "FLAC__stream_encoder_new() failed" );
++        free( p_sys );
++        return VLC_EGENERIC;
++    }
+ 
+     FLAC__stream_encoder_set_streamable_subset( p_sys->p_flac, 1 );
+     FLAC__stream_encoder_set_channels( p_sys->p_flac,
+@@ -1193,15 +1234,32 @@
+     FLAC__stream_encoder_set_bits_per_sample( p_sys->p_flac, 16 );
+     p_enc->fmt_in.i_codec = AOUT_FMT_S16_NE;
+ 
++    /* Get and store the STREAMINFO metadata block as a p_extra */
++    p_sys->p_chain = 0;
++
++#ifdef USE_NEW_FLAC_API
++    if( FLAC__stream_encoder_init_stream( p_sys->p_flac,
++                                          EncoderWriteCallback,
++                                          NULL,
++                                          NULL,
++                                          EncoderMetadataCallback,
++                                          p_enc )
++        != FLAC__STREAM_ENCODER_INIT_STATUS_OK )
++    {
++        msg_Err( p_enc, "FLAC__stream_encoder_init_stream() failed" );
++        FLAC__stream_encoder_delete( p_sys->p_flac );
++        free( p_sys );
++        return VLC_EGENERIC;
++    }
++#else
+     FLAC__stream_encoder_set_write_callback( p_sys->p_flac,
+         EncoderWriteCallback );
+     FLAC__stream_encoder_set_metadata_callback( p_sys->p_flac,
+         EncoderMetadataCallback );
+     FLAC__stream_encoder_set_client_data( p_sys->p_flac, p_enc );
+ 
+-    /* Get and store the STREAMINFO metadata block as a p_extra */
+-    p_sys->p_chain = 0;
+     FLAC__stream_encoder_init( p_sys->p_flac );
++#endif
+ 
+     return VLC_SUCCESS;
+ }

Modified: trunk/rpms/vlc/vlc.spec
===================================================================
--- trunk/rpms/vlc/vlc.spec	2007-02-25 23:19:33 UTC (rev 5212)
+++ trunk/rpms/vlc/vlc.spec	2007-02-25 23:22:30 UTC (rev 5213)
@@ -96,7 +96,7 @@
 Summary: The VideoLAN client, also a very good standalone video player
 Name: vlc
 Version: 0.8.6a
-Release: 2
+Release: 3
 License: GPL
 Group: Applications/Multimedia
 URL: http://www.videolan.org/
@@ -106,6 +106,7 @@
 Patch0: vlc-0.8.6-ffmpegX11.patch
 Patch1: vlc-0.8.6-wx28.patch
 Patch2: vlc-0.8.6a-faad2.patch
+Patch3: vlc-0.8.6a-flac-1.1.3.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: gcc-c++, libpng-devel, libxml2-devel, libtiff-devel
 BuildRequires: libgcrypt-devel, gnutls-devel, libtar-devel
@@ -202,6 +203,7 @@
 %patch0 -p1 -b .ffmpegX11
 %patch1 -p1 -b .wx28
 %patch2 -p1 -b .faad2
+%patch3 -p1 -b .flac-1.1.3
 # Fix PLUGIN_PATH path for lib64
 %{__perl} -pi -e 's|/lib/vlc|/%{_lib}/vlc|g' vlc-config.in.in configure*
 
@@ -325,6 +327,9 @@
 
 
 %changelog
+* Wed Feb 14 2007 Matthias Saou <http://freshrpms.net/> 0.8.6a-3
+- Add patch for (new) FLAC 1.1.3 support.
+
 * Tue Jan 16 2007 Dag Wieers <dag at wieers.com> - 0.8.6a-2
 - Build against wxGTK 2.6.3.
 



More information about the svn-commits mailing list