From c4e9284d19c545d5006c1fddee90cde80d0335fe Mon Sep 17 00:00:00 2001 From: Peter Volkov Date: Tue, 12 Apr 2011 06:15:51 +0000 Subject: Added patch to fix build issue with USE=sdl, thank Luigi 'Comio' Mantellini for report and for help. Package-Manager: portage-2.1.9.45/cvs/Linux x86_64 --- media-libs/mediastreamer/ChangeLog | 7 +- media-libs/mediastreamer/Manifest | 5 +- .../files/mediastreamer-2.7.3-sdl-build.patch | 220 +++++++++++++++++++++ .../mediastreamer/mediastreamer-2.7.3-r1.ebuild | 4 +- 4 files changed, 232 insertions(+), 4 deletions(-) create mode 100644 media-libs/mediastreamer/files/mediastreamer-2.7.3-sdl-build.patch (limited to 'media-libs/mediastreamer') diff --git a/media-libs/mediastreamer/ChangeLog b/media-libs/mediastreamer/ChangeLog index 9adcc7b053d8..7b83fa06bad4 100644 --- a/media-libs/mediastreamer/ChangeLog +++ b/media-libs/mediastreamer/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-libs/mediastreamer # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mediastreamer/ChangeLog,v 1.36 2011/04/09 09:57:34 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mediastreamer/ChangeLog,v 1.37 2011/04/12 06:15:51 pva Exp $ + + 12 Apr 2011; Peter Volkov mediastreamer-2.7.3-r1.ebuild, + +files/mediastreamer-2.7.3-sdl-build.patch: + Added patch to fix build issue with USE=sdl, thank Luigi 'Comio' Mantellini + for report and for help. *mediastreamer-2.7.3-r1 (09 Apr 2011) diff --git a/media-libs/mediastreamer/Manifest b/media-libs/mediastreamer/Manifest index 9121b188441d..7ef49448553a 100644 --- a/media-libs/mediastreamer/Manifest +++ b/media-libs/mediastreamer/Manifest @@ -1,4 +1,5 @@ AUX mediastreamer-2.2.3_p1-autodeps.patch 4398 RMD160 cc3a98a9d7446e15a3fb5f851a18d6f5342e0908 SHA1 7d00b34a333b273680c612b6f0d0ffa092fb66ba SHA256 0cc00eefe8ed05ff63f3a8928c2d5a3d0fe87719c97bfd52c5057a1bba4bcb9c +AUX mediastreamer-2.7.3-sdl-build.patch 8006 RMD160 30b4398a6b6488466ce47c27acf4d04028676b5f SHA1 cb620aab50915a20d012a4eaa4db71568364e186 SHA256 f143cf44b767e07ba7bff5572fe5f11950142ff0a36025a64db585aa048ab263 AUX mediastreamer-2.7.3-v4l-automagic.patch 1083 RMD160 7525df8acec6073afc9d249e124a5a0abca38fa0 SHA1 96b8169fde8375b05aaa7d275089a99117398317 SHA256 697cc9697504e57bb5810b7844eac34bfbae9c909f299ca5bb056b352c26bcfe DIST mediastreamer-2.2.3.tar.gz 581001 RMD160 ca84cf2f415099ad2fb9219aadfebc1aa2cb3381 SHA1 e3a6d4e5314043ad690da6c1ed55a81e70282941 SHA256 203ab2508efa37831cf2bef76ef222c01e51bf250fd14db1ae85e442ed87cd48 DIST mediastreamer-2.2.3_p1-linphone-3.1.1.patch.tgz 67833 RMD160 4b6096a989eeea869f10376fd6632b1ffb655054 SHA1 ce4141723c40d36f856723e3073d110577fcbb68 SHA256 1aef7c853e6e76f9137dbaf6c575995a2c9816ae464770e819eadacb81778f67 @@ -10,7 +11,7 @@ EBUILD mediastreamer-2.2.3_p1-r1.ebuild 3818 RMD160 bd2c86eb7f73d3baaadca3c30890 EBUILD mediastreamer-2.3.0-r1.ebuild 3847 RMD160 6476120db21958071d930f1dbc43bc1db3b1ea2d SHA1 084a373e4139c782c5c784625b6cd1b7bb082f6c SHA256 33c8f48eba5ee865de37eab53cf185d3e8f0587ea666e21c33c20a95a72559d6 EBUILD mediastreamer-2.5.0.ebuild 4166 RMD160 1be347cc0366f575ee77befb44a3995dad7642cb SHA1 486f1b49dfbc65cb719b364373e9491d669308b4 SHA256 fe26d84b36f3eaf1bc17949e376ac9d9228e811df295ba62106fbbd1966c15bb EBUILD mediastreamer-2.6.0.ebuild 4095 RMD160 e9c25b2c8a6b561a57cd02749d6d36a9469c1db1 SHA1 2d984bda4aff26e62a11ee2e2ec64a798876858e SHA256 dfb22069c4e698d7c609756babc8a4b76c5607f9a967b23ec9dfdbb31c02f467 -EBUILD mediastreamer-2.7.3-r1.ebuild 3728 RMD160 6f217b5aa64e4852dbf18b32f392c628e140d513 SHA1 b1b3387a8302afd87e60c9167a566e81e103f6d5 SHA256 f22d6677b8c357e0f94eb24ed9ff4fc527caaba3ff6f7e693144206ce40ee673 +EBUILD mediastreamer-2.7.3-r1.ebuild 3772 RMD160 2aa3e6ea682c00faba6b071dcc645570747d76eb SHA1 d484dafe8b888b17599fef72fa4d494536405486 SHA256 70e9271a5cb61292d7238702140db68e22834c0d573d1120a441c0efdaf27763 EBUILD mediastreamer-2.7.3.ebuild 3691 RMD160 7a6850e8bf7cd053e5210981cd48a83b75ffcc3c SHA1 2047bf86866a44d909cf9a7d73b7748e28ef7517 SHA256 4b4904e0922aec0c5a78192c82339c15d868375b597acbba4ab3b75ced41fd2c -MISC ChangeLog 5579 RMD160 2d6538ec53880711e5856865efeb16f04f32c27b SHA1 3dc47de69177eb6315d055977a72344ed348431e SHA256 820c17a7a3e0065a2eabc04056bd3ccb85d30fa295fb8a8ef82b5d415d1a0c7d +MISC ChangeLog 5807 RMD160 95ebaff328aa842bb0a49a5ba1b4a6ef11433bc3 SHA1 7684fae30d69ec6013ffb52c1e54ba6a53a312a0 SHA256 7ecea304c843f39d493d84545e707c777be3caa8b982efbf3369cc12b24bd0c4 MISC metadata.xml 531 RMD160 8c69e8bafc5b2b770b20d3f30352fc81e842e14c SHA1 369aa519353274364586f218538191596828a6f2 SHA256 25bc15caead165fa7563daefe69bfe714efb8e4970f9043751f7f78ea3669dcc diff --git a/media-libs/mediastreamer/files/mediastreamer-2.7.3-sdl-build.patch b/media-libs/mediastreamer/files/mediastreamer-2.7.3-sdl-build.patch new file mode 100644 index 000000000000..2f7207e27ab0 --- /dev/null +++ b/media-libs/mediastreamer/files/mediastreamer-2.7.3-sdl-build.patch @@ -0,0 +1,220 @@ +commit c0ae6c3f9f78ae9e9e4c7030e7054dc5c0267e2c +Author: Simon Morlat +Date: Mon Apr 11 22:46:37 2011 +0200 + + fix SDL output that wasn't compiling anymore and bugfix videodisplay test program + +diff --git a/src/msfilter.c b/src/msfilter.c +index d8d84f3..4b84b8b 100644 +--- a/src/msfilter.c ++++ b/src/msfilter.c +@@ -169,9 +169,7 @@ int ms_filter_link(MSFilter *f1, int pin1, MSFilter *f2, int pin2){ + + int ms_filter_unlink(MSFilter *f1, int pin1, MSFilter *f2, int pin2){ + MSQueue *q; +- ms_return_val_if_fail(f1, -1); +- ms_return_val_if_fail(f2, -1); +- ms_message("ms_filter_unlink: %s:%p,%i-->%s:%p,%i",f1->desc->name,f1,pin1,f2->desc->name,f2,pin2); ++ ms_message("ms_filter_unlink: %s:%p,%i-->%s:%p,%i",f1 ? f1->desc->name : "!NULL!",f1,pin1,f2 ? f2->desc->name : "!NULL!",f2,pin2); + ms_return_val_if_fail(pin1desc->noutputs, -1); + ms_return_val_if_fail(pin2desc->ninputs, -1); + ms_return_val_if_fail(f1->outputs[pin1]!=NULL,-1); +diff --git a/src/videoout.c b/src/videoout.c +index ca36b0f..5bdc6dd 100644 +--- a/src/videoout.c ++++ b/src/videoout.c +@@ -114,8 +114,6 @@ void ms_display_destroy(MSDisplay *d); + } + #endif + +-#include "ffmpeg-priv.h" +- + #define SCALE_FACTOR 4.0f + #define SELVIEW_POS_INACTIVE -100.0 + +@@ -462,7 +460,7 @@ void ms_display_desc_set_default_window_id(MSDisplayDesc *desc, long id){ + + typedef struct VideoOut + { +- AVRational ratio; ++ struct Rational {int num; int den;} ratio; + MSPicture fbuf; + MSPicture fbuf_selfview; + MSPicture local_pic; +@@ -474,8 +472,8 @@ typedef struct VideoOut + float sv_posx,sv_posy; + int background_color[3]; + +- struct ms_SwsContext *sws1; +- struct ms_SwsContext *sws2; ++ MSScalerContext *sws1; ++ MSScalerContext *sws2; + MSDisplay *display; + bool_t own_display; + bool_t ready; +@@ -552,11 +550,11 @@ static void video_out_uninit(MSFilter *f){ + if (obj->display!=NULL && obj->own_display) + ms_display_destroy(obj->display); + if (obj->sws1!=NULL){ +- ms_sws_freeContext(obj->sws1); ++ ms_scaler_context_free(obj->sws1); + obj->sws1=NULL; + } + if (obj->sws2!=NULL){ +- ms_sws_freeContext(obj->sws2); ++ ms_scaler_context_free(obj->sws2); + obj->sws2=NULL; + } + if (obj->local_msg!=NULL) { +@@ -581,11 +579,11 @@ static void video_out_prepare(MSFilter *f){ + obj->display=NULL; + } + if (obj->sws1!=NULL){ +- ms_sws_freeContext(obj->sws1); ++ ms_scaler_context_free(obj->sws1); + obj->sws1=NULL; + } + if (obj->sws2!=NULL){ +- ms_sws_freeContext(obj->sws2); ++ ms_scaler_context_free(obj->sws2); + obj->sws2=NULL; + } + if (obj->local_msg!=NULL) { +@@ -665,13 +663,12 @@ static void video_out_process(MSFilter *f){ + if (ms_yuv_buf_init_from_mblk(&src,inm)==0){ + + if (obj->sws2==NULL){ +- obj->sws2=ms_sws_getContext(src.w,src.h,PIX_FMT_YUV420P, +- obj->fbuf_selfview.w,obj->fbuf_selfview.h,PIX_FMT_YUV420P, +- SWS_FAST_BILINEAR, NULL, NULL, NULL); ++ obj->sws2=ms_scaler_create_context(src.w,src.h,MS_YUV420P, ++ obj->fbuf_selfview.w,obj->fbuf_selfview.h,MS_YUV420P, ++ MS_SCALER_METHOD_BILINEAR); + } + ms_display_lock(obj->display); +- if (ms_sws_scale(obj->sws2,src.planes,src.strides, 0, +- src.h, obj->fbuf_selfview.planes, obj->fbuf_selfview.strides)<0){ ++ if (ms_scaler_process(obj->sws2,src.planes,src.strides,obj->fbuf_selfview.planes, obj->fbuf_selfview.strides)<0){ + ms_error("Error in ms_sws_scale()."); + } + if (!mblk_get_precious_flag(inm)) ms_yuv_buf_mirror(&obj->fbuf_selfview); +@@ -683,9 +680,9 @@ static void video_out_process(MSFilter *f){ + if (ms_yuv_buf_init_from_mblk(&src,inm)==0){ + + if (obj->sws2==NULL){ +- obj->sws2=ms_sws_getContext(src.w,src.h,PIX_FMT_YUV420P, +- obj->local_pic.w,obj->local_pic.h,PIX_FMT_YUV420P, +- SWS_FAST_BILINEAR, NULL, NULL, NULL); ++ obj->sws2=ms_scaler_create_context(src.w,src.h,MS_YUV420P, ++ obj->local_pic.w,obj->local_pic.h,MS_YUV420P, ++ MS_SCALER_METHOD_BILINEAR); + } + if (obj->local_msg==NULL){ + obj->local_msg=ms_yuv_buf_alloc(&obj->local_pic, +@@ -693,8 +690,7 @@ static void video_out_process(MSFilter *f){ + } + if (obj->local_pic.planes[0]!=NULL) + { +- if (ms_sws_scale(obj->sws2,src.planes,src.strides, 0, +- src.h, obj->local_pic.planes, obj->local_pic.strides)<0){ ++ if (ms_scaler_process(obj->sws2,src.planes,src.strides,obj->local_pic.planes, obj->local_pic.strides)<0){ + ms_error("Error in ms_sws_scale()."); + } + if (!mblk_get_precious_flag(inm)) ms_yuv_buf_mirror(&obj->local_pic); +@@ -731,13 +727,12 @@ static void video_out_process(MSFilter *f){ + } + } + if (obj->sws1==NULL){ +- obj->sws1=ms_sws_getContext(src.w,src.h,PIX_FMT_YUV420P, +- obj->fbuf.w,obj->fbuf.h,PIX_FMT_YUV420P, +- SWS_FAST_BILINEAR, NULL, NULL, NULL); ++ obj->sws1=ms_scaler_create_context(src.w,src.h,MS_YUV420P, ++ obj->fbuf.w,obj->fbuf.h,MS_YUV420P, ++ MS_SCALER_METHOD_BILINEAR); + } + ms_display_lock(obj->display); +- if (ms_sws_scale(obj->sws1,src.planes,src.strides, 0, +- src.h, obj->fbuf.planes, obj->fbuf.strides)<0){ ++ if (ms_scaler_process(obj->sws1,src.planes,src.strides,obj->fbuf.planes, obj->fbuf.strides)<0){ + ms_error("Error in ms_sws_scale()."); + } + if (obj->mirror && !mblk_get_precious_flag(inm)) ms_yuv_buf_mirror(&obj->fbuf); +@@ -943,3 +938,4 @@ MSFilterDesc ms_video_out_desc={ + + + MS_FILTER_DESC_EXPORT(ms_video_out_desc) ++ +diff --git a/tests/videodisplay.c b/tests/videodisplay.c +index 76f67a5..0828c6a 100644 +--- a/tests/videodisplay.c ++++ b/tests/videodisplay.c +@@ -52,6 +52,7 @@ int main(int argc, char *argv[]){ + for(i=0;i<1;++i){ + int n; + vs=video_preview_new(); ++ /*video_preview_set_display_filter_name(vs,"MSVideoOut");*/ + video_preview_set_size(vs,vsize); + video_preview_start(vs, cam); + +@@ -79,11 +80,11 @@ int main(int argc, char *argv[]){ + + vs->tee = ms_filter_new(MS_TEE_ID); + +- ms_filter_unlink(vs->pixconv,0, vs->output,0); ++ ms_filter_unlink(vs->pixconv,0, vs->output2,0); + + ms_filter_link(vs->pixconv,0,vs->tee,0); +- ms_filter_link(vs->tee,0,vs->output,0); +- ms_filter_link(vs->tee,1,vs->output,1); ++ ms_filter_link(vs->tee,0,vs->output2,0); ++ ms_filter_link(vs->tee,1,vs->output2,1); + + //ms_filter_unlink(vs->tee,0,vs->output,0); + ms_ticker_attach (vs->ticker, vs->source); +@@ -92,34 +93,34 @@ int main(int argc, char *argv[]){ + if (n==500) + { + int corner=1; +- ms_filter_call_method(vs->output,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); ++ ms_filter_call_method(vs->output2,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); + } + if (n==600) + { + int corner=2; +- ms_filter_call_method(vs->output,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); ++ ms_filter_call_method(vs->output2,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); + } + if (n==700) + { + int corner=3; +- ms_filter_call_method(vs->output,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); ++ ms_filter_call_method(vs->output2,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); + } + if (n==800) + { + int corner=-1; +- ms_filter_call_method(vs->output,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); ++ ms_filter_call_method(vs->output2,MS_VIDEO_DISPLAY_SET_LOCAL_VIEW_MODE,&corner); + } + if (n==900) + { + ms_ticker_detach (vs->ticker, vs->source); + + ms_filter_unlink(vs->pixconv,0,vs->tee,0); +- ms_filter_unlink(vs->tee,0,vs->output,0); +- ms_filter_unlink(vs->tee,1,vs->output,1); ++ ms_filter_unlink(vs->tee,0,vs->output2,0); ++ ms_filter_unlink(vs->tee,1,vs->output2,1); + ms_filter_destroy(vs->tee); + vs->tee=NULL; + +- ms_filter_link(vs->pixconv,0, vs->output,0); ++ ms_filter_link(vs->pixconv,0, vs->output2,0); + + + ms_ticker_attach (vs->ticker, vs->source); +@@ -129,3 +130,4 @@ int main(int argc, char *argv[]){ + } + return 0; + } ++ diff --git a/media-libs/mediastreamer/mediastreamer-2.7.3-r1.ebuild b/media-libs/mediastreamer/mediastreamer-2.7.3-r1.ebuild index 52dc6310f66c..45a0ce9983a2 100644 --- a/media-libs/mediastreamer/mediastreamer-2.7.3-r1.ebuild +++ b/media-libs/mediastreamer/mediastreamer-2.7.3-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mediastreamer/mediastreamer-2.7.3-r1.ebuild,v 1.1 2011/04/09 09:57:34 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mediastreamer/mediastreamer-2.7.3-r1.ebuild,v 1.2 2011/04/12 06:15:51 pva Exp $ EAPI="4" @@ -61,6 +61,8 @@ src_prepare() { || die "patching help/Makefile.am failed" epatch "${FILESDIR}/${PN}-2.7.3-v4l-automagic.patch" + epatch "${FILESDIR}/${P}-sdl-build.patch" + # linux/videodev.h dropped in 2.6.38 sed -i -e 's:msv4l.c::' src/Makefile.am || die eautoreconf -- cgit v1.2.3-65-gdbad