iaxclient: ffmpeg patch added

This commit is contained in:
Anton Bolshakov 2013-07-01 02:57:45 +00:00
parent 21bb12ab6b
commit 9141b2cef3
3 changed files with 153 additions and 5 deletions

View file

@ -1,5 +1,7 @@
AUX iaxclient-fix-avcodec-include.patch 320 RMD160 88ddfbbd68b3be1d5cc91a15ca8d088c076cf0c4 SHA1 02b675e20a46b7f3d7c59c0d73e3374ee7a4b3b0 SHA256 835c5ac2e404c78c1119a60bce5f25bfc84fa7a4415c03e1f4d8d658602700a3
DIST iaxclient-2.1beta3.tar.gz 1418674 RMD160 3ac516b9a07c48202f2e717baf3de1396f756707 SHA1 dbb0dcdc2f775d741a8e86af1c80e40d70225b4d SHA256 6ca6ce8103837ed6fa2fd2e88c1c0d3a3d93d7b4bd084878351527ebfb205149
EBUILD iaxclient-2.1_beta3-r1.ebuild 1712 RMD160 5006f81fbf414dfe6cf1a859c47caab456ab13ff SHA1 3d562c85d1332a17da769f9447a50ba071a13a86 SHA256 6326c86ecd716def406b8b9d9e52622e43a44b404ce33dbc64e9c65f63a6bc0c
EBUILD iaxclient-2.1_beta3-r2.ebuild 1812 RMD160 5793b73f92e0b4be9a1c39dfc30e985e9bd9c402 SHA1 45e3fd086b3ffe12017f900861b28005a31f7b56 SHA256 a95992f6fcfa3e691493c842b06a099a2fafa2d705c8d1f6361967cc1b6c23e1
EBUILD iaxclient-2.1_beta3-r3.ebuild 1918 RMD160 5da1b173b176af87ab388148aedf26ce92d9b06c SHA1 5bb45ce8f319be849bb72f0d9f4ac3aea0ef24f9 SHA256 059e5a35d23641abac3bb4ca5ec4cda7dea25263874c6c68d519d696d6964d42
AUX iaxclient-ffmpeg.patch 2138 SHA256 12b8d1ad8b85db7a2bfcf2799a47ef98e99c4d1731a19006b3759b53b4cc7aa4 SHA512 e12c0260763edbb82bc4dbcca243a0100a277bcf6b107fd06263a85c8575b424953b5bbd485734e87c77142c707cfedcb65076951c909e8c8b9c3c4943a79625 WHIRLPOOL 577932430861bcdb54a5fd9cbe9540868858ea030545d407aaed06d1cca0ca824c92613d1e6b6e11c5879711251c84a65c1a180845469a40fce4d9038d5ccd31
AUX iaxclient-fix-avcodec-include.patch 320 SHA256 835c5ac2e404c78c1119a60bce5f25bfc84fa7a4415c03e1f4d8d658602700a3 SHA512 7d9a1ca90fde760832963b7038255efa224a78033e650982f92edb65f4ff5b23e4b609ca65487c456c32a9b7a894a3b6940dabde905dfa999b972ab0a0032d01 WHIRLPOOL 7c0ad92d89dc14d29b58814c1476aeca68378b4d2f457eb836cba4b70cdaeb3f4d941d7445782a1996ff75a3f98354b0d6423ded64bb1bd152218a10beaecc2c
DIST iaxclient-2.1beta3.tar.gz 1418674 SHA256 6ca6ce8103837ed6fa2fd2e88c1c0d3a3d93d7b4bd084878351527ebfb205149 SHA512 d4fef24a65a31ef61c1abd9512199004a0d21021ab4f123469ec780dae9feb926ecea2e1c767aebdfdac14e9fd2ccc99f0532ab604958ce4bb33f1f2a401f73c WHIRLPOOL 4c3326f3ef0168d746d6b4ae9c1365eea6c5a139ab66889fe9e6d4f346a516443bf93465e9c99ee9d17f1d0742308f1b3d05803f53113d9a5220edfad967f98b
EBUILD iaxclient-2.1_beta3-r1.ebuild 1712 SHA256 6326c86ecd716def406b8b9d9e52622e43a44b404ce33dbc64e9c65f63a6bc0c SHA512 b42ce6f600ff749c7fe3e67081f8fbc1a184190ab67a153ed51a221c4c9bfd8276f531855472d1cc59c486dacf2b7dadbf1ba11bc3ebff158d7ed006c122514c WHIRLPOOL be409f953097c4afb565d8b3ebc778cc5fc0911f2527c06b50113865933be4c90ee5447cb5d29f6afb63f6320df3de10e5584cb40454efa4eb6f9172d555ff29
EBUILD iaxclient-2.1_beta3-r2.ebuild 1812 SHA256 a95992f6fcfa3e691493c842b06a099a2fafa2d705c8d1f6361967cc1b6c23e1 SHA512 460aa2665a56f25380d73fe9a46e844e695d43e9a4cdfac29d7bc6d8e5a3b84f173f4c31f267e8271e859641fec39789b4160aed94e665f6748730aad70a4474 WHIRLPOOL b330deb257a219ab1eb89e13edfbb3218b7292eb4849fc393c4acc12691c4e9b98e16535abb9c231e5cda9368fcb4581ac48277cc48737f5e12c9ee5b0689695
EBUILD iaxclient-2.1_beta3-r3.ebuild 1918 SHA256 059e5a35d23641abac3bb4ca5ec4cda7dea25263874c6c68d519d696d6964d42 SHA512 1ce1025c90405e5561debb5cfafc03884d317badbbc5f013cc45271b364859816fdf4a81f55006eb3929f983b265f88105dd1c3ef4c356bce3a970ae6ca33798 WHIRLPOOL 6ca768aa3159e930bdb27090864bc090a5a5289aa69c678c05db102c916b84511d07bee1705346b4d03fdcac96cf7d69397b36e108f6e96c2256b2699db617f3
EBUILD iaxclient-2.1_beta3-r4.ebuild 2026 SHA256 40809cf50087db6107cb07779d738a9271dd2309e617b5f590eb2e39f946ec27 SHA512 0376502998d941b73a62c5771a17b3f5dc806a1c5ebd32594429425eb87bc8a56640cca71d89938a4937b22fa9992e239a6bb97ddb6f52ecfcfb78418683cdba WHIRLPOOL 4e66b63f59102589ec58817e024e636b57367b5ade5c93c443396720d180731775c0faac89197059251a339bb9efd9a8e95a9ad34301e3d05fc481117ae367ab

View file

@ -0,0 +1,79 @@
--- lib/codec_ffmpeg.c.orig 2013-07-01 10:18:00.000000000 +0800
+++ lib/codec_ffmpeg.c 2013-07-01 10:53:31.340065833 +0800
@@ -449,7 +449,6 @@
return NULL;
}
- avcodec_init();
avcodec_register_all();
c->format = format;
@@ -470,7 +469,7 @@
if (!c->encstate)
goto bail;
e = c->encstate;
- e->avctx = avcodec_alloc_context();
+ e->avctx = avcodec_alloc_context3(NULL);
if (!e->avctx)
goto bail;
e->picture = avcodec_alloc_frame();
@@ -491,7 +490,7 @@
if (!c->decstate)
goto bail;
d = c->decstate;
- d->avctx = avcodec_alloc_context();
+ d->avctx = avcodec_alloc_context3(NULL);
if (!d->avctx)
goto bail;
d->picture = avcodec_alloc_frame();
@@ -576,7 +575,6 @@
e->avctx->rtp_payload_size = fragsize;
e->avctx->flags |=
CODEC_FLAG_TRUNCATED |
- CODEC_FLAG_H263P_SLICE_STRUCT |
CODEC_FLAG2_STRICT_GOP |
CODEC_FLAG2_LOCAL_HEADER;
e->avctx->rtp_callback = encode_rtp_callback;
@@ -591,7 +589,6 @@
e->avctx->rtp_callback = encode_rtp_callback;
e->avctx->flags |=
CODEC_FLAG_TRUNCATED |
- CODEC_FLAG_H263P_SLICE_STRUCT |
CODEC_FLAG2_STRICT_GOP |
CODEC_FLAG2_LOCAL_HEADER;
@@ -620,7 +617,7 @@
/* e->avctx->flags2 |= CODEC_FLAG2_8X8DCT; */
/* Access Unit Delimiters */
- e->avctx->flags2 |= CODEC_FLAG2_AUD;
+ /* e->avctx->flags2 |= CODEC_FLAG2_AUD; */
/* Allow b-frames to be used as reference */
/* e->avctx->flags2 |= CODEC_FLAG2_BPYRAMID; */
@@ -681,7 +678,7 @@
goto bail;
}
- if (avcodec_open(e->avctx, codec))
+ if (avcodec_open2(e->avctx, codec, NULL))
{
iaxci_usermsg(IAXC_TEXT_TYPE_ERROR,
"codec_ffmpeg: cannot open encoder %s\n", name);
@@ -696,7 +693,7 @@
ff_dec_id);
goto bail;
}
- if (avcodec_open(d->avctx, codec))
+ if (avcodec_open2(d->avctx, codec, NULL))
{
iaxci_usermsg(IAXC_TEXT_TYPE_ERROR,
"codec_ffmpeg: cannot open decoder %s\n", name);
@@ -728,7 +725,6 @@
/* These functions are idempotent, so it is okay that we
* may call them elsewhere at a different time.
*/
- avcodec_init();
avcodec_register_all();
codec_id = map_iaxc_codec_to_avcodec(format);

View file

@ -0,0 +1,67 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"
inherit eutils
MY_PV=${PV/_/}
DESCRIPTION="Multiplatform IAX library for creating telephony solutions that interoperate with Asterisk"
HOMEPAGE="http://iaxclient.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="stresstest vtestcall +wxwidgets"
DEPEND=""
RDEPEND="wxwidgets? ( x11-libs/wxGTK:2.8[X] )
media-libs/portaudio
net-libs/libvidcap
media-sound/gsm
virtual/ffmpeg[speex,gsm]
stresstest? ( media-libs/liboggz )
vtestcall? ( media-libs/libsdl )"
S="${WORKDIR}"/"${PN}"-"${MY_PV}"
pkg_setup()
{
if use wxwidgets; then
eselect wxwidgets list | grep -q \* || eselect wxwidgets set 1
fi
}
src_prepare() {
epatch "${FILESDIR}"/iaxclient-fix-avcodec-include.patch
epatch "${FILESDIR}"/iaxclient-ffmpg.patch
sed -i 's#e->avctx->mb_qmin = e->avctx->qmin = 10;#//e->avctx->mb_qmin = e->avctx->qmin = 10;#' lib/codec_ffmpeg.c || die "sed1 failed"
sed -i 's#e->avctx->mb_qmax = e->avctx->qmax = 10;#//e->avctx->mb_qmax = e->avctx->qmax = 10;#' lib/codec_ffmpeg.c || die "sed2 failed"
sed -i 's#avcodec_decode_video#avcodec_decode_video2#' lib/codec_ffmpeg.c || die "sed3 failed"
sed -i 's#in, inlen)#in)#g' lib/codec_ffmpeg.c || die "sed4 failed"
}
src_configure() {
local myclients
myclients="testcall"
if use vtestcall; then
myclients="${myclients} vtestcall"
fi
if use wxwidgets; then
myclients="${myclients} wx"
ewarn 'If your build fails with "configure: error: wx client requires wxWidgets"'
ewarn 'you can fix it with "eselect wxwidgets set 1"'
fi
if use stresstest; then
myclients="${myclients} stresstest"
fi
sed -e 's/m_id/GetId()/' -i simpleclient/wx/wx.cc
econf --enable-clients="${myclients}" --with-gsm-includes=/usr/include/gsm DESTDIR="${ED}" || die 'configure failed'
}
src_install() {
emake DESTDIR="${ED}" install || die 'emake install failed'
}