]> git.pld-linux.org Git - packages/kino.git/commitdiff
- fixes from debian
authorElan Ruusamäe <glen@pld-linux.org>
Sun, 21 May 2006 12:21:05 +0000 (12:21 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    kino-fix_avi_packing.patch -> 1.1
    kino-fix_bigendian_warning.patch -> 1.1
    kino-fix_no_mplex.patch -> 1.1
    kino-segfault_empty_chapter.patch -> 1.1

kino-fix_avi_packing.patch [new file with mode: 0644]
kino-fix_bigendian_warning.patch [new file with mode: 0644]
kino-fix_no_mplex.patch [new file with mode: 0644]
kino-segfault_empty_chapter.patch [new file with mode: 0644]

diff --git a/kino-fix_avi_packing.patch b/kino-fix_avi_packing.patch
new file mode 100644 (file)
index 0000000..534a850
--- /dev/null
@@ -0,0 +1,251 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem@debian.org>
+## DP: fix avi.h packed attribute for gcc-4.0 
+
+@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
+ {
diff --git a/kino-fix_bigendian_warning.patch b/kino-fix_bigendian_warning.patch
new file mode 100644 (file)
index 0000000..5a10c34
--- /dev/null
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem@debian.org>
+## DP: fix unused variable on bigendian arch 
+
+@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;
diff --git a/kino-fix_no_mplex.patch b/kino-fix_no_mplex.patch
new file mode 100644 (file)
index 0000000..5d53c2a
--- /dev/null
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem@debian.org>
+## DP: fix segfault when no multiplex tool is set 
+
+@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
diff --git a/kino-segfault_empty_chapter.patch b/kino-segfault_empty_chapter.patch
new file mode 100644 (file)
index 0000000..a26c5da
--- /dev/null
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Paul Brossier <piem@debian.org>
+## DP: fix segfault when dvdauth chapter list empty
+
+@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;
This page took 0.088254 seconds and 4 git commands to generate.