SOURCES: kino-segfault_empty_chapter.patch (NEW), kino-fix_avi_pac...

glen glen at pld-linux.org
Sun May 21 14:21:10 CEST 2006


Author: glen                         Date: Sun May 21 12:21:10 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fixes from debian

---- Files affected:
SOURCES:
   kino-segfault_empty_chapter.patch (NONE -> 1.1)  (NEW), kino-fix_avi_packing.patch (NONE -> 1.1)  (NEW), kino-fix_no_mplex.patch (NONE -> 1.1)  (NEW), kino-fix_bigendian_warning.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/kino-segfault_empty_chapter.patch
diff -u /dev/null SOURCES/kino-segfault_empty_chapter.patch:1.1
--- /dev/null	Sun May 21 14:21:10 2006
+++ SOURCES/kino-segfault_empty_chapter.patch	Sun May 21 14:21:04 2006
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem at debian.org>
+## DP: fix segfault when dvdauth chapter list empty
+
+ at DPATCH@
+--- kino-0.76.orig/src/page_export_mjpeg.cc
++++ kino-0.76/src/page_export_mjpeg.cc
+@@ -472,8 +472,10 @@
+ 		{
+ 			std::string tmpSceneStr;
+ 			tmpSceneStr = this->common->getTime().parseFramesToString( *sceneIter, SMIL::Time::TIME_FORMAT_SMPTE );
++                        if (tmpSceneStr.length() > 9)
+ 			chapterList << "," << tmpSceneStr.substr( 1, 7 ) << "." << std::setw( 2 ) << std::setfill( '0' ) <<
+ 				static_cast< int >( atof( tmpSceneStr.substr( 9, 2 ).c_str() ) / ( isPal ? 25 : 29.97 ) * 100 );
++                        else goto endchapter;
+ 		}
+ 
+ 		/* output the single vob, checking for chapter marks */
+@@ -481,6 +483,8 @@
+ 		chapterList.str() << "\" pause=\"0\" />" << std::endl;
+ 	}
+ 
++endchapter:
++
+ 	xml << "\t\t\t</pgc>" << std::endl;
+ 	xml << "\t\t</titles>" << std::endl;
+ 	xml << "\t</titleset>" <<std::endl;

================================================================
Index: SOURCES/kino-fix_avi_packing.patch
diff -u /dev/null SOURCES/kino-fix_avi_packing.patch:1.1
--- /dev/null	Sun May 21 14:21:10 2006
+++ SOURCES/kino-fix_avi_packing.patch	Sun May 21 14:21:04 2006
@@ -0,0 +1,251 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem at debian.org>
+## DP: fix avi.h packed attribute for gcc-4.0 
+
+ at DPATCH@
+--- kino-0.8.0/src/avi.h	2005-10-20 07:28:39.000000000 +0100
++++ kino-0.80/src/avi.h	2005-11-28 18:57:02.782807000 +0000
+@@ -31,7 +31,7 @@
+ #include "riff.h"
+ #include "frame.h"
+ 
+-#define PACKED(x)	__attribute__((packed)) x
++#define PACKED(x)	x __attribute__((packed))
+ 
+ #define AVI_SMALL_INDEX (0x01)
+ #define AVI_LARGE_INDEX (0x02)
+@@ -48,35 +48,35 @@
+ typedef struct
+ {
+ 	/// frame display rate (or 0L)
+-	DWORD dwMicroSecPerFrame;
++	DWORD PACKED(dwMicroSecPerFrame);
+ 
+ 	/// max. transfer rate
+-	DWORD dwMaxBytesPerSec;
++	DWORD PACKED(dwMaxBytesPerSec);
+ 
+ 	/// pad to multiples of this size, normally 2K
+-	DWORD dwPaddingGranularity;
++	DWORD PACKED(dwPaddingGranularity);
+ 
+ 	/// the ever-present flags
+-	DWORD dwFlags;
++	DWORD PACKED(dwFlags);
+ 
+ 	/// # frames in file
+-	DWORD dwTotalFrames;
+-	DWORD dwInitialFrames;
+-	DWORD dwStreams;
+-	DWORD dwSuggestedBufferSize;
++	DWORD PACKED(dwTotalFrames);
++	DWORD PACKED(dwInitialFrames);
++	DWORD PACKED(dwStreams);
++	DWORD PACKED(dwSuggestedBufferSize);
+ 
+-	DWORD dwWidth;
+-	DWORD dwHeight;
++	DWORD PACKED(dwWidth);
++	DWORD PACKED(dwHeight);
+ 
+-	DWORD dwReserved[ 4 ];
++	DWORD PACKED(dwReserved[ 4 ]);
+ }
+-PACKED(MainAVIHeader);
++MainAVIHeader;
+ 
+ typedef struct
+ {
+-	WORD top, bottom, left, right;
++	WORD PACKED(top), PACKED(bottom), PACKED(left), PACKED(right);
+ }
+-PACKED(RECT);
++RECT;
+ 
+ /** Declaration of a stream header
+  
+@@ -84,113 +84,113 @@
+ 
+ typedef struct
+ {
+-	FOURCC fccType;
+-	FOURCC fccHandler;
+-	DWORD dwFlags;                /* Contains AVITF_* flags */
+-	WORD wPriority;
+-	WORD wLanguage;
+-	DWORD dwInitialFrames;
+-	DWORD dwScale;
+-	DWORD dwRate;                 /* dwRate / dwScale == samples/second */
+-	DWORD dwStart;
+-	DWORD dwLength;               /* In units above... */
+-	DWORD dwSuggestedBufferSize;
+-	DWORD dwQuality;
+-	DWORD dwSampleSize;
+-	RECT rcFrame;
++	FOURCC PACKED(fccType);
++	FOURCC PACKED(fccHandler);
++	DWORD PACKED(dwFlags);                /* Contains AVITF_* flags */
++	WORD PACKED(wPriority);
++	WORD PACKED(wLanguage);
++	DWORD PACKED(dwInitialFrames);
++	DWORD PACKED(dwScale);
++	DWORD PACKED(dwRate);                 /* dwRate / dwScale == samples/second */
++	DWORD PACKED(dwStart);
++	DWORD PACKED(dwLength);               /* In units above... */
++	DWORD PACKED(dwSuggestedBufferSize);
++	DWORD PACKED(dwQuality);
++	DWORD PACKED(dwSampleSize);
++	RECT PACKED(rcFrame);
+ }
+-PACKED(AVIStreamHeader);
++AVIStreamHeader;
+ 
+ typedef struct
+ {
+-	DWORD dwDVAAuxSrc;
+-	DWORD dwDVAAuxCtl;
+-	DWORD dwDVAAuxSrc1;
+-	DWORD dwDVAAuxCtl1;
+-	DWORD dwDVVAuxSrc;
+-	DWORD dwDVVAuxCtl;
+-	DWORD dwDVReserved[ 2 ];
++	DWORD PACKED(dwDVAAuxSrc);
++	DWORD PACKED(dwDVAAuxCtl);
++	DWORD PACKED(dwDVAAuxSrc1);
++	DWORD PACKED(dwDVAAuxCtl1);
++	DWORD PACKED(dwDVVAuxSrc);
++	DWORD PACKED(dwDVVAuxCtl);
++	DWORD PACKED(dwDVReserved[ 2 ]);
+ }
+-PACKED(DVINFO);
++DVINFO;
+ 
+ typedef struct
+ {
+-	DWORD biSize;
+-	LONG biWidth;
+-	LONG biHeight;
+-	WORD biPlanes;
+-	WORD biBitCount;
+-	DWORD biCompression;
+-	DWORD biSizeImage;
+-	LONG biXPelsPerMeter;
+-	LONG biYPelsPerMeter;
+-	DWORD biClrUsed;
+-	DWORD biClrImportant;
++	DWORD PACKED(biSize);
++	LONG PACKED(biWidth);
++	LONG PACKED(biHeight);
++	WORD PACKED(biPlanes);
++	WORD PACKED(biBitCount);
++	DWORD PACKED(biCompression);
++	DWORD PACKED(biSizeImage);
++	LONG PACKED(biXPelsPerMeter);
++	LONG PACKED(biYPelsPerMeter);
++	DWORD PACKED(biClrUsed);
++	DWORD PACKED(biClrImportant);
+ }
+-PACKED(BITMAPINFOHEADER);
++BITMAPINFOHEADER;
+ 
+ typedef struct
+ {
+-	WORD wFormatTag;
+-	WORD nChannels;
+-	DWORD nSamplesPerSec;
+-	DWORD nAvgBytesPerSec;
+-	WORD nBlockAlign;
+-	WORD wBitsPerSample;
+-	WORD cbSize;
+-	WORD dummy;
++	WORD PACKED(wFormatTag);
++	WORD PACKED(nChannels);
++	DWORD PACKED(nSamplesPerSec);
++	DWORD PACKED(nAvgBytesPerSec);
++	WORD PACKED(nBlockAlign);
++	WORD PACKED(wBitsPerSample);
++	WORD PACKED(cbSize);
++	WORD PACKED(dummy);
+ }
+-PACKED(WAVEFORMATEX);
++WAVEFORMATEX;
+ 
+ typedef struct
+ {
+-	WORD wLongsPerEntry;
+-	BYTE bIndexSubType;
+-	BYTE bIndexType;
+-	DWORD nEntriesInUse;
+-	FOURCC dwChunkId;
+-	DWORD dwReserved[ 3 ];
++	WORD PACKED(wLongsPerEntry);
++	BYTE PACKED(bIndexSubType);
++	BYTE PACKED(bIndexType);
++	DWORD PACKED(nEntriesInUse);
++	FOURCC PACKED(dwChunkId);
++	DWORD PACKED(dwReserved[ 3 ]);
+ 	struct avisuperindex_entry
+ 	{
+-		QUADWORD qwOffset;
+-		DWORD dwSize;
+-		DWORD dwDuration;
++		QUADWORD PACKED(qwOffset);
++		DWORD PACKED(dwSize);
++		DWORD PACKED(dwDuration);
+ 	}
+ 	aIndex[ 2014 ];
+ }
+-PACKED(AVISuperIndex);
++AVISuperIndex;
+ 
+ typedef struct
+ {
+-	WORD wLongsPerEntry;
+-	BYTE bIndexSubType;
+-	BYTE bIndexType;
+-	DWORD nEntriesInUse;
+-	FOURCC dwChunkId;
+-	QUADWORD qwBaseOffset;
+-	DWORD dwReserved;
++	WORD PACKED(wLongsPerEntry);
++	BYTE PACKED(bIndexSubType);
++	BYTE PACKED(bIndexType);
++	DWORD PACKED(nEntriesInUse);
++	FOURCC PACKED(dwChunkId);
++	QUADWORD PACKED(qwBaseOffset);
++	DWORD PACKED(dwReserved);
+ 	struct avifieldindex_entry
+ 	{
+-		DWORD dwOffset;
+-		DWORD dwSize;
++		DWORD PACKED(dwOffset);
++		DWORD PACKED(dwSize);
+ 	}
+-	aIndex[ 17895 ];
++	aIndex[ 4028 ];
+ }
+-PACKED(AVIStdIndex);
++AVIStdIndex;
+ 
+ typedef struct
+ {
+ 	struct avisimpleindex_entry
+ 	{
+-		FOURCC	dwChunkId;
+-		DWORD	dwFlags;
+-		DWORD	dwOffset;
+-		DWORD	dwSize;
++		FOURCC PACKED(dwChunkId);
++		DWORD PACKED(dwFlags);
++		DWORD PACKED(dwOffset);
++		DWORD PACKED(dwSize);
+ 	}
+ 	aIndex[ 20000 ];
+-	DWORD	nEntriesInUse;
++	DWORD PACKED(nEntriesInUse);
+ }
+-PACKED(AVISimpleIndex);
++AVISimpleIndex;
+ 
+ typedef struct
+ {

================================================================
Index: SOURCES/kino-fix_no_mplex.patch
diff -u /dev/null SOURCES/kino-fix_no_mplex.patch:1.1
--- /dev/null	Sun May 21 14:21:10 2006
+++ SOURCES/kino-fix_no_mplex.patch	Sun May 21 14:21:04 2006
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem at debian.org>
+## DP: fix segfault when no multiplex tool is set 
+
+ at DPATCH@
+--- kino-0.7.6/src/page_export_mjpeg.cc	2005-04-02 00:02:00.000000000 +0100
++++ kino-0.76/src/page_export_mjpeg.cc	2005-07-21 17:33:26.000000000 +0100
+@@ -277,7 +277,10 @@
+ 		gchar *full;
+ 		char sceneString[ 20 ];
+ 		int sceneEnd = end;
+-		bool userMplexSplit = ( strstr( multiplex, "-S" ) || strstr( multiplex, "--max-segment-size" ) );
++		bool userMplexSplit = 0;
++                if ( multiplex != NULL && strcmp( multiplex, "" ) )
++                        userMplexSplit =  (strstr( multiplex, "-S" ) 
++                                        || strstr( multiplex, "--max-segment-size" ));
+ 
+ 		// Determine if we need to split by scene or not
+ 		// when splitting: Output is generated as fileNNN_MMM.mpeg where NNN is the

================================================================
Index: SOURCES/kino-fix_bigendian_warning.patch
diff -u /dev/null SOURCES/kino-fix_bigendian_warning.patch:1.1
--- /dev/null	Sun May 21 14:21:10 2006
+++ SOURCES/kino-fix_bigendian_warning.patch	Sun May 21 14:21:05 2006
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem at debian.org>
+## DP: fix unused variable on bigendian arch 
+
+ at DPATCH@
+--- kino-0.76.orig/src/page_export_avi.cc
++++ kino-0.76/src/page_export_avi.cc
+@@ -213,8 +213,10 @@
+ 		time_t datetime = time( NULL );
+ 		int frameNum = 0;
+ 		int i;
++#if BYTE_ORDER == LITTLE_ENDIAN
+ 		bool resample = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
+ 		                    lookup_widget( common->getWidget(), "checkbutton_export_avi_resample" ) ) );
++#endif
+ 		int16_t *audio_buffers[ 4 ];
+ 		AudioInfo info;
+ 		AudioResample<int16_ne_t,int16_le_t> *resampler = NULL;
================================================================


More information about the pld-cvs-commit mailing list