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 ¶meter = 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 ¶meter = 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