From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: devel@lists.altlinux.org References: <4E409891.80500@tangramltd.com> From: Sergey Bolshakov Date: Tue, 09 Aug 2011 10:37:12 +0400 In-Reply-To: <4E409891.80500@tangramltd.com> (Dubrovskiy Viacheslav's message of "Mon, 08 Aug 2011 22:16:49 -0400") Message-ID: User-Agent: Gnus/5.1008 (Gnus v5.10.8) XEmacs/21.5-b31 (linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Subject: Re: [devel] [I] new libav in town X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Aug 2011 06:37:32 -0000 Archived-At: List-Archive: List-Post: --=-=-= Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit >>>>> "Dubrovskiy" == Dubrovskiy Viacheslav writes: > 02.08.2011 04:57, Sergey Bolshakov пишет: >> Привет. >> Сегодня в сизиф, тихо и незаметно, попал libav, наследник ffmpeg. >> Поскольку API у libav несколько отличается, прогнозируется >> некоторый слом со сборкой зависимых пакетов, прошу обращаться >> за содействием в починке, если таковое понадобится. > Как такое чинить? see attached patch --=-=-= Content-Type: text/x-patch; charset=koi8-r Content-Disposition: attachment; filename=0001-adapt-for-libav-0.7.patch Content-Transfer-Encoding: 8bit >>From 6d2db6bcfa14fa84655d85787caf1fbaf470b6be Mon Sep 17 00:00:00 2001 From: Sergey Bolshakov Date: Wed, 22 Jun 2011 14:54:42 +0400 Subject: [PATCH] adapt for libav-0.7 --- src/mgui/ffviewer.cpp | 15 ++++++--------- src/mgui/project/media-browser.cpp | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/mgui/ffviewer.cpp b/src/mgui/ffviewer.cpp index 30d65a7..c2d9cc6 100644 --- a/src/mgui/ffviewer.cpp +++ b/src/mgui/ffviewer.cpp @@ -315,15 +315,15 @@ bool OpenInfo(FFData& ffi, const char* fname, std::string& err_str) { switch( av_res ) { - case AVERROR_NOENT: + case AVERROR(ENOENT): // :TODO: решить, ставить в конце точки или нет (сообщения пользователю // показывается не HIG-ого) err_str = _("No such file"); break; - case AVERROR_NOFMT: + case AVERROR(EILSEQ): err_str = _("Unknown file format"); break; - case AVERROR_UNKNOWN: + case AVERROR(EINVAL): default: err_str = boost::format("FFmpeg unknown error: %1%") % av_res % bf::stop; break; @@ -351,13 +351,13 @@ bool OpenInfo(FFData& ffi, const char* fname, std::string& err_str) { AVStream* strm = ic->streams[i]; AVCodecContext* avctx = strm->codec; - if( SetIndex(video_idx, i, avctx->codec_type == CODEC_TYPE_VIDEO) ) + if( SetIndex(video_idx, i, avctx->codec_type == AVMEDIA_TYPE_VIDEO) ) ; else // для демиксера имеет значение только NONE и ALL strm->discard = AVDISCARD_ALL; - SetIndex(audio_idx, i, avctx->codec_type == CODEC_TYPE_AUDIO); + SetIndex(audio_idx, i, avctx->codec_type == AVMEDIA_TYPE_AUDIO); } if( video_idx == -1 ) @@ -522,7 +522,7 @@ static double TS2Time(int64_t ts, FFViewer& ffv) static bool IsInHurry(AVCodecContext* dec) { - return dec->hurry_up != 0; + return dec->skip_frame != AVDISCARD_DEFAULT; } struct HurryModeEnabler @@ -531,8 +531,6 @@ struct HurryModeEnabler HurryModeEnabler(AVCodecContext* dec_): dec(dec_) { - // как признак (хоть и устаревший) - dec->hurry_up = 1; // Прирост скорости (h264): // - AVDISCARD_NONREF: 2x // - AVDISCARD_BIDIR: для h264 (и других современных кодеков?) разница в скорости @@ -552,7 +550,6 @@ struct HurryModeEnabler } ~HurryModeEnabler() { - dec->hurry_up = 0; dec->skip_frame = AVDISCARD_DEFAULT; //dec->skip_idct = AVDISCARD_DEFAULT; //dec->skip_loop_filter = AVDISCARD_DEFAULT; diff --git a/src/mgui/project/media-browser.cpp b/src/mgui/project/media-browser.cpp index 541dc81..c50fe11 100644 --- a/src/mgui/project/media-browser.cpp +++ b/src/mgui/project/media-browser.cpp @@ -232,7 +232,7 @@ RTCache& GetRTC(VideoItem vi) for( int i=0; i < (int)ic->nb_streams; i++ ) { AVCodecContext* avctx = ic->streams[i]->codec; - if( avctx->codec_type == CODEC_TYPE_AUDIO ) + if( avctx->codec_type == AVMEDIA_TYPE_AUDIO ) rtc.audioNum++; } -- 1.7.5.4 --=-=-= -- --=-=-=--