[k9copy] Add patch to fix build with ffmpeg3 and gcc6 (Fedora)

Sérgio M. Basto sergiomb at rpmfusion.org
Mon Jul 4 06:21:07 CEST 2016


commit d9805cdf81c263fb29daff3448861065ec8d10f7
Author: Sérgio M. Basto <sergio at serjux.com>
Date:   Mon Jul 4 05:20:12 2016 +0100

    Add patch to fix build with ffmpeg3 and gcc6 (Fedora)

 k9copy-ffmpeg3andgcc6.patch | 74 +++++++++++++++++++++++++++++++++++++++++++++
 k9copy.spec                 |  7 ++++-
 2 files changed, 80 insertions(+), 1 deletion(-)
---
diff --git a/k9copy-ffmpeg3andgcc6.patch b/k9copy-ffmpeg3andgcc6.patch
new file mode 100644
index 0000000..68218a2
--- /dev/null
+++ b/k9copy-ffmpeg3andgcc6.patch
@@ -0,0 +1,74 @@
+--- k9copy/src/core/k9tools.cpp.orig	2016-07-04 03:37:07.537698816 +0100
++++ k9copy/src/core/k9tools.cpp	2016-07-04 03:37:15.044797764 +0100
+@@ -88,7 +88,7 @@ bool k9Tools::checkProgram(QString _prog
+     #if QT_VERSION >= 0x050000
+     bool res=QStandardPaths::findExecutable( _progName) !=NULL ;
+     #else // Qt4 Code
+-    bool res= KStandardDirs::findExe( _progName,NULL,false) !=NULL ;
++    bool res= KStandardDirs::findExe( _progName,NULL,0) !=NULL ;
+     #endif
+     if (_msg && !res)
+         k9Dialogs::error(i18n("Error starting program %1").arg(_progName),i18n("Running program"));
+--- k9copy/src/backup/k9dvdbackup.cpp.orig	2016-07-04 03:45:28.518294176 +0100
++++ k9copy/src/backup/k9dvdbackup.cpp	2016-07-04 03:48:20.856559514 +0100
+@@ -33,6 +33,7 @@
+ #include <stdarg.h>
+ #include <errno.h>
+ #include <string.h>
++#include <math.h>
+ #include <qdir.h>
+ 
+ #include <kmessagebox.h>
+@@ -907,7 +908,8 @@ k9Vobu * k9DVDBackup::remapOffset(uint32
+ 
+ 
+         if ((vobu1 !=NULL) && (vobu2!=NULL)) {
+-            *_offset = abs(vobu1->newSector - vobu2->newSector)  | maskOffset1 ;
++            *_offset = fabs(vobu1->newSector - vobu2->newSector);
++            *_offset |= maskOffset1;
+             *_offset |= maskOffset2;
+             return vobu2;
+         }
+--- k9copy/src/import/k9avidecode.cpp.orig	2016-07-04 03:53:55.963959712 +0100
++++ k9copy/src/import/k9avidecode.cpp	2016-07-04 04:09:58.766458043 +0100
+@@ -26,7 +26,6 @@ static int sws_flags = SWS_BICUBIC;
+ void av_free_packet_internal(AVPacket *pkt)
+ {
+     if (pkt) {
+-        if (pkt->destruct) pkt->destruct(pkt);
+         pkt->data = NULL; pkt->size = 0;
+     }
+ }
+@@ -238,14 +237,14 @@ bool k9AviDecode::open(const QString & _
+ 
+     int numBytes;
+ // Determine required buffer size and allocate buffer
+-    numBytes=avpicture_get_size(PIX_FMT_RGB24, m_CodecCtx->width,
++    numBytes=avpicture_get_size(AV_PIX_FMT_RGB24, m_CodecCtx->width,
+                                 m_CodecCtx->height);
+     m_buffer=(uint8_t *)av_malloc(numBytes*sizeof(uint8_t));
+ 
+ // Assign appropriate parts of buffer to image planes in pFrameRGB
+ // Note that pFrameRGB is an AVFrame, but AVFrame is a superset
+ // of AVPicture
+-    avpicture_fill((AVPicture *)m_FrameRGB, m_buffer, PIX_FMT_RGB24,
++    avpicture_fill((AVPicture *)m_FrameRGB, m_buffer, AV_PIX_FMT_RGB24,
+                    m_CodecCtx->width, m_CodecCtx->height);
+ 
+  
+@@ -317,13 +316,13 @@ void k9AviDecode::readFrame(double _seco
+                     bFound=true;
+ #ifndef HAVE_SWSCALE
+                   // Convert the image from its native format to RGB
+-                    img_convert((AVPicture *)m_FrameRGB, PIX_FMT_RGB24,
++                    img_convert((AVPicture *)m_FrameRGB, AV_PIX_FMT_RGB24,
+                                 (AVPicture*)m_Frame, m_CodecCtx->pix_fmt,
+                                 m_CodecCtx->width, m_CodecCtx->height);
+                     SaveFrame(m_FrameRGB, m_CodecCtx->width,
+                               m_CodecCtx->height);
+ #else
+-		    toRGB_convert_ctx=sws_getContext(m_CodecCtx->width, m_CodecCtx->height, m_CodecCtx->pix_fmt, m_CodecCtx->width, m_CodecCtx->height, PIX_FMT_RGB24, sws_flags,NULL,NULL,NULL);
++		    toRGB_convert_ctx=sws_getContext(m_CodecCtx->width, m_CodecCtx->height, m_CodecCtx->pix_fmt, m_CodecCtx->width, m_CodecCtx->height, AV_PIX_FMT_RGB24, sws_flags,NULL,NULL,NULL);
+         		   sws_scale(toRGB_convert_ctx, m_Frame->data, m_Frame->linesize, 0, m_CodecCtx->height, m_FrameRGB->data,m_FrameRGB->linesize);
+                     // convert frame to QImage
+                     SaveFrame(m_FrameRGB, m_CodecCtx->width,
diff --git a/k9copy.spec b/k9copy.spec
index 1765a46..d1386e5 100644
--- a/k9copy.spec
+++ b/k9copy.spec
@@ -1,7 +1,7 @@
 
 Name:    k9copy
 Version: 3.0.3
-Release: 2%{?dist}
+Release: 3%{?dist}
 Summary: Video DVD backup and creation program
 Group:   Applications/Multimedia
 License: GPLv2+
@@ -15,6 +15,7 @@ Patch52: k9copy-mimetype.patch
 Patch53: k9copy-FindAv.patch
 Patch54: k9copy-tempdir.patch
 Patch55: k9copy-qt5.patch
+Patch56: k9copy-ffmpeg3andgcc6.patch
 
 BuildRequires: cmake
 BuildRequires: desktop-file-utils
@@ -69,6 +70,7 @@ Video DVD backup and creation program, features include:
 %patch53 -p1 -b .ffmpeg
 %patch54 -p0 -b .tmpdir
 #patch55 -p1 -b .qt5
+%patch56 -p1 -b .f24
 
 
 %build
@@ -118,6 +120,9 @@ fi
 
 
 %changelog
+* Mon Jul 04 2016 Sérgio Basto <sergio at serjux.com> - 3.0.3-3
+- Add patch to fix build with ffmpeg3 and gcc6 (Fedora)
+
 * Sat Feb 06 2016 Sérgio Basto <sergio at serjux.com> - 3.0.3-2
 - Add k9copy-tempdir.patch and some cleanups
 


More information about the rpmfusion-commits mailing list