diff -u faad2-2.7/debian/control faad2-2.7/debian/control --- faad2-2.7/debian/control +++ faad2-2.7/debian/control @@ -2,11 +2,11 @@ Section: libs Priority: optional Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian Multimedia Maintainers +XSBC-Original-Maintainer: Debian multimedia packages maintainers Uploaders: Matthew W. S. Bell , Andres Mejia , Reinhard Tartler , - Fabian Greffrath + Fabian Greffrath DM-Upload-Allowed: yes Standards-Version: 3.8.3 Build-Depends: debhelper (>= 7.0.50~), quilt (>= 0.46-7) diff -u faad2-2.7/debian/changelog faad2-2.7/debian/changelog --- faad2-2.7/debian/changelog +++ faad2-2.7/debian/changelog @@ -1,3 +1,25 @@ +faad2 (2.7-6ubuntu1) natty; urgency=low + + * Merge from debian unstable (LP: #680474). Remaining changes: + - debian/patches/fix_ftbfs_with_gcc4.5.patch + + Correctly declare lrintf in libfaad/common.h to avoid a conflict of + declaration in mathcalls.h to fix FTBFS on i386 + + -- Angel Abad Tue, 23 Nov 2010 13:48:21 +0100 + +faad2 (2.7-6) unstable; urgency=high + + [ Alessio Treglia ] + * Fix segmentation fault in faad due to an incorrect pointer size + (Closes: #603807, LP: #665802). + * Add gbp config file. + + [ Andres Mejia ] + * Revert changes in 2.7-5. Upload of 2.7-5 was unintentionally done. + * Refresh patches. + + -- Andres Mejia Mon, 22 Nov 2010 19:17:36 -0500 + faad2 (2.7-5ubuntu1) natty; urgency=low * debian/patches/fix_ftbfs_with_gcc4.5.patch @@ -18,8 +40,7 @@ faad2 (2.7-4) unstable; urgency=low * debian/control: Do not build the shared libmp4ff library packages - anymore (Closes: #550679). The use of mp4ff from faad2 is discouraged - by upstream, see . + anymore (Closes: #550679). * Removed debian/patches/force-include-stdint_h.patch. * Removed debian/patches/libmp4ff-shared-lib.patch. * Removed debian/patches/70_automake-1.9.patch. reverted: --- faad2-2.7/debian/patches/path_max.patch +++ faad2-2.7.orig/debian/patches/path_max.patch @@ -1,75 +0,0 @@ -Description: Extend file name buffers for longer path names - and fix potential buffer overruns for even longer pathnames. -Author: Fabian Greffrath -Forwarded: menno@audiocoding.com - ---- faad2.orig/frontend/main.c -+++ faad2/frontend/main.c -@@ -42,6 +42,11 @@ - #include - #include - #include -+#include -+ -+#ifndef PATH_MAX -+#define PATH_MAX 1023 -+#endif - - #include - #include -@@ -1107,9 +1112,9 @@ int main(int argc, char *argv[]) - int mp4file = 0; - int noGapless = 0; - char *fnp; -- char aacFileName[255]; -- char audioFileName[255]; -- char adtsFileName[255]; -+ char aacFileName[PATH_MAX + 1]; -+ char audioFileName[PATH_MAX + 1]; -+ char adtsFileName[PATH_MAX + 1]; - unsigned char header[8]; - float length = 0; - FILE *hMP4File; -@@ -1157,14 +1162,14 @@ int main(int argc, char *argv[]) - if (optarg) - { - outfile_set = 1; -- strcpy(audioFileName, optarg); -+ strncpy(audioFileName, optarg, PATH_MAX); - } - break; - case 'a': - if (optarg) - { - adts_out = 1; -- strcpy(adtsFileName, optarg); -+ strncpy(adtsFileName, optarg, PATH_MAX); - } - break; - case 's': -@@ -1284,7 +1289,7 @@ int main(int argc, char *argv[]) - #endif - - /* point to the specified file name */ -- strcpy(aacFileName, argv[optind]); -+ strncpy(aacFileName, argv[optind], PATH_MAX); - - #ifdef _WIN32 - begin = GetTickCount(); -@@ -1297,14 +1302,14 @@ int main(int argc, char *argv[]) - */ - if(!writeToStdio && !outfile_set) - { -- strcpy(audioFileName, aacFileName); -+ strncpy(audioFileName, aacFileName, PATH_MAX); - - fnp = (char *)strrchr(audioFileName,'.'); - - if (fnp) - fnp[0] = '\0'; - -- strcat(audioFileName, file_ext[format]); -+ strncat(audioFileName, file_ext[format], PATH_MAX - strlen(audioFileName)); - } - - /* check for mp4 file */ diff -u faad2-2.7/debian/patches/series faad2-2.7/debian/patches/series --- faad2-2.7/debian/patches/series +++ faad2-2.7/debian/patches/series @@ -1,5 +1,3 @@ manpage.patch -bpa-stdin.patch -path_max.patch incorrect_pointer_size.patch fix_ftbfs_with_gcc4.5.patch diff -u faad2-2.7/debian/patches/incorrect_pointer_size.patch faad2-2.7/debian/patches/incorrect_pointer_size.patch --- faad2-2.7/debian/patches/incorrect_pointer_size.patch +++ faad2-2.7/debian/patches/incorrect_pointer_size.patch @@ -13,9 +13,9 @@ frontend/audio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---- faad2.orig/frontend/audio.c -+++ faad2/frontend/audio.c -@@ -347,7 +347,7 @@ static int write_audio_24bit(audio_file +--- a/frontend/audio.c ++++ b/frontend/audio.c +@@ -347,7 +347,7 @@ { int ret; unsigned int i; @@ -24,7 +24,7 @@ char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8); aufile->total_samples += samples; -@@ -391,7 +391,7 @@ static int write_audio_32bit(audio_file +@@ -391,7 +391,7 @@ { int ret; unsigned int i; reverted: --- faad2-2.7/debian/patches/bpa-stdin.patch +++ faad2-2.7.orig/debian/patches/bpa-stdin.patch @@ -1,268 +0,0 @@ -Description: The patch enables input on stdin for AAC/AAC+ streams. -Origin: http://www.freebsd.org/cgi/cvsweb.cgi/ports/audio/faad/files/patch-frontend_main.c -Bug: http://bugs.slimdevices.com/show_bug.cgi?id=10602 -Forwarded: menno@audiocoding.com -Author: Bryan Alton -Reviewed-By: Mark Knight - -$FreeBSD: ports/audio/faad/files/patch-frontend_main.c,v 1.3 2010/02/25 17:12:54 brooks Exp $ - ---- faad2.orig/frontend/main.c -+++ faad2/frontend/main.c -@@ -137,6 +137,31 @@ static void advance_buffer(aac_buffer *b - b->bytes_into_buffer = 0; - } - -+static void lookforheader(aac_buffer *b) -+{ -+ int i = 0; -+ while (!b->at_eof ) -+ { -+ if (b->bytes_into_buffer > 4) -+ { -+ if( ((b->buffer[0+i] == 0xff) && ((b->buffer[1+i] & 0xf6) == 0xf0)) || -+ (b->buffer[0+i] == 'A' && b->buffer[1+i] == 'D' && b->buffer[2+i] == 'I' && b->buffer[3+i] == 'F')) -+ { -+ fill_buffer(b); -+ break; -+ } else { -+ i++; -+ b->file_offset += 1; -+ b->bytes_consumed += 1; -+ b->bytes_into_buffer -= 1; -+ } -+ } else { -+ fill_buffer(b); -+ i = 0; -+ } -+ } -+} -+ - static int adts_sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000,7350,0,0,0}; - - static int adts_parse(aac_buffer *b, int *bitrate, float *length) -@@ -424,6 +449,8 @@ static int decodeAACfile(char *aacfile, - float length = 0; - - int first_time = 1; -+ int retval; -+ int streaminput = 0; - - aac_buffer b; - -@@ -439,17 +466,39 @@ static int decodeAACfile(char *aacfile, - } - } - -- b.infile = fopen(aacfile, "rb"); -- if (b.infile == NULL) -+ if (0 == strcmp(aacfile, "-")) - { -- /* unable to open file */ -- faad_fprintf(stderr, "Error opening file: %s\n", aacfile); -- return 1; -+ b.infile = stdin; -+#ifdef _WIN32 -+ setmode(fileno(stdin), O_BINARY); -+#endif -+ -+ } else -+ { -+ b.infile = fopen(aacfile, "rb"); -+ if (b.infile == NULL) -+ { -+ /* unable to open file */ -+ faad_fprintf(stderr, "Error opening file: %s\n", aacfile); -+ return 1; -+ } - } - -- fseek(b.infile, 0, SEEK_END); -- fileread = ftell(b.infile); -- fseek(b.infile, 0, SEEK_SET); -+ retval = fseek(b.infile, 0, SEEK_END); -+#ifdef _WIN32 -+ if (0 == strcmp(aacfile, "-")) { -+ retval = -1; -+ } -+#endif -+ if (retval ) -+ { -+ faad_fprintf(stderr, "Input not seekable %s\n", aacfile); -+ fileread = -1; -+ streaminput = 1; -+ } else { -+ fileread = ftell(b.infile); -+ fseek(b.infile, 0, SEEK_SET); -+ }; - - if (!(b.buffer = (unsigned char*)malloc(FAAD_MIN_STREAMSIZE*MAX_CHANNELS))) - { -@@ -494,19 +543,39 @@ static int decodeAACfile(char *aacfile, - - /* get AAC infos for printing */ - header_type = 0; -+ if (streaminput == 1 ) -+ lookforheader(&b); -+ - if ((b.buffer[0] == 0xFF) && ((b.buffer[1] & 0xF6) == 0xF0)) - { -- adts_parse(&b, &bitrate, &length); -- fseek(b.infile, tagsize, SEEK_SET); -- -- bread = fread(b.buffer, 1, FAAD_MIN_STREAMSIZE*MAX_CHANNELS, b.infile); -- if (bread != FAAD_MIN_STREAMSIZE*MAX_CHANNELS) -- b.at_eof = 1; -- else -- b.at_eof = 0; -- b.bytes_into_buffer = bread; -- b.bytes_consumed = 0; -- b.file_offset = tagsize; -+ if (streaminput ==1) -+ { -+ int frames, frame_length; -+ int samplerate; -+ float frames_per_sec, bytes_per_frame; -+ samplerate = adts_sample_rates[(b.buffer[2]&0x3c)>>2]; -+ frame_length = ((((unsigned int)b.buffer[3] & 0x3)) << 11) -+ | (((unsigned int)b.buffer[4]) << 3) | (b.buffer[5] >> 5); -+ -+ frames_per_sec = (float)samplerate/1024.0f; -+ bytes_per_frame = (float)frame_length/(float)(1000); -+ bitrate = (int)(8. * bytes_per_frame * frames_per_sec + 0.5); -+ length = 1; -+ faad_fprintf(stderr, "Streamed input format samplerate %d channels %d.\n",samplerate,channels); -+ -+ } else { -+ adts_parse(&b, &bitrate, &length); -+ fseek(b.infile, tagsize, SEEK_SET); -+ -+ bread = fread(b.buffer, 1, FAAD_MIN_STREAMSIZE*MAX_CHANNELS, b.infile); -+ if (bread != FAAD_MIN_STREAMSIZE*MAX_CHANNELS) -+ b.at_eof = 1; -+ else -+ b.at_eof = 0; -+ b.bytes_into_buffer = bread; -+ b.bytes_consumed = 0; -+ b.file_offset = tagsize; -+ } - - header_type = 1; - } else if (memcmp(b.buffer, "ADIF", 4) == 0) { -@@ -538,7 +607,8 @@ static int decodeAACfile(char *aacfile, - if (b.buffer) - free(b.buffer); - NeAACDecClose(hDecoder); -- fclose(b.infile); -+ if (b.infile != stdin) -+ fclose(b.infile); - return 1; - } - advance_buffer(&b, bread); -@@ -564,7 +634,8 @@ static int decodeAACfile(char *aacfile, - if (infoOnly) - { - NeAACDecClose(hDecoder); -- fclose(b.infile); -+ if (b.infile != stdin) -+ fclose(b.infile); - if (b.buffer) - free(b.buffer); - return 0; -@@ -621,7 +692,8 @@ static int decodeAACfile(char *aacfile, - if (b.buffer) - free(b.buffer); - NeAACDecClose(hDecoder); -- fclose(b.infile); -+ if (b.infile != stdin) -+ fclose(b.infile); - return 0; - } - } else { -@@ -662,7 +734,8 @@ static int decodeAACfile(char *aacfile, - fclose(adtsFile); - } - -- fclose(b.infile); -+ if (b.infile != stdin) -+ fclose(b.infile); - - if (!first_time && !adts_out) - close_audio_file(aufile); -@@ -750,6 +823,11 @@ static int decodeMP4file(char *mp4file, - /* initialise the callback structure */ - mp4ff_callback_t *mp4cb = malloc(sizeof(mp4ff_callback_t)); - -+ if (strcmp(mp4file, "-") == 0 ) { -+ faad_fprintf(stderr, "Cannot open stdin for MP4 input \n"); -+ return 1; -+ } -+ - mp4File = fopen(mp4file, "rb"); - mp4cb->read = read_callback; - mp4cb->seek = seek_callback; -@@ -1016,6 +1094,7 @@ int main(int argc, char *argv[]) - int result; - int infoOnly = 0; - int writeToStdio = 0; -+ int readFromStdin = 0; - int object_type = LC; - int def_srate = 0; - int downMatrix = 0; -@@ -1229,15 +1308,30 @@ int main(int argc, char *argv[]) - } - - /* check for mp4 file */ -- mp4file = 0; -- hMP4File = fopen(aacFileName, "rb"); -- if (!hMP4File) -- { -- faad_fprintf(stderr, "Error opening file: %s\n", aacFileName); -- return 1; -+ if (0 == strcmp(aacFileName, "-")) { -+ faad_fprintf(stderr, "Reading from stdin: %s\n", aacFileName); -+ readFromStdin = 1; -+ hMP4File = stdin; -+#ifdef _WIN32 -+ setmode(fileno(stdin), O_BINARY); -+#endif -+ -+ } else { -+ -+ mp4file = 0; -+ hMP4File = fopen(aacFileName, "rb"); -+ if (!hMP4File) -+ { -+ faad_fprintf(stderr, "Error opening file: %s\n", aacFileName); -+ return 1; -+ } - } -+ - fread(header, 1, 8, hMP4File); -- fclose(hMP4File); -+ -+ if (! readFromStdin ) -+ fclose(hMP4File); -+ - if (header[4] == 'f' && header[5] == 't' && header[6] == 'y' && header[7] == 'p') - mp4file = 1; - -@@ -1246,6 +1340,18 @@ int main(int argc, char *argv[]) - result = decodeMP4file(aacFileName, audioFileName, adtsFileName, writeToStdio, - outputFormat, format, downMatrix, noGapless, infoOnly, adts_out, &length); - } else { -+ -+ if (readFromStdin == 1) { -+ ungetc(header[7],hMP4File); -+ ungetc(header[6],hMP4File); -+ ungetc(header[5],hMP4File); -+ ungetc(header[4],hMP4File); -+ ungetc(header[3],hMP4File); -+ ungetc(header[2],hMP4File); -+ ungetc(header[1],hMP4File); -+ ungetc(header[0],hMP4File); -+ } -+ - result = decodeAACfile(aacFileName, audioFileName, adtsFileName, writeToStdio, - def_srate, object_type, outputFormat, format, downMatrix, infoOnly, adts_out, - old_format, &length); only in patch2: unchanged: --- faad2-2.7.orig/debian/gbp.conf +++ faad2-2.7/debian/gbp.conf @@ -0,0 +1,5 @@ +[DEFAULT] +debian-branch = unstable +upstream-branch = upstream +pristine-tar = True +sign-tags = True