diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-09-21 18:00:10 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-09-21 18:00:10 +0100 |
commit | 265dbe5dbc14c199299496c6db8fce3f76647015 (patch) | |
tree | ab18b5617d138f6684566b619405090989d55a2c /app-text/goldendict | |
parent | 586819755b4dbfdffdc8a725ab7c0f86095b8489 (diff) |
gentoo resync : 21.09.2018
Diffstat (limited to 'app-text/goldendict')
-rw-r--r-- | app-text/goldendict/Manifest | 3 | ||||
-rw-r--r-- | app-text/goldendict/files/goldendict-1.5.0-ffmpeg-4.patch | 167 | ||||
-rw-r--r-- | app-text/goldendict/goldendict-1.5.0_rc2-r2.ebuild | 1 |
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}" |