[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