public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in media-libs/mediastreamer/files: mediastreamer-2.7.3-sdl-build.patch
@ 2011-04-12  6:15 Peter Volkov (pva)
  0 siblings, 0 replies; only message in thread
From: Peter Volkov (pva) @ 2011-04-12  6:15 UTC (permalink / raw
  To: gentoo-commits

pva         11/04/12 06:15:51

  Added:                mediastreamer-2.7.3-sdl-build.patch
  Log:
  Added patch to fix build issue with USE=sdl, thank Luigi 'Comio' Mantellini for report and for help.
  
  (Portage version: 2.1.9.45/cvs/Linux x86_64)

Revision  Changes    Path
1.1                  media-libs/mediastreamer/files/mediastreamer-2.7.3-sdl-build.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/mediastreamer/files/mediastreamer-2.7.3-sdl-build.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/mediastreamer/files/mediastreamer-2.7.3-sdl-build.patch?rev=1.1&content-type=text/plain

Index: mediastreamer-2.7.3-sdl-build.patch
===================================================================
commit c0ae6c3f9f78ae9e9e4c7030e7054dc5c0267e2c
Author: Simon Morlat <simon.morlat@linphone.org>
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(pin1<f1->desc->noutputs, -1);
 	ms_return_val_if_fail(pin2<f2->desc->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;
 }
+






^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-04-12  6:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-12  6:15 [gentoo-commits] gentoo-x86 commit in media-libs/mediastreamer/files: mediastreamer-2.7.3-sdl-build.patch Peter Volkov (pva)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox