summaryrefslogtreecommitdiff
path: root/app-text/goldendict
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-09-21 18:00:10 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-09-21 18:00:10 +0100
commit265dbe5dbc14c199299496c6db8fce3f76647015 (patch)
treeab18b5617d138f6684566b619405090989d55a2c /app-text/goldendict
parent586819755b4dbfdffdc8a725ab7c0f86095b8489 (diff)
gentoo resync : 21.09.2018
Diffstat (limited to 'app-text/goldendict')
-rw-r--r--app-text/goldendict/Manifest3
-rw-r--r--app-text/goldendict/files/goldendict-1.5.0-ffmpeg-4.patch167
-rw-r--r--app-text/goldendict/goldendict-1.5.0_rc2-r2.ebuild1
3 files changed, 170 insertions, 1 deletions
diff --git a/app-text/goldendict/Manifest b/app-text/goldendict/Manifest
index b13052cc7ab4..79c0a28cf11b 100644
--- a/app-text/goldendict/Manifest
+++ b/app-text/goldendict/Manifest
@@ -1,5 +1,6 @@
+AUX goldendict-1.5.0-ffmpeg-4.patch 6184 BLAKE2B 17b8bddeab5bbb6e373c3ee3bfda695ddd363ec733955364b3973f9538cc86bfa5907156704444e31d0c1a99768ff5cc2b577ed2b129100dd1273bbeea1f1eb8 SHA512 596e7ee22e210978ec1f787fd1bb6051f7f9a4d4eb88edb7af40d2e3ba9e66403edb932876a6738c0471c5fe439245e0de61e3c7b57039e0dfd0560f20fd5b8b
AUX goldendict-1.5.0-qt-5.11.patch 1532 BLAKE2B cd6869c59d2afef21d92660173516b56a880cd245e5b928096d9d3d6e8e4fc915694a5dedd762400be091dca6a86fed2b553ce11688e84117ef4653ab1124ce3 SHA512 25721bf8cca9e0abb3f04dd912520577f7c3a31d34883887286476895263049495e3286c520549409ec8244f99b632b4a76f0ce514b8509e5e16a12adc3a5ac6
AUX goldendict-1.5.0-qtsingleapplication-unbundle.patch 341 BLAKE2B 7f5b2c715d41d50d358a8cca5f259f8b70266b9037dac9f5f6c9c0b1323b46cb42f68fd73725a6f25903e35a83582b32015b3401f1aa3a8f9c8bb1a05c54b531 SHA512 86a08b1333a61fee7559028f68779f45cf17da6f7e6f3ea9cae46184279469b91e38f825ad072e0557bcd4188b87fe8f0bd696c4819e3bc96874439d1290e5a3
DIST goldendict-1.5.0_rc2.tar.gz 19413751 BLAKE2B 17fb0140e6ce392800a05d36a41f2a42c813990eaecabf55f765d5583118be694e66c5438b90e46853070a782086422b533b0f653461dd81cecd23f2deec40b7 SHA512 b88067a90df42b07d926231f624be8796f031b872443a45f9744ceeea27f39325bc665090f773528a26ad8391ae2423a29c602068bf2cc4ed5870a07646d2362
-EBUILD goldendict-1.5.0_rc2-r2.ebuild 1747 BLAKE2B 9774eb0235bd86e8827ec94d8ce043fce8870196bf3fd2dba88be071a3896fc4a7e8d02f30c4a831dbede01fb5564e8d0f568df9ca8fdf2e94334389dcc17179 SHA512 0a739ecc1364da46cb13d87e7234609b249d45cc62bfa5735f74f400dfab10c28ae7f916f6086eac00bc8549c0dbe3e130cd68f7b52c942734ac5da992c202b0
+EBUILD goldendict-1.5.0_rc2-r2.ebuild 1789 BLAKE2B 1336c76cdd434f701374c8fc136fd486fb768c2435c5e9b2f72471a5a7a21bfc03fdba31d10950da3d6adeb1c9452f925890dc33bdc09a1854726ff68e030026 SHA512 d291a55bd41e6fd832c879801f9a3506e775139cb55315b57ed5dbe133bc188a18274fd37c82d08c52f2b484b54957c92ca7d145f5d12b86823a568a5e016d61
MISC metadata.xml 388 BLAKE2B 229d847f632fe3da3df10913551df5ee6ee386768c52aef7c436336476c7e837272decbe34a7e9322504e6d97e7319afb61815539494ef5faa8c93411ce7215d SHA512 c9be98ab768c3c13ff4b03336fc90314ec0e233d0860501d85b5c65250965d994a3f8ab4cf8f58cee3da27fdc37964c10854bc66b9cc16e5f558f0b7a4a39f42
diff --git a/app-text/goldendict/files/goldendict-1.5.0-ffmpeg-4.patch b/app-text/goldendict/files/goldendict-1.5.0-ffmpeg-4.patch
new file mode 100644
index 000000000000..6e6d03675a4f
--- /dev/null
+++ b/app-text/goldendict/files/goldendict-1.5.0-ffmpeg-4.patch
@@ -0,0 +1,167 @@
+From 03bbe01b79a1f07a6780cb60f23a087104c5d77b Mon Sep 17 00:00:00 2001
+From: Abs62 <ottomann@yandex.ru>
+Date: Fri, 30 Mar 2018 22:53:24 +0300
+Subject: [PATCH] Fix warnings while compile with FFMpeg 3.4.2 (issue #978)
+
+---
+ ffmpegaudio.cc | 68 +++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 62 insertions(+), 6 deletions(-)
+
+diff --git a/ffmpegaudio.cc b/ffmpegaudio.cc
+index ed1172bd..56e8f788 100644
+--- a/ffmpegaudio.cc
++++ b/ffmpegaudio.cc
+@@ -91,6 +91,7 @@ struct DecoderContext
+ QByteArray audioData_;
+ QDataStream audioDataStream_;
+ AVFormatContext * formatContext_;
++ AVCodec * codec_;
+ AVCodecContext * codecContext_;
+ AVIOContext * avioContext_;
+ AVStream * audioStream_;
+@@ -114,6 +115,7 @@ DecoderContext::DecoderContext( QByteArray const & audioData, QAtomicInt & isCan
+ audioData_( audioData ),
+ audioDataStream_( audioData_ ),
+ formatContext_( NULL ),
++ codec_( NULL ),
+ codecContext_( NULL ),
+ avioContext_( NULL ),
+ audioStream_( NULL ),
+@@ -143,7 +145,11 @@ bool DecoderContext::openCodec( QString & errorString )
+ return false;
+ }
+
++#if LIBAVCODEC_VERSION_MAJOR < 56 || ( LIBAVCODEC_VERSION_MAJOR == 56 && LIBAVCODEC_VERSION_MINOR < 56 )
+ unsigned char * avioBuffer = ( unsigned char * )av_malloc( kBufferSize + FF_INPUT_BUFFER_PADDING_SIZE );
++#else
++ unsigned char * avioBuffer = ( unsigned char * )av_malloc( kBufferSize + AV_INPUT_BUFFER_PADDING_SIZE );
++#endif
+ if ( !avioBuffer )
+ {
+ errorString = QObject::tr( "av_malloc() failed." );
+@@ -186,7 +192,11 @@ bool DecoderContext::openCodec( QString & errorString )
+ // Find audio stream, use the first audio stream if available
+ for ( unsigned i = 0; i < formatContext_->nb_streams; i++ )
+ {
++#if LIBAVCODEC_VERSION_MAJOR < 57 || ( LIBAVCODEC_VERSION_MAJOR == 57 && LIBAVCODEC_VERSION_MINOR < 33 )
+ if ( formatContext_->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO )
++#else
++ if ( formatContext_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO )
++#endif
+ {
+ audioStream_ = formatContext_->streams[i];
+ break;
+@@ -198,22 +208,38 @@ bool DecoderContext::openCodec( QString & errorString )
+ return false;
+ }
+
++#if LIBAVCODEC_VERSION_MAJOR < 57 || ( LIBAVCODEC_VERSION_MAJOR == 57 && LIBAVCODEC_VERSION_MINOR < 33 )
+ codecContext_ = audioStream_->codec;
+- AVCodec * codec = avcodec_find_decoder( codecContext_->codec_id );
+- if ( !codec )
++ codec_ = avcodec_find_decoder( codecContext_->codec_id );
++ if ( !codec_ )
+ {
+ errorString = QObject::tr( "Codec [id: %1] not found." ).arg( codecContext_->codec_id );
+ return false;
+ }
++#else
++ codec_ = avcodec_find_decoder( audioStream_->codecpar->codec_id );
++ if ( !codec_ )
++ {
++ errorString = QObject::tr( "Codec [id: %1] not found." ).arg( audioStream_->codecpar->codec_id );
++ return false;
++ }
++ codecContext_ = avcodec_alloc_context3( codec_ );
++ if ( !codecContext_ )
++ {
++ errorString = QObject::tr( "avcodec_alloc_context3() failed." );
++ return false;
++ }
++ avcodec_parameters_to_context( codecContext_, audioStream_->codecpar );
++#endif
+
+- ret = avcodec_open2( codecContext_, codec, NULL );
++ ret = avcodec_open2( codecContext_, codec_, NULL );
+ if ( ret < 0 )
+ {
+ errorString = QObject::tr( "avcodec_open2() failed: %1." ).arg( avErrorString( ret ) );
+ return false;
+ }
+
+- av_log( NULL, AV_LOG_INFO, "Codec open: %s: channels: %d, rate: %d, format: %s\n", codec->long_name,
++ av_log( NULL, AV_LOG_INFO, "Codec open: %s: channels: %d, rate: %d, format: %s\n", codec_->long_name,
+ codecContext_->channels, codecContext_->sample_rate, av_get_sample_fmt_name( codecContext_->sample_fmt ) );
+ return true;
+ }
+@@ -252,10 +278,13 @@ void DecoderContext::closeCodec()
+
+ // Closing a codec context without prior avcodec_open2() will result in
+ // a crash in ffmpeg
+- if ( audioStream_ && audioStream_->codec && audioStream_->codec->codec )
++ if ( audioStream_ && codecContext_ && codec_ )
+ {
+ audioStream_->discard = AVDISCARD_ALL;
+- avcodec_close( audioStream_->codec );
++ avcodec_close( codecContext_ );
++#if LIBAVCODEC_VERSION_MAJOR > 57 || ( LIBAVCODEC_VERSION_MAJOR == 57 && LIBAVCODEC_VERSION_MINOR >= 33 )
++ avcodec_free_context( &codecContext_ );
++#endif
+ }
+
+ avformat_close_input( &formatContext_ );
+@@ -356,6 +385,7 @@ bool DecoderContext::play( QString & errorString )
+ if ( packet.stream_index == audioStream_->index )
+ {
+ AVPacket pack = packet;
++#if LIBAVCODEC_VERSION_MAJOR < 57 || ( LIBAVCODEC_VERSION_MAJOR == 57 && LIBAVCODEC_VERSION_MINOR < 37 )
+ int gotFrame = 0;
+ do
+ {
+@@ -370,6 +400,19 @@ bool DecoderContext::play( QString & errorString )
+ pack.data += len;
+ }
+ while( pack.size > 0 );
++#else
++ int ret = avcodec_send_packet( codecContext_, &pack );
++ /* read all the output frames (in general there may be any number of them) */
++ while( ret >= 0 )
++ {
++ ret = avcodec_receive_frame( codecContext_, frame);
++
++ if ( Qt4x5::AtomicInt::loadAcquire( isCancelled_ ) || ret < 0 )
++ break;
++
++ playFrame( frame );
++ }
++#endif
+ }
+ // av_free_packet() must be called after each call to av_read_frame()
+ #if LIBAVCODEC_VERSION_MAJOR < 57 || ( LIBAVCODEC_VERSION_MAJOR == 57 && LIBAVCODEC_VERSION_MINOR < 7 )
+@@ -379,6 +422,7 @@ bool DecoderContext::play( QString & errorString )
+ #endif
+ }
+
++#if LIBAVCODEC_VERSION_MAJOR < 57 || ( LIBAVCODEC_VERSION_MAJOR == 57 && LIBAVCODEC_VERSION_MINOR < 37 )
+ if ( !Qt4x5::AtomicInt::loadAcquire( isCancelled_ ) &&
+ codecContext_->codec->capabilities & CODEC_CAP_DELAY )
+ {
+@@ -391,6 +435,18 @@ bool DecoderContext::play( QString & errorString )
+ playFrame( frame );
+ }
+ }
++#else
++ /* flush the decoder */
++ av_init_packet( &packet );
++ int ret = avcodec_send_packet(codecContext_, &packet );
++ while( ret >= 0 )
++ {
++ ret = avcodec_receive_frame(codecContext_, frame);
++ if ( Qt4x5::AtomicInt::loadAcquire( isCancelled_ ) || ret < 0 )
++ break;
++ playFrame( frame );
++ }
++#endif
+
+ #if LIBAVCODEC_VERSION_MAJOR < 54
+ av_free( frame );
diff --git a/app-text/goldendict/goldendict-1.5.0_rc2-r2.ebuild b/app-text/goldendict/goldendict-1.5.0_rc2-r2.ebuild
index e25c25eb0628..866b4e88ea6c 100644
--- a/app-text/goldendict/goldendict-1.5.0_rc2-r2.ebuild
+++ b/app-text/goldendict/goldendict-1.5.0_rc2-r2.ebuild
@@ -51,6 +51,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/${PN}-1.5.0-qtsingleapplication-unbundle.patch"
"${FILESDIR}/${PN}-1.5.0-qt-5.11.patch"
+ "${FILESDIR}/${PN}-1.5.0-ffmpeg-4.patch"
)
S="${WORKDIR}/${PN}-${MY_PV}"