Package: karlyriceditor Version: 1.11-1 Severity: important Tags: patch User: pkg-multimedia-maintain...@lists.alioth.debian.org Usertags: ffmpeg2.9
Dear Maintainer, your package fails to build with the upcoming ffmpeg 2.9. This bug will become release-critical at some point when the ffmpeg2.9 transition gets closer. Attached is a patch replacing the deprecated functionality. It also works with ffmpeg 2.8. Please apply this patch and forward it upstream, if necessary. These changes have little regression potential. Best regards, Andreas
diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch new file mode 100644 index 0000000..31adf4d --- /dev/null +++ b/debian/patches/ffmpeg_2.9.patch @@ -0,0 +1,74 @@ +Description: Replace deprecated FFmpeg API +Author: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> +Last-Update: <2015-11-02> + +--- karlyriceditor-1.11.orig/src/ffmpegvideodecoder.cpp ++++ karlyriceditor-1.11/src/ffmpegvideodecoder.cpp +@@ -151,12 +151,12 @@ bool FFMpegVideoDecoder::openFile( const + } + + // Determine required buffer size and allocate buffer +- int numBytes = avpicture_get_size( PIX_FMT_RGB24, d->pCodecCtx->width, d->pCodecCtx->height ); ++ int numBytes = avpicture_get_size( AV_PIX_FMT_RGB24, d->pCodecCtx->width, d->pCodecCtx->height ); + d->m_buffer.resize( numBytes ); + + // Assign appropriate parts of buffer to image planes in pFrameRGB + avpicture_fill( (AVPicture *) d->pFrameRGB, (uint8_t*) d->m_buffer.data(), +- PIX_FMT_RGB24, d->pCodecCtx->width, d->pCodecCtx->height ); ++ AV_PIX_FMT_RGB24, d->pCodecCtx->width, d->pCodecCtx->height ); + + d->skipFrames = seekto; + return true; +@@ -215,7 +215,7 @@ bool FFMpegVideoDecoderPriv::readFrame( + int w = pCodecCtx->width; + int h = pCodecCtx->height; + +- img_convert_ctx = sws_getCachedContext(img_convert_ctx,w, h, pCodecCtx->pix_fmt, w, h, PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL, NULL); ++ img_convert_ctx = sws_getCachedContext(img_convert_ctx,w, h, pCodecCtx->pix_fmt, w, h, AV_PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL, NULL); + + if ( img_convert_ctx == NULL ) + { +--- karlyriceditor-1.11.orig/src/ffmpegvideoencoder.cpp ++++ karlyriceditor-1.11/src/ffmpegvideoencoder.cpp +@@ -333,7 +333,7 @@ av_log_set_level(AV_LOG_VERBOSE); + videoCodecCtx->time_base.num = m_videoformat->frame_rate_num; + videoCodecCtx->time_base.den = m_videoformat->frame_rate_den; + videoCodecCtx->gop_size = (m_videoformat->frame_rate_den / m_videoformat->frame_rate_num) / 2; // GOP size is framerate / 2 +- videoCodecCtx->pix_fmt = PIX_FMT_YUV420P; ++ videoCodecCtx->pix_fmt = AV_PIX_FMT_YUV420P; + videoCodecCtx->bit_rate = m_videobitrate; + videoCodecCtx->bit_rate_tolerance = m_videobitrate * av_q2d(videoCodecCtx->time_base); + +@@ -422,8 +422,6 @@ av_log_set_level(AV_LOG_VERBOSE); + + audioStream->time_base = origAudioStream->time_base; + audioStream->disposition = origAudioStream->disposition; +- audioStream->pts.num = origAudioStream->pts.num; +- audioStream->pts.den = origAudioStream->pts.den; + + AVCodecContext * newCtx = audioStream->codec; + +@@ -665,8 +663,8 @@ int FFMpegVideoEncoderPriv::encodeImage( + { + while ( true ) + { +- double audio_pts = (double) audioStream->pts.val * av_q2d( audioStream->time_base ); +- double video_pts = (double) videoStream->pts.val * av_q2d( videoStream->time_base ); ++ double audio_pts = (double) av_stream_get_end_pts(audioStream) * av_q2d( audioStream->time_base ); ++ double video_pts = (double) av_stream_get_end_pts(videoStream) * av_q2d( videoStream->time_base ); + + //qDebug( "PTS check: A: %g V: %g", audio_pts, video_pts ); + +@@ -865,10 +863,10 @@ bool FFMpegVideoEncoderPriv::convertImag + videoConvertCtx = sws_getCachedContext( videoConvertCtx, + m_videoformat->width, + m_videoformat->height, +- PIX_FMT_BGRA, ++ AV_PIX_FMT_BGRA, + m_videoformat->width, + m_videoformat->height, +- PIX_FMT_YUV420P, ++ AV_PIX_FMT_YUV420P, + SWS_BICUBIC, + NULL, + NULL, diff --git a/debian/patches/series b/debian/patches/series index 7e475d5..d44fa2d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -9,3 +9,4 @@ 0009-Fix-FP-exception-Sample-aspect-ratio-Libav-FFmpeg.patch 0010-Make-qmake-respect-external-build-linking-flags.patch 0011-Libav-in-About-dialog.patch +ffmpeg_2.9.patch