rpms/kaffeine/devel kaffeine-1.0-pre3-deinterlace-optional.patch, NONE, 1.1 kaffeine.spec, 1.30, 1.31

thomasj thomasj at fedoraproject.org
Thu Apr 15 19:32:16 UTC 2010


Author: thomasj

Update of /cvs/pkgs/rpms/kaffeine/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv9470

Modified Files:
	kaffeine.spec 
Added Files:
	kaffeine-1.0-pre3-deinterlace-optional.patch 
Log Message:
deinterlace-optional patch


kaffeine-1.0-pre3-deinterlace-optional.patch:
 xineapplication.cpp |   65 +++++++++++++++++++++++++---------------------------
 1 file changed, 32 insertions(+), 33 deletions(-)

--- NEW FILE kaffeine-1.0-pre3-deinterlace-optional.patch ---
diff -ur kaffeine-1.0-pre3/src/backend-xine/xineapplication.cpp kaffeine-1.0-pre3-deinterlace-optional/src/backend-xine/xineapplication.cpp
--- kaffeine-1.0-pre3/src/backend-xine/xineapplication.cpp	2010-01-31 18:04:50.000000000 +0100
+++ kaffeine-1.0-pre3-deinterlace-optional/src/backend-xine/xineapplication.cpp	2010-04-15 21:16:04.000000000 +0200
@@ -44,8 +44,8 @@
 };
 
 XineObject::XineObject() : engine(NULL), audioOutput(NULL), videoOutput(NULL), stream(NULL),
-	eventQueue(NULL), widgetSize(0), dirtyFlags(NotReady), aspectRatio(XineAspectRatioAuto),
-	videoSize(0)
+	eventQueue(NULL), widgetSize(0), dirtyFlags(NotReady), deinterlacing(false),
+	aspectRatio(XineAspectRatioAuto), videoSize(0)
 {
 	reader = new XinePipeReader(3, this);
 	parentProcess = new XineParent(4, this);
@@ -154,11 +154,13 @@
 			break;
 		    }
 		case XineCommands::SetDeinterlacing: {
-			bool deinterlacing_ = reader->readBool();
+			if (deinterlacer != NULL) {
+				bool deinterlacing_ = reader->readBool();
 
-			if (reader->isValid()) {
-				deinterlacing = deinterlacing_;
-				dirtyFlags |= SetDeinterlacing;
+				if (reader->isValid()) {
+					deinterlacing = deinterlacing_;
+					dirtyFlags |= SetDeinterlacing;
+				}
 			}
 
 			break;
@@ -391,35 +393,32 @@
 	xine_event_create_listener_thread(eventQueue, &event_listener_cb, this);
 	deinterlacer = xine_post_init(engine, "tvtime", 1, 0, &videoOutput);
 
-	if (deinterlacer == NULL) {
-		parentProcess->initFailed("Cannot create deinterlace plugin.");
-		return;
-	}
-
-	xine_post_api_t *deinterlacerApi =
-		static_cast<xine_post_api_t *>(xine_post_input(deinterlacer, "parameters")->data);
-	xine_post_api_descr_t *deinterlacerParameters = deinterlacerApi->get_param_descr();
-
-	for (int i = 0; deinterlacerParameters->parameter[i].type != POST_PARAM_TYPE_LAST; ++i) {
-		xine_post_api_parameter_t &parameter = deinterlacerParameters->parameter[i];
-
-		if ((parameter.type == POST_PARAM_TYPE_INT) &&
-		    (strcmp(parameter.name, "method") == 0)) {
-			QByteArray parameterData;
-			parameterData.resize(deinterlacerParameters->struct_size);
-			char *data = parameterData.data();
-			deinterlacerApi->get_parameters(deinterlacer, data);
-			int *method = reinterpret_cast<int *>(data + parameter.offset);
-
-			for (char **value = parameter.enum_values; *value != NULL; ++value) {
-				if (strcmp(*value, "Greedy2Frame") == 0) {
-					*method = value - parameter.enum_values;
-					break;
+	if (deinterlacer != NULL) {
+		xine_post_api_t *deinterlacerApi =
+			static_cast<xine_post_api_t *>(xine_post_input(deinterlacer, "parameters")->data);
+		xine_post_api_descr_t *deinterlacerParameters = deinterlacerApi->get_param_descr();
+
+		for (int i = 0; deinterlacerParameters->parameter[i].type != POST_PARAM_TYPE_LAST; ++i) {
+			xine_post_api_parameter_t &parameter = deinterlacerParameters->parameter[i];
+
+			if ((parameter.type == POST_PARAM_TYPE_INT) &&
+			    (strcmp(parameter.name, "method") == 0)) {
+				QByteArray parameterData;
+				parameterData.resize(deinterlacerParameters->struct_size);
+				char *data = parameterData.data();
+				deinterlacerApi->get_parameters(deinterlacer, data);
+				int *method = reinterpret_cast<int *>(data + parameter.offset);
+
+				for (char **value = parameter.enum_values; *value != NULL; ++value) {
+					if (strcmp(*value, "Greedy2Frame") == 0) {
+						*method = value - parameter.enum_values;
+						break;
+					}
 				}
-			}
 
-			deinterlacerApi->set_parameters(deinterlacer, data);
-			break;
+				deinterlacerApi->set_parameters(deinterlacer, data);
+				break;
+			}
 		}
 	}


Index: kaffeine.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kaffeine/devel/kaffeine.spec,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -p -r1.30 -r1.31
--- kaffeine.spec	8 Feb 2010 18:56:24 -0000	1.30
+++ kaffeine.spec	15 Apr 2010 19:32:16 -0000	1.31
@@ -14,6 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version
 
 ## upstreamable patches
 Patch50: kaffeine-1.0-pre3-mkfifo.patch.patch
+Patch60: kaffeine-1.0-pre3-deinterlace-optional.patch
 
 BuildRequires: desktop-file-utils
 BuildRequires: gettext
@@ -33,7 +34,7 @@ Kaffeine is a KDE media player.
 %setup -q -n kaffeine-%{version}%{?pre:-%{pre}}
 
 %patch50 -p1 -b .mkfifo
-
+%patch60 -p0
 
 %build
 mkdir -p %{_target_platform}
@@ -91,6 +92,9 @@ gtk-update-icon-cache %{_datadir}/icons/
 
 
 %changelog
+* Thu Apr 15 2010 Thomas Janssen <thomasj at fedoraproject.org> 1.0-0.4.pre3
+- deinterlace-optional patch thanks to Kevin Kofler
+
 * Mon Feb 08 2010 Rex Dieter <rdieter at fedoraproject.org> - 1.0-0.4.pre3
 - kaffeine-1.0-pre3
 - adjust summary/description: no longer phonon based (uses xine-lib)



More information about the scm-commits mailing list