rpms/gstreamer-ffmpeg/F-13 gstreamer-ffmpeg.spec,1.14,1.15
by jwrdegoede
Author: jwrdegoede
Update of /cvs/free/rpms/gstreamer-ffmpeg/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv28664
Modified Files:
gstreamer-ffmpeg.spec
Log Message:
* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-2
- Rebuild to get the proper magic gstreamer provides for packagekit (rf1267)
Index: gstreamer-ffmpeg.spec
===================================================================
RCS file: /cvs/free/rpms/gstreamer-ffmpeg/F-13/gstreamer-ffmpeg.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- gstreamer-ffmpeg.spec 14 Mar 2010 14:37:31 -0000 1.14
+++ gstreamer-ffmpeg.spec 22 Jun 2010 12:52:11 -0000 1.15
@@ -1,6 +1,6 @@
Name: gstreamer-ffmpeg
Version: 0.10.10
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: GStreamer FFmpeg-based plug-ins
Group: Applications/Multimedia
# the ffmpeg plugin is LGPL, the postproc plugin is GPL
@@ -54,6 +54,9 @@
%changelog
+* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-2
+- Rebuild to get the proper magic gstreamer provides for packagekit (rf1267)
+
* Sun Mar 14 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-1
- New upstream release 0.10.10
14 years, 5 months
rpms/gstreamer-ffmpeg/devel gstreamer-ffmpeg.spec,1.14,1.15
by jwrdegoede
Author: jwrdegoede
Update of /cvs/free/rpms/gstreamer-ffmpeg/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv24267
Modified Files:
gstreamer-ffmpeg.spec
Log Message:
* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-2
- Rebuild to get the proper magic gstreamer provides for packagekit (rf1267)
Index: gstreamer-ffmpeg.spec
===================================================================
RCS file: /cvs/free/rpms/gstreamer-ffmpeg/devel/gstreamer-ffmpeg.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- gstreamer-ffmpeg.spec 14 Mar 2010 14:37:31 -0000 1.14
+++ gstreamer-ffmpeg.spec 22 Jun 2010 11:51:37 -0000 1.15
@@ -1,6 +1,6 @@
Name: gstreamer-ffmpeg
Version: 0.10.10
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: GStreamer FFmpeg-based plug-ins
Group: Applications/Multimedia
# the ffmpeg plugin is LGPL, the postproc plugin is GPL
@@ -54,6 +54,9 @@
%changelog
+* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-2
+- Rebuild to get the proper magic gstreamer provides for packagekit (rf1267)
+
* Sun Mar 14 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-1
- New upstream release 0.10.10
14 years, 5 months
rpms/vice/F-13 .cvsignore, 1.4, 1.5 sources, 1.4, 1.5 vice-1.19-datadir.patch, 1.3, 1.4 vice-1.20-monitor-crash.patch, 1.1, 1.2 vice-tmpnam.patch, 1.2, 1.3 vice.spec, 1.7, 1.8 vice-2.1-gcc44.patch, 1.1, NONE
by jwrdegoede
Author: jwrdegoede
Update of /cvs/nonfree/rpms/vice/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv18641
Modified Files:
.cvsignore sources vice-1.19-datadir.patch
vice-1.20-monitor-crash.patch vice-tmpnam.patch vice.spec
Removed Files:
vice-2.1-gcc44.patch
Log Message:
* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 2.2-1
- New upstream release 2.2
- Also build the new SDL version, the SDL binaries are available with a
.sdl extension, for example x64.sdl
Index: .cvsignore
===================================================================
RCS file: /cvs/nonfree/rpms/vice/F-13/.cvsignore,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- .cvsignore 27 Dec 2008 20:38:25 -0000 1.4
+++ .cvsignore 22 Jun 2010 10:35:00 -0000 1.5
@@ -1,4 +1,4 @@
vice-largeicons.tar.bz2
vice-miniicons.tar.bz2
vice-normalicons.tar.bz2
-vice-2.1.tar.gz
+vice-2.2.tar.gz
Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/vice/F-13/sources,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- sources 27 Dec 2008 20:38:25 -0000 1.4
+++ sources 22 Jun 2010 10:35:00 -0000 1.5
@@ -1,4 +1,4 @@
a4936bbfe1cc7b37d4fd93f0901de974 vice-largeicons.tar.bz2
c944e3eeaac9c3962983423f8e7609e7 vice-miniicons.tar.bz2
1e024cef652bc4bf929905b182ef689b vice-normalicons.tar.bz2
-a4cca1aad12e12ac7f37d6c85310ade8 vice-2.1.tar.gz
+6737f540806205384e9129026898b0a1 vice-2.2.tar.gz
vice-1.19-datadir.patch:
sdl/archdep_unix.h | 2 +-
unix/archdep.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: vice-1.19-datadir.patch
===================================================================
RCS file: /cvs/nonfree/rpms/vice/F-13/vice-1.19-datadir.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vice-1.19-datadir.patch 1 Aug 2008 10:23:03 -0000 1.3
+++ vice-1.19-datadir.patch 22 Jun 2010 10:35:00 -0000 1.4
@@ -1,11 +1,24 @@
---- vice-2.0/src/arch/unix/archdep.h.foo 2008-07-07 20:23:10.000000000 +0200
-+++ vice-2.0/src/arch/unix/archdep.h 2008-08-01 10:19:47.000000000 +0200
-@@ -109,7 +109,7 @@ extern const char *archdep_home_path(voi
+diff -up vice-2.2/src/arch/unix/archdep.h.datadir vice-2.2/src/arch/unix/archdep.h
+--- vice-2.2/src/arch/unix/archdep.h.datadir 2009-10-21 18:46:46.000000000 +0200
++++ vice-2.2/src/arch/unix/archdep.h 2010-06-22 10:06:21.353162984 +0200
+@@ -120,7 +120,7 @@ extern const char *archdep_home_path(voi
extern const char *archdep_pref_path;
/* Define the default system directory (where the ROMs are). */
-#ifdef __NetBSD__
+#if 1
- #define LIBDIR PREFIX "/share/vice"
+ #define LIBDIR PREFIX "/share/vice"
#else
- #define LIBDIR PREFIX "/lib/vice"
+ #define LIBDIR PREFIX "/lib/vice"
+diff -up vice-2.2/src/arch/sdl/archdep_unix.h~ vice-2.2/src/arch/sdl/archdep_unix.h
+--- vice-2.2/src/arch/sdl/archdep_unix.h~ 2009-09-21 19:36:09.000000000 +0200
++++ vice-2.2/src/arch/sdl/archdep_unix.h 2010-06-22 11:24:46.205880453 +0200
+@@ -85,7 +85,7 @@ extern const char *archdep_home_path(voi
+ extern const char *archdep_pref_path;
+
+ /* Define the default system directory (where the ROMs are). */
+-#ifdef __NetBSD__
++#if 1
+ #define LIBDIR PREFIX "/share/vice"
+ #else
+ #define LIBDIR PREFIX "/lib/vice"
vice-1.20-monitor-crash.patch:
arch/unix/console.c | 2 ++
monitor/mon_util.c | 6 ++++--
monitor/monitor.c | 14 ++++++++++++--
3 files changed, 18 insertions(+), 4 deletions(-)
Index: vice-1.20-monitor-crash.patch
===================================================================
RCS file: /cvs/nonfree/rpms/vice/F-13/vice-1.20-monitor-crash.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- vice-1.20-monitor-crash.patch 25 Jul 2008 19:37:37 -0000 1.1
+++ vice-1.20-monitor-crash.patch 22 Jun 2010 10:35:00 -0000 1.2
@@ -1,7 +1,7 @@
-diff -ur vice-1.20.orig/src/arch/unix/console.c vice-1.20/src/arch/unix/console.c
---- vice-1.20.orig/src/arch/unix/console.c 2006-07-10 18:09:33.000000000 +0200
-+++ vice-1.20/src/arch/unix/console.c 2007-03-01 16:43:13.000000000 +0100
-@@ -115,6 +115,8 @@
+diff -up vice-2.2/src/arch/unix/console.c.mon vice-2.2/src/arch/unix/console.c
+--- vice-2.2/src/arch/unix/console.c.mon 2009-10-21 18:46:46.000000000 +0200
++++ vice-2.2/src/arch/unix/console.c 2010-06-22 10:12:55.164882183 +0200
+@@ -114,6 +114,8 @@ char *console_in(console_t *log, const c
char *p, *ret_sting;
p = readline(prompt);
@@ -10,10 +10,10 @@
ret_sting = lib_stralloc(p);
free(p);
-diff -ur vice-1.20.orig/src/monitor/mon_util.c vice-1.20/src/monitor/mon_util.c
---- vice-1.20.orig/src/monitor/mon_util.c 2006-08-06 17:54:56.000000000 +0200
-+++ vice-1.20/src/monitor/mon_util.c 2007-03-01 16:48:42.000000000 +0100
-@@ -178,8 +178,8 @@
+diff -up vice-2.2/src/monitor/mon_util.c.mon vice-2.2/src/monitor/mon_util.c
+--- vice-2.2/src/monitor/mon_util.c.mon 2009-10-21 18:46:55.000000000 +0200
++++ vice-2.2/src/monitor/mon_util.c 2010-06-22 10:20:08.306259451 +0200
+@@ -210,8 +210,8 @@ char *uimon_in(const char *prompt)
{
char *p = NULL;
@@ -22,21 +22,21 @@
+ while (!p && !pchCommandLine && p != (char*)-1) {
+ /* as long as we don't have any return value and not EOF */
- /* make sure to flush the output buffer */
- mon_buffer_flush();
-@@ -187,6 +187,8 @@
- /* get input from the user */
- p = uimon_get_in(&pchCommandLine, prompt);
+ #ifdef HAVE_NETWORK
+ if (monitor_is_remote()) {
+@@ -233,6 +233,8 @@ char *uimon_in(const char *prompt)
+ }
+ #endif
}
+ if (p == (char *)-1)
+ p = NULL;
if (pchCommandLine) {
/* we have an "artificially" generated command line */
-diff -ur vice-1.20.orig/src/monitor/monitor.c vice-1.20/src/monitor/monitor.c
---- vice-1.20.orig/src/monitor/monitor.c 2005-04-21 01:45:23.000000000 +0200
-+++ vice-1.20/src/monitor/monitor.c 2007-03-01 17:05:00.000000000 +0100
-@@ -1473,7 +1473,7 @@
+diff -up vice-2.2/src/monitor/monitor.c.mon vice-2.2/src/monitor/monitor.c
+--- vice-2.2/src/monitor/monitor.c.mon 2009-11-09 20:05:30.000000000 +0100
++++ vice-2.2/src/monitor/monitor.c 2010-06-22 10:12:55.175883371 +0200
+@@ -2111,7 +2111,7 @@ static int monitor_process(char *cmd)
{
mon_stop_output = 0;
if (cmd == NULL) {
@@ -45,7 +45,7 @@
} else {
if (!cmd[0]) {
if (!asm_mode) {
-@@ -1547,12 +1547,22 @@
+@@ -2187,12 +2187,22 @@ static void monitor_close(int check)
void monitor_startup(void)
{
vice-tmpnam.patch:
archdep.c | 50 +++++++++++++++++++-------------------------------
1 file changed, 19 insertions(+), 31 deletions(-)
Index: vice-tmpnam.patch
===================================================================
RCS file: /cvs/nonfree/rpms/vice/F-13/vice-tmpnam.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vice-tmpnam.patch 1 Aug 2008 10:23:03 -0000 1.2
+++ vice-tmpnam.patch 22 Jun 2010 10:35:00 -0000 1.3
@@ -1,15 +1,15 @@
-diff -up vice-2.0/src/arch/unix/archdep.c.foobar vice-2.0/src/arch/unix/archdep.c
---- vice-2.0/src/arch/unix/archdep.c.foobar 2008-07-07 20:23:10.000000000 +0200
-+++ vice-2.0/src/arch/unix/archdep.c 2008-08-01 10:27:52.000000000 +0200
-@@ -416,37 +416,27 @@ char *archdep_quote_parameter(const char
+diff -up vice-2.2/src/arch/unix/archdep.c.tmpnam vice-2.2/src/arch/unix/archdep.c
+--- vice-2.2/src/arch/unix/archdep.c.tmpnam 2009-10-21 18:46:46.000000000 +0200
++++ vice-2.2/src/arch/unix/archdep.c 2010-06-22 10:09:49.650289516 +0200
+@@ -411,38 +411,26 @@ char *archdep_quote_parameter(const char
char *archdep_tmpnam(void)
{
-#ifdef GP2X
-- static unsigned int tmp_string_counter=0;
+- static unsigned int tmp_string_counter = 0;
- char tmp_string[32];
-
-- sprintf(tmp_string,"vice%d.tmp",tmp_string_counter++);
+- sprintf(tmp_string, "vice%d.tmp", tmp_string_counter++);
- return lib_stralloc(tmp_string);
-#else
-#ifdef HAVE_MKSTEMP
@@ -18,10 +18,22 @@
- int fd;
- char* tmp;
-
-- tmpName = (char *)lib_malloc(ioutil_maxpathlen());
-- if ((tmp = getenv("TMPDIR")) != NULL ) {
+- tmpName = lib_malloc(ioutil_maxpathlen());
+- if ((tmp = getenv("TMPDIR")) != NULL) {
- strncpy(tmpName, tmp, ioutil_maxpathlen());
- tmpName[ioutil_maxpathlen() - sizeof(mkstempTemplate)] = '\0';
+- } else {
+- strcpy(tmpName, "/tmp" );
+- }
+- strcat(tmpName, mkstempTemplate);
+- if ((fd = mkstemp(tmpName)) < 0) {
+- tmpName[0] = '\0';
+- } else {
+- close(fd);
+- }
+-
+- lib_free(tmpName);
+- return lib_stralloc(tmpName);
+ char *tmp, *name;
+
+ name = util_concat(archdep_home_path(), "/.vice", NULL);
@@ -33,17 +45,7 @@
+ name = util_concat(archdep_home_path(), "/.vice/tmp", NULL);
+ if (access(name, F_OK)) {
+ mkdir(name, 0700);
- }
-- else
-- strcpy(tmpName, "/tmp" );
-- strcat(tmpName, mkstempTemplate );
-- if ((fd = mkstemp(tmpName)) < 0 )
-- tmpName[0] = '\0';
-- else
-- close(fd);
-
-- lib_free(tmpName);
-- return lib_stralloc(tmpName);
++ }
+ tmp = tempnam(name, "vice");
+ lib_free(name);
+#ifndef LIB_DEBUG
Index: vice.spec
===================================================================
RCS file: /cvs/nonfree/rpms/vice/F-13/vice.spec,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vice.spec 1 Apr 2009 09:00:25 -0000 1.7
+++ vice.spec 22 Jun 2010 10:35:00 -0000 1.8
@@ -1,6 +1,6 @@
Name: vice
-Version: 2.1
-Release: 3%{?dist}
+Version: 2.2
+Release: 1%{?dist}
Summary: Emulator for a variety of Commodore 8bit machines
Group: Applications/Emulators
License: GPL
@@ -19,11 +19,12 @@
Patch2: vice-htmlview.patch
Patch3: vice-tmpnam.patch
Patch4: vice-1.20-monitor-crash.patch
-Patch5: vice-2.1-gcc44.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libXt-devel libXext-devel libXxf86vm-devel libXxf86dga-devel
-BuildRequires: giflib-devel libjpeg-devel libgnomeui-devel ffmpeg-devel
-BuildRequires: ncurses-devel readline-devel SDL-devel alsa-lib-devel
+BuildRequires: giflib-devel libjpeg-devel libpng-devel
+BuildRequires: libgnomeui-devel gtkglext-devel
+BuildRequires: ffmpeg-devel lame-devel
+BuildRequires: readline-devel SDL-devel alsa-lib-devel
BuildRequires: bison flex gettext info desktop-file-utils xorg-x11-font-utils
Requires: hicolor-icon-theme xdg-utils
@@ -39,7 +40,6 @@
%patch2 -p1 -z .htmlview
%patch3 -p1 -z .tmpnam
%patch4 -p1 -z .mon
-%patch5 -p1
for i in man/*.1 doc/*.info*; do
iconv -f ISO-8859-1 -t UTF8 $i > $i.tmp
mv $i.tmp $i
@@ -49,13 +49,30 @@
%build
-%configure --enable-gnomeui --enable-fullscreen --with-sdl
+%configure --enable-sdlui --without-esd
make %{?_smp_mflags}
+pushd src
+ for i in x*; do
+ mv $i ../$i.sdl
+ done
+popd
+
+make distclean
+%configure --enable-gnomeui --enable-fullscreen --without-esd
+make %{?_smp_mflags} LD_FLAGS=-lX11
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT VICEDIR=%{_datadir}/%{name}
+for i in x*.sdl; do
+ install -p -m 755 $i $RPM_BUILD_ROOT%{_bindir}
+done
+pushd data
+ for i in */sdl_sym.vkm; do
+ cp -a --parents $i $RPM_BUILD_ROOT%{_datadir}/%{name}
+ done
+popd
%find_lang %{name}
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
@@ -118,6 +135,11 @@
%changelog
+* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 2.2-1
+- New upstream release 2.2
+- Also build the new SDL version, the SDL binaries are available with a
+ .sdl extension, for example x64.sdl
+
* Wed Apr 1 2009 Hans de Goede <j.w.r.degoede(a)hhs.nl> 2.1-3
- Fix building with gcc 4.4
--- vice-2.1-gcc44.patch DELETED ---
14 years, 5 months
rpms/vice/devel .cvsignore, 1.4, 1.5 sources, 1.4, 1.5 vice-1.19-datadir.patch, 1.3, 1.4 vice-1.20-monitor-crash.patch, 1.1, 1.2 vice-tmpnam.patch, 1.2, 1.3 vice.spec, 1.7, 1.8
by jwrdegoede
Author: jwrdegoede
Update of /cvs/nonfree/rpms/vice/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv18500
Modified Files:
.cvsignore sources vice-1.19-datadir.patch
vice-1.20-monitor-crash.patch vice-tmpnam.patch vice.spec
Log Message:
* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 2.2-1
- New upstream release 2.2
- Also build the new SDL version, the SDL binaries are available with a
.sdl extension, for example x64.sdl
Index: .cvsignore
===================================================================
RCS file: /cvs/nonfree/rpms/vice/devel/.cvsignore,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- .cvsignore 27 Dec 2008 20:38:25 -0000 1.4
+++ .cvsignore 22 Jun 2010 10:34:07 -0000 1.5
@@ -1,4 +1,4 @@
vice-largeicons.tar.bz2
vice-miniicons.tar.bz2
vice-normalicons.tar.bz2
-vice-2.1.tar.gz
+vice-2.2.tar.gz
Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/vice/devel/sources,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- sources 27 Dec 2008 20:38:25 -0000 1.4
+++ sources 22 Jun 2010 10:34:07 -0000 1.5
@@ -1,4 +1,4 @@
a4936bbfe1cc7b37d4fd93f0901de974 vice-largeicons.tar.bz2
c944e3eeaac9c3962983423f8e7609e7 vice-miniicons.tar.bz2
1e024cef652bc4bf929905b182ef689b vice-normalicons.tar.bz2
-a4cca1aad12e12ac7f37d6c85310ade8 vice-2.1.tar.gz
+6737f540806205384e9129026898b0a1 vice-2.2.tar.gz
vice-1.19-datadir.patch:
sdl/archdep_unix.h | 2 +-
unix/archdep.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: vice-1.19-datadir.patch
===================================================================
RCS file: /cvs/nonfree/rpms/vice/devel/vice-1.19-datadir.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vice-1.19-datadir.patch 1 Aug 2008 10:23:03 -0000 1.3
+++ vice-1.19-datadir.patch 22 Jun 2010 10:34:07 -0000 1.4
@@ -1,11 +1,24 @@
---- vice-2.0/src/arch/unix/archdep.h.foo 2008-07-07 20:23:10.000000000 +0200
-+++ vice-2.0/src/arch/unix/archdep.h 2008-08-01 10:19:47.000000000 +0200
-@@ -109,7 +109,7 @@ extern const char *archdep_home_path(voi
+diff -up vice-2.2/src/arch/unix/archdep.h.datadir vice-2.2/src/arch/unix/archdep.h
+--- vice-2.2/src/arch/unix/archdep.h.datadir 2009-10-21 18:46:46.000000000 +0200
++++ vice-2.2/src/arch/unix/archdep.h 2010-06-22 10:06:21.353162984 +0200
+@@ -120,7 +120,7 @@ extern const char *archdep_home_path(voi
extern const char *archdep_pref_path;
/* Define the default system directory (where the ROMs are). */
-#ifdef __NetBSD__
+#if 1
- #define LIBDIR PREFIX "/share/vice"
+ #define LIBDIR PREFIX "/share/vice"
#else
- #define LIBDIR PREFIX "/lib/vice"
+ #define LIBDIR PREFIX "/lib/vice"
+diff -up vice-2.2/src/arch/sdl/archdep_unix.h~ vice-2.2/src/arch/sdl/archdep_unix.h
+--- vice-2.2/src/arch/sdl/archdep_unix.h~ 2009-09-21 19:36:09.000000000 +0200
++++ vice-2.2/src/arch/sdl/archdep_unix.h 2010-06-22 11:24:46.205880453 +0200
+@@ -85,7 +85,7 @@ extern const char *archdep_home_path(voi
+ extern const char *archdep_pref_path;
+
+ /* Define the default system directory (where the ROMs are). */
+-#ifdef __NetBSD__
++#if 1
+ #define LIBDIR PREFIX "/share/vice"
+ #else
+ #define LIBDIR PREFIX "/lib/vice"
vice-1.20-monitor-crash.patch:
arch/unix/console.c | 2 ++
monitor/mon_util.c | 6 ++++--
monitor/monitor.c | 14 ++++++++++++--
3 files changed, 18 insertions(+), 4 deletions(-)
Index: vice-1.20-monitor-crash.patch
===================================================================
RCS file: /cvs/nonfree/rpms/vice/devel/vice-1.20-monitor-crash.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- vice-1.20-monitor-crash.patch 25 Jul 2008 19:37:37 -0000 1.1
+++ vice-1.20-monitor-crash.patch 22 Jun 2010 10:34:07 -0000 1.2
@@ -1,7 +1,7 @@
-diff -ur vice-1.20.orig/src/arch/unix/console.c vice-1.20/src/arch/unix/console.c
---- vice-1.20.orig/src/arch/unix/console.c 2006-07-10 18:09:33.000000000 +0200
-+++ vice-1.20/src/arch/unix/console.c 2007-03-01 16:43:13.000000000 +0100
-@@ -115,6 +115,8 @@
+diff -up vice-2.2/src/arch/unix/console.c.mon vice-2.2/src/arch/unix/console.c
+--- vice-2.2/src/arch/unix/console.c.mon 2009-10-21 18:46:46.000000000 +0200
++++ vice-2.2/src/arch/unix/console.c 2010-06-22 10:12:55.164882183 +0200
+@@ -114,6 +114,8 @@ char *console_in(console_t *log, const c
char *p, *ret_sting;
p = readline(prompt);
@@ -10,10 +10,10 @@
ret_sting = lib_stralloc(p);
free(p);
-diff -ur vice-1.20.orig/src/monitor/mon_util.c vice-1.20/src/monitor/mon_util.c
---- vice-1.20.orig/src/monitor/mon_util.c 2006-08-06 17:54:56.000000000 +0200
-+++ vice-1.20/src/monitor/mon_util.c 2007-03-01 16:48:42.000000000 +0100
-@@ -178,8 +178,8 @@
+diff -up vice-2.2/src/monitor/mon_util.c.mon vice-2.2/src/monitor/mon_util.c
+--- vice-2.2/src/monitor/mon_util.c.mon 2009-10-21 18:46:55.000000000 +0200
++++ vice-2.2/src/monitor/mon_util.c 2010-06-22 10:20:08.306259451 +0200
+@@ -210,8 +210,8 @@ char *uimon_in(const char *prompt)
{
char *p = NULL;
@@ -22,21 +22,21 @@
+ while (!p && !pchCommandLine && p != (char*)-1) {
+ /* as long as we don't have any return value and not EOF */
- /* make sure to flush the output buffer */
- mon_buffer_flush();
-@@ -187,6 +187,8 @@
- /* get input from the user */
- p = uimon_get_in(&pchCommandLine, prompt);
+ #ifdef HAVE_NETWORK
+ if (monitor_is_remote()) {
+@@ -233,6 +233,8 @@ char *uimon_in(const char *prompt)
+ }
+ #endif
}
+ if (p == (char *)-1)
+ p = NULL;
if (pchCommandLine) {
/* we have an "artificially" generated command line */
-diff -ur vice-1.20.orig/src/monitor/monitor.c vice-1.20/src/monitor/monitor.c
---- vice-1.20.orig/src/monitor/monitor.c 2005-04-21 01:45:23.000000000 +0200
-+++ vice-1.20/src/monitor/monitor.c 2007-03-01 17:05:00.000000000 +0100
-@@ -1473,7 +1473,7 @@
+diff -up vice-2.2/src/monitor/monitor.c.mon vice-2.2/src/monitor/monitor.c
+--- vice-2.2/src/monitor/monitor.c.mon 2009-11-09 20:05:30.000000000 +0100
++++ vice-2.2/src/monitor/monitor.c 2010-06-22 10:12:55.175883371 +0200
+@@ -2111,7 +2111,7 @@ static int monitor_process(char *cmd)
{
mon_stop_output = 0;
if (cmd == NULL) {
@@ -45,7 +45,7 @@
} else {
if (!cmd[0]) {
if (!asm_mode) {
-@@ -1547,12 +1547,22 @@
+@@ -2187,12 +2187,22 @@ static void monitor_close(int check)
void monitor_startup(void)
{
vice-tmpnam.patch:
archdep.c | 50 +++++++++++++++++++-------------------------------
1 file changed, 19 insertions(+), 31 deletions(-)
Index: vice-tmpnam.patch
===================================================================
RCS file: /cvs/nonfree/rpms/vice/devel/vice-tmpnam.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vice-tmpnam.patch 1 Aug 2008 10:23:03 -0000 1.2
+++ vice-tmpnam.patch 22 Jun 2010 10:34:07 -0000 1.3
@@ -1,15 +1,15 @@
-diff -up vice-2.0/src/arch/unix/archdep.c.foobar vice-2.0/src/arch/unix/archdep.c
---- vice-2.0/src/arch/unix/archdep.c.foobar 2008-07-07 20:23:10.000000000 +0200
-+++ vice-2.0/src/arch/unix/archdep.c 2008-08-01 10:27:52.000000000 +0200
-@@ -416,37 +416,27 @@ char *archdep_quote_parameter(const char
+diff -up vice-2.2/src/arch/unix/archdep.c.tmpnam vice-2.2/src/arch/unix/archdep.c
+--- vice-2.2/src/arch/unix/archdep.c.tmpnam 2009-10-21 18:46:46.000000000 +0200
++++ vice-2.2/src/arch/unix/archdep.c 2010-06-22 10:09:49.650289516 +0200
+@@ -411,38 +411,26 @@ char *archdep_quote_parameter(const char
char *archdep_tmpnam(void)
{
-#ifdef GP2X
-- static unsigned int tmp_string_counter=0;
+- static unsigned int tmp_string_counter = 0;
- char tmp_string[32];
-
-- sprintf(tmp_string,"vice%d.tmp",tmp_string_counter++);
+- sprintf(tmp_string, "vice%d.tmp", tmp_string_counter++);
- return lib_stralloc(tmp_string);
-#else
-#ifdef HAVE_MKSTEMP
@@ -18,10 +18,22 @@
- int fd;
- char* tmp;
-
-- tmpName = (char *)lib_malloc(ioutil_maxpathlen());
-- if ((tmp = getenv("TMPDIR")) != NULL ) {
+- tmpName = lib_malloc(ioutil_maxpathlen());
+- if ((tmp = getenv("TMPDIR")) != NULL) {
- strncpy(tmpName, tmp, ioutil_maxpathlen());
- tmpName[ioutil_maxpathlen() - sizeof(mkstempTemplate)] = '\0';
+- } else {
+- strcpy(tmpName, "/tmp" );
+- }
+- strcat(tmpName, mkstempTemplate);
+- if ((fd = mkstemp(tmpName)) < 0) {
+- tmpName[0] = '\0';
+- } else {
+- close(fd);
+- }
+-
+- lib_free(tmpName);
+- return lib_stralloc(tmpName);
+ char *tmp, *name;
+
+ name = util_concat(archdep_home_path(), "/.vice", NULL);
@@ -33,17 +45,7 @@
+ name = util_concat(archdep_home_path(), "/.vice/tmp", NULL);
+ if (access(name, F_OK)) {
+ mkdir(name, 0700);
- }
-- else
-- strcpy(tmpName, "/tmp" );
-- strcat(tmpName, mkstempTemplate );
-- if ((fd = mkstemp(tmpName)) < 0 )
-- tmpName[0] = '\0';
-- else
-- close(fd);
-
-- lib_free(tmpName);
-- return lib_stralloc(tmpName);
++ }
+ tmp = tempnam(name, "vice");
+ lib_free(name);
+#ifndef LIB_DEBUG
Index: vice.spec
===================================================================
RCS file: /cvs/nonfree/rpms/vice/devel/vice.spec,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- vice.spec 1 Apr 2009 09:00:25 -0000 1.7
+++ vice.spec 22 Jun 2010 10:34:07 -0000 1.8
@@ -1,6 +1,6 @@
Name: vice
-Version: 2.1
-Release: 3%{?dist}
+Version: 2.2
+Release: 1%{?dist}
Summary: Emulator for a variety of Commodore 8bit machines
Group: Applications/Emulators
License: GPL
@@ -19,11 +19,12 @@
Patch2: vice-htmlview.patch
Patch3: vice-tmpnam.patch
Patch4: vice-1.20-monitor-crash.patch
-Patch5: vice-2.1-gcc44.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libXt-devel libXext-devel libXxf86vm-devel libXxf86dga-devel
-BuildRequires: giflib-devel libjpeg-devel libgnomeui-devel ffmpeg-devel
-BuildRequires: ncurses-devel readline-devel SDL-devel alsa-lib-devel
+BuildRequires: giflib-devel libjpeg-devel libpng-devel
+BuildRequires: libgnomeui-devel gtkglext-devel
+BuildRequires: ffmpeg-devel lame-devel
+BuildRequires: readline-devel SDL-devel alsa-lib-devel
BuildRequires: bison flex gettext info desktop-file-utils xorg-x11-font-utils
Requires: hicolor-icon-theme xdg-utils
@@ -39,7 +40,6 @@
%patch2 -p1 -z .htmlview
%patch3 -p1 -z .tmpnam
%patch4 -p1 -z .mon
-%patch5 -p1
for i in man/*.1 doc/*.info*; do
iconv -f ISO-8859-1 -t UTF8 $i > $i.tmp
mv $i.tmp $i
@@ -49,13 +49,30 @@
%build
-%configure --enable-gnomeui --enable-fullscreen --with-sdl
+%configure --enable-sdlui --without-esd
make %{?_smp_mflags}
+pushd src
+ for i in x*; do
+ mv $i ../$i.sdl
+ done
+popd
+
+make distclean
+%configure --enable-gnomeui --enable-fullscreen --without-esd
+make %{?_smp_mflags} LD_FLAGS=-lX11
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT VICEDIR=%{_datadir}/%{name}
+for i in x*.sdl; do
+ install -p -m 755 $i $RPM_BUILD_ROOT%{_bindir}
+done
+pushd data
+ for i in */sdl_sym.vkm; do
+ cp -a --parents $i $RPM_BUILD_ROOT%{_datadir}/%{name}
+ done
+popd
%find_lang %{name}
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
@@ -118,6 +135,11 @@
%changelog
+* Tue Jun 22 2010 Hans de Goede <j.w.r.degoede(a)hhs.nl> 2.2-1
+- New upstream release 2.2
+- Also build the new SDL version, the SDL binaries are available with a
+ .sdl extension, for example x64.sdl
+
* Wed Apr 1 2009 Hans de Goede <j.w.r.degoede(a)hhs.nl> 2.1-3
- Fix building with gcc 4.4
14 years, 5 months
rpms/xine-lib-extras-freeworld/F-12 .cvsignore, 1.7, 1.8 sources, 1.7, 1.8 xine-lib-extras-freeworld.spec, 1.27, 1.28
by Rex Dieter
Author: rdieter
Update of /cvs/free/rpms/xine-lib-extras-freeworld/F-12
In directory se02.es.rpmfusion.net:/tmp/cvs-serv14776
Modified Files:
.cvsignore sources xine-lib-extras-freeworld.spec
Log Message:
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
- xine-lib-1.1.18.1
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/xine-lib-extras-freeworld/F-12/.cvsignore,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- .cvsignore 3 Apr 2009 17:30:52 -0000 1.7
+++ .cvsignore 21 Jun 2010 15:47:50 -0000 1.8
@@ -1 +1 @@
-xine-lib-1.1.16.3.tar.bz2
+xine-lib-1.1.18.1.tar.bz2
Index: sources
===================================================================
RCS file: /cvs/free/rpms/xine-lib-extras-freeworld/F-12/sources,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- sources 3 Apr 2009 17:30:52 -0000 1.7
+++ sources 21 Jun 2010 15:47:50 -0000 1.8
@@ -1 +1 @@
-4f508abf088cf427a731f85634c8260d xine-lib-1.1.16.3.tar.bz2
+3efad551f2f8a9c5734855a6639694ef xine-lib-1.1.18.1.tar.bz2
Index: xine-lib-extras-freeworld.spec
===================================================================
RCS file: /cvs/free/rpms/xine-lib-extras-freeworld/F-12/xine-lib-extras-freeworld.spec,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- xine-lib-extras-freeworld.spec 2 Jul 2009 17:22:18 -0000 1.27
+++ xine-lib-extras-freeworld.spec 21 Jun 2010 15:47:50 -0000 1.28
@@ -1,7 +1,7 @@
# TODO:
# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
-%define plugin_abi 1.26
+%define plugin_abi 1.28
%if 0%{?fedora} > 6
%define _with_external_ffmpeg --with-external-ffmpeg
@@ -10,8 +10,8 @@
Name: xine-lib-extras-freeworld
Summary: Extra codecs for the Xine multimedia library
-Version: 1.1.16.3
-Release: 2%{?dist}
+Version: 1.1.18.1
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -21,6 +21,8 @@
Patch0: xine-lib-1.1.3-optflags.patch
Patch6: xine-lib-1.1.1-deepbind-939.patch
+## upstreamable patches
+
BuildRequires: pkgconfig
BuildRequires: zlib-devel
BuildRequires: gawk
@@ -29,8 +31,6 @@
%endif
%if 0%{?_with_external_ffmpeg:1}
BuildRequires: ffmpeg-devel >= 0.4.9-0.22.20060804
-# HACKS to workaround missing deps in ffmpeg-devel
-# BuildRequires: dirac-devel libraw1394-devel libtheora-devel libvorbis-devel
%endif
BuildRequires: a52dec-devel
BuildRequires: libmad-devel
@@ -66,6 +66,7 @@
%prep
%setup -q -n xine-lib-%{version}
+
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch0 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
@@ -187,6 +188,24 @@
%changelog
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
+- xine-lib-1.1.18.1
+
+* Tue Mar 02 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-3
+- get missing/upstream compat.c
+
+* Mon Mar 01 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
+- better dxr3_no_compat_c.patch (s/compat.c/compat.h/)
+
+* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
+- xine-lib-1.1.18, plugin-abi 1.28
+
+* Fri Jan 22 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-2
+- rebuild (libcdio)
+
+* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
+- xine-lib-1.1.17, plugin-abi 1.27
+
* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
- rebuild (DirectFB)
14 years, 5 months
rpms/xine-lib-extras-freeworld/devel compat.c,1.1,NONE
by Rex Dieter
Author: rdieter
Update of /cvs/free/rpms/xine-lib-extras-freeworld/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv14679
Removed Files:
compat.c
Log Message:
no longer needed
--- compat.c DELETED ---
14 years, 5 months
rpms/xine-lib-extras-freeworld/F-13 compat.c,1.1,NONE
by Rex Dieter
Author: rdieter
Update of /cvs/free/rpms/xine-lib-extras-freeworld/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv14343
Removed Files:
compat.c
Log Message:
no longer needed
--- compat.c DELETED ---
14 years, 5 months
rpms/mythtv/F-12 mythtv-0.23-shutup-vuvuzela.patch,1.1,1.2
by Jarod Wilson
Author: jarod
Update of /cvs/free/rpms/mythtv/F-12
In directory se02.es.rpmfusion.net:/tmp/cvs-serv11788
Modified Files:
mythtv-0.23-shutup-vuvuzela.patch
Log Message:
oops, need an updated vuvuzela killer
mythtv-0.23-shutup-vuvuzela.patch:
libs/libmyth/audiooutput.h | 1
libs/libmyth/audiooutputbase.cpp | 75 +++++++-
libs/libmyth/audiooutputbase.h | 8
libs/libmyth/audiooutpututil.cpp | 122 +++++++++++++
libs/libmyth/audiooutpututil.h | 272 +++++++++++++++++++++++++++++++
libs/libmyth/libmyth.pro | 4
libs/libmythtv/NuppelVideoPlayer.cpp | 10 +
libs/libmythtv/NuppelVideoPlayer.h | 1
libs/libmythtv/tv_play.cpp | 20 ++
libs/libmythtv/tv_play.h | 1
libs/libmythtv/tvosdmenuentry.cpp | 6
programs/mythfrontend/globalsettings.cpp | 12 +
programs/mythtranscode/transcode.cpp | 5
13 files changed, 522 insertions(+), 15 deletions(-)
Index: mythtv-0.23-shutup-vuvuzela.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-12/mythtv-0.23-shutup-vuvuzela.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythtv-0.23-shutup-vuvuzela.patch 18 Jun 2010 12:00:23 -0000 1.1
+++ mythtv-0.23-shutup-vuvuzela.patch 21 Jun 2010 15:10:59 -0000 1.2
@@ -1,8 +1,8 @@
Index: mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
===================================================================
---- mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (revision 25121)
+--- mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (revision 25135)
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (working copy)
-@@ -5134,6 +5134,21 @@
+@@ -5141,6 +5141,16 @@
return false;
}
@@ -16,29 +16,12 @@
+ return ret;
+}
+
-+bool NuppelVideoPlayer::IsVuvuzela()
-+{
-+ return audioOutput ? audioOutput->IsVuvuzela() : false;
-+}
-+
void NuppelVideoPlayer::Zoom(ZoomDirection direction)
{
if (videoOutput)
-Index: mythtv/libs/libmythtv/avformatdecoder.cpp
-===================================================================
---- mythtv/libs/libmythtv/avformatdecoder.cpp (revision 25121)
-+++ mythtv/libs/libmythtv/avformatdecoder.cpp (working copy)
-@@ -4639,6 +4639,7 @@
- else if (ctx->codec_id == CODEC_ID_DTS)
- passthru = allow_dts_passthru && !internal_vol;
-
-+ passthru &= !GetNVP()->IsVuvuzela();
- passthru &= !transcoding && !disable_passthru;
- // Don't know any cards that support spdif clocked at < 44100
- // Some US cable transmissions have 2ch 32k AC-3 streams
Index: mythtv/libs/libmythtv/tv_play.h
===================================================================
---- mythtv/libs/libmythtv/tv_play.h (revision 25121)
+--- mythtv/libs/libmythtv/tv_play.h (revision 25135)
+++ mythtv/libs/libmythtv/tv_play.h (working copy)
@@ -436,6 +436,7 @@
const QStringList &actions);
@@ -50,20 +33,19 @@
Index: mythtv/libs/libmythtv/NuppelVideoPlayer.h
===================================================================
---- mythtv/libs/libmythtv/NuppelVideoPlayer.h (revision 25121)
+--- mythtv/libs/libmythtv/NuppelVideoPlayer.h (revision 25135)
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.h (working copy)
-@@ -165,6 +165,8 @@
- void ToggleAspectOverride(AspectOverrideMode aspectMode = kAspect_Toggle);
+@@ -166,6 +166,7 @@
void ToggleAdjustFill(AdjustFillMode adjustfillMode = kAdjustFill_Toggle);
bool ToggleUpmix(void);
+ bool CanPassthrough(void);
+ bool ToggleVuvuzela(void);
-+ bool IsVuvuzela(void);
// Gets
QSize GetVideoBufferSize(void) const { return video_dim; }
Index: mythtv/libs/libmythtv/tv_play.cpp
===================================================================
---- mythtv/libs/libmythtv/tv_play.cpp (revision 25121)
+--- mythtv/libs/libmythtv/tv_play.cpp (revision 25135)
+++ mythtv/libs/libmythtv/tv_play.cpp (working copy)
@@ -4516,6 +4516,8 @@
ToggleTimeStretch(ctx);
@@ -115,7 +97,7 @@
else if (category == "VIDEOSCAN")
Index: mythtv/libs/libmythtv/tvosdmenuentry.cpp
===================================================================
---- mythtv/libs/libmythtv/tvosdmenuentry.cpp (revision 25121)
+--- mythtv/libs/libmythtv/tvosdmenuentry.cpp (revision 25135)
+++ mythtv/libs/libmythtv/tvosdmenuentry.cpp (working copy)
@@ -236,6 +236,12 @@
"AUDIOSYNC", 1, 1, 1, 1, "Audio Sync"));
@@ -132,7 +114,7 @@
curMenuEntries.append(new TVOSDMenuEntry(
Index: mythtv/libs/libmyth/audiooutputbase.h
===================================================================
---- mythtv/libs/libmyth/audiooutputbase.h (revision 25121)
+--- mythtv/libs/libmyth/audiooutputbase.h (revision 25135)
+++ mythtv/libs/libmyth/audiooutputbase.h (working copy)
@@ -16,6 +16,7 @@
@@ -142,16 +124,24 @@
#include "samplerate.h"
#include "mythverbose.h"
-@@ -44,6 +45,8 @@
+@@ -44,6 +45,7 @@
virtual void SetStretchFactor(float factor);
virtual float GetStretchFactor(void) const;
virtual bool ToggleUpmix(void);
+ virtual bool ToggleVuvuzela(void);
-+ virtual bool IsVuvuzela(void) { return vuvuzela; }
virtual void Reset(void);
-@@ -230,6 +233,10 @@
+@@ -57,7 +59,7 @@
+ virtual void SetTimecode(long long timecode);
+ virtual bool IsPaused(void) const { return audio_actually_paused; }
+ virtual void Pause(bool paused);
+- virtual bool CanPassthrough(void) const { return !need_resampler; }
++ virtual bool CanPassthrough(void) const { return !(need_resampler || vuvuzela); }
+
+ // Wait for all data to finish playing
+ virtual void Drain(void);
+@@ -231,6 +233,10 @@
/** main audio buffer */
unsigned char audiobuffer[kAudioRingBufferSize];
uint memory_corruption_test4;
@@ -166,13 +156,13 @@
===================================================================
--- mythtv/libs/libmyth/audiooutpututil.h (revision 0)
+++ mythtv/libs/libmyth/audiooutpututil.h (revision 0)
-@@ -0,0 +1,71 @@
+@@ -0,0 +1,272 @@
+#ifndef AUDIOOUTPUTUTIL
+#define AUDIOOUTPUTUTIL
+
+using namespace std;
+
-+#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
+
+class AudioOutputUtil
+{
@@ -196,20 +186,155 @@
+ float x_mem[IIR_NUM_COEFFICIENTS];
+ float y_mem[IIR_NUM_COEFFICIENTS];
+ } IIR_State;
++
++ // Instance
++ typedef struct
++ {
++ IIR_Parameters parameters;
++ IIR_State state;
++ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
++ } Notch_Parameters;
++
++ // State information
++
++ typedef struct
++ {
++ float pole_position;
++ float frequency_offset;
++ float a1s;
++ float a2;
++ float depth_factor;
++ } Notch_State;
++
++ // Instance
++ typedef struct
++ {
++ Notch_Parameters parameters;
++ Notch_State state;
++ IIR iir;
++ } Notch;
++
++ static void notch_update(Notch &instance, float fs);
++ static void notch_execute(Notch &instance, float *in, float *out);
++};
++
++#endif
++#ifndef AUDIOOUTPUTUTIL
++#define AUDIOOUTPUTUTIL
++
++using namespace std;
++
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++
++class AudioOutputUtil
++{
++ public:
++
++ //Notch Filter / IRR transformation
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ uint num_biquads;
++ float b[IIR_NUM_COEFFICIENTS];
++ float a[IIR_NUM_COEFFICIENTS];
++ } IIR_Parameters;
+
++ // State information
++ typedef struct
++ {
++ float a[IIR_NUM_COEFFICIENTS];
++ float b[IIR_NUM_COEFFICIENTS];
++ float x_mem[IIR_NUM_COEFFICIENTS];
++ float y_mem[IIR_NUM_COEFFICIENTS];
++ } IIR_State;
++
+ // Instance
+ typedef struct
+ {
+ IIR_Parameters parameters;
+ IIR_State state;
+ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
++ } Notch_Parameters;
++
++ // State information
++
++ typedef struct
++ {
++ float pole_position;
++ float frequency_offset;
++ float a1s;
++ float a2;
++ float depth_factor;
++ } Notch_State;
++
++ // Instance
++ typedef struct
++ {
++ Notch_Parameters parameters;
++ Notch_State state;
++ IIR iir;
++ } Notch;
++
++ static void notch_update(Notch &instance, float fs);
++ static void notch_execute(Notch &instance, float *in, float *out);
++};
++
++#endif
++#ifndef AUDIOOUTPUTUTIL
++#define AUDIOOUTPUTUTIL
++
++using namespace std;
++
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++
++class AudioOutputUtil
++{
++ public:
+
++ //Notch Filter / IRR transformation
+ // Parameters
+ typedef struct
+ {
+ uint N;
-+ float frequency; // Notch frequency
-+ float attenuation_dB; // Notch attenuation
++ uint num_biquads;
++ float b[IIR_NUM_COEFFICIENTS];
++ float a[IIR_NUM_COEFFICIENTS];
++ } IIR_Parameters;
++
++ // State information
++ typedef struct
++ {
++ float a[IIR_NUM_COEFFICIENTS];
++ float b[IIR_NUM_COEFFICIENTS];
++ float x_mem[IIR_NUM_COEFFICIENTS];
++ float y_mem[IIR_NUM_COEFFICIENTS];
++ } IIR_State;
++
++ // Instance
++ typedef struct
++ {
++ IIR_Parameters parameters;
++ IIR_State state;
++ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
+ } Notch_Parameters;
+
+ // State information
@@ -221,8 +346,6 @@
+ float a1s;
+ float a2;
+ float depth_factor;
-+ float w0; // Input weight
-+ float w1; // Output weight
+ } Notch_State;
+
+ // Instance
@@ -238,9 +361,83 @@
+};
+
+#endif
++#ifndef AUDIOOUTPUTUTIL
++#define AUDIOOUTPUTUTIL
++
++using namespace std;
++
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++
++class AudioOutputUtil
++{
++ public:
++
++ //Notch Filter / IRR transformation
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ uint num_biquads;
++ float b[IIR_NUM_COEFFICIENTS];
++ float a[IIR_NUM_COEFFICIENTS];
++ } IIR_Parameters;
++
++ // State information
++ typedef struct
++ {
++ float a[IIR_NUM_COEFFICIENTS];
++ float b[IIR_NUM_COEFFICIENTS];
++ float x_mem[IIR_NUM_COEFFICIENTS];
++ float y_mem[IIR_NUM_COEFFICIENTS];
++ } IIR_State;
++
++ // Instance
++ typedef struct
++ {
++ IIR_Parameters parameters;
++ IIR_State state;
++ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
++ } Notch_Parameters;
++
++ // State information
++
++ typedef struct
++ {
++ float pole_position;
++ float frequency_offset;
++ float a1s;
++ float a2;
++ float depth_factor;
++ } Notch_State;
++
++ // Instance
++ typedef struct
++ {
++ Notch_Parameters parameters;
++ Notch_State state;
++ IIR iir;
++ } Notch;
++
++ static void notch_update(Notch &instance, float fs);
++ static void notch_execute(Notch &instance, float *in, float *out);
++};
++
++#endif
+
+Property changes on: mythtv/libs/libmyth/audiooutpututil.h
+___________________________________________________________________
+Added: svn:executable
+ + *
+
Index: mythtv/libs/libmyth/audiooutputbase.cpp
===================================================================
---- mythtv/libs/libmyth/audiooutputbase.cpp (revision 25121)
+--- mythtv/libs/libmyth/audiooutputbase.cpp (revision 25135)
+++ mythtv/libs/libmyth/audiooutputbase.cpp (working copy)
@@ -13,6 +13,7 @@
#include "compat.h"
@@ -332,15 +529,7 @@
CloseDevice();
killAudioLock.unlock();
-@@ -790,7 +821,6 @@
- VERBOSE(VB_IMPORTANT, LOC_ERR +
- QString("Error occurred while resampling audio: %1")
- .arg(src_strerror(error)));
--
- src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
- src_data.output_frames_gen*audio_channels);
-
-@@ -844,7 +874,7 @@
+@@ -844,7 +875,7 @@
QMutexLocker lock1(&audio_buflock);
// resample input if necessary
@@ -349,7 +538,7 @@
{
// Convert to floats
short *buf_ptr = (short*)buffer;
-@@ -853,17 +883,47 @@
+@@ -854,17 +885,37 @@
src_in[sample] = (float)buf_ptr[sample] / (1.0 * 0x8000);
}
@@ -361,29 +550,20 @@
- QString("Error occurred while resampling audio: %1")
- .arg(src_strerror(error)));
- src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
-- src_data.output_frames_gen*audio_channels);
-+ if (vuvuzela)
+- (src_data.output_frames_gen*abps)/sizeof(short));
++ if (vuvuzela && notch_instance)
+ {
-+ notch_instance->parameters.N = samples * audio_channels;
-+ // Notch attenuation
-+ notch_instance->parameters.attenuation_dB = 35.0f;
-+
++ notch_instance->parameters.N = numSamples;
+
+- _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+ // Notch frequency
-+ notch_instance->parameters.frequency = 233.0f;
++ notch_instance->parameters.frequency = 235.0f;
+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
+ AudioOutputUtil::notch_execute (*notch_instance, src_in, src_out);
-+ notch_instance->parameters.frequency = 466.0f; // 1st harmonic
-+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
-+ AudioOutputUtil::notch_execute (*notch_instance, src_out, src_in);
-+ notch_instance->parameters.frequency = 932.0f; // 2nd harmonic
-+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
-+ AudioOutputUtil::notch_execute (*notch_instance, src_in, src_out);
-+ notch_instance->parameters.frequency = 1864.0f; // 3rd harmonic
++ notch_instance->parameters.frequency = 465.0f; // 1st harmonic
+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
+ AudioOutputUtil::notch_execute (*notch_instance, src_out, src_in);
+ }
-
-- _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+ if (need_resampler)
+ {
+ src_data.input_frames = samples;
@@ -394,14 +574,13 @@
+ QString("Error occurred while resampling audio: %1")
+ .arg(src_strerror(error)));
+ src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
-+ src_data.output_frames_gen*audio_channels);
++ (src_data.output_frames_gen*abps)/sizeof(short));
+
+ _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+ }
+ else
+ {
-+ src_float_to_short_array(src_in, (short int*)tmp_buff,
-+ samples * audio_channels);
++ src_float_to_short_array(src_in, (short int*)tmp_buff, numSamples);
+ _AddSamples(tmp_buff, true, samples, timecode);
+ }
}
@@ -409,7 +588,7 @@
{
Index: mythtv/libs/libmyth/libmyth.pro
===================================================================
---- mythtv/libs/libmyth/libmyth.pro (revision 25121)
+--- mythtv/libs/libmyth/libmyth.pro (revision 25135)
+++ mythtv/libs/libmyth/libmyth.pro (working copy)
@@ -30,7 +30,7 @@
HEADERS += audiopulseutil.h
@@ -431,14 +610,13 @@
SOURCES += virtualkeyboard_qt.cpp
Index: mythtv/libs/libmyth/audiooutput.h
===================================================================
---- mythtv/libs/libmyth/audiooutput.h (revision 25121)
+--- mythtv/libs/libmyth/audiooutput.h (revision 25135)
+++ mythtv/libs/libmyth/audiooutput.h (working copy)
-@@ -71,6 +71,8 @@
+@@ -72,6 +72,7 @@
virtual void bufferOutputData(bool y) = 0;
virtual int readOutputData(unsigned char *read_buffer, int max_length) = 0;
virtual bool ToggleUpmix(void) = 0;
+ virtual bool ToggleVuvuzela(void) = 0;
-+ virtual bool IsVuvuzela(void) = 0;
protected:
void Error(const QString &msg);
@@ -446,12 +624,12 @@
===================================================================
--- mythtv/libs/libmyth/audiooutpututil.cpp (revision 0)
+++ mythtv/libs/libmyth/audiooutpututil.cpp (revision 0)
-@@ -0,0 +1,143 @@
+@@ -0,0 +1,122 @@
+#include "dsputil.h"
+#include "mythconfig.h"
+#include "audiooutpututil.h"
+
-+#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
+
+static void iir_update (AudioOutputUtil::IIR &instance)
+{
@@ -481,45 +659,45 @@
+ float* x_mem, float* y_mem,
+ unsigned int N)
+{
-+ // Direct Form I
-+ // N+1 N+1
-+ // y(n) = - SUM a(k) y(n-k) + SUM b(k) x(n-k) for 0 <= n <length(x)
-+ // k=1 k=0
-+ unsigned int n = 0;
-+ unsigned int k = 0;
-+ float y_n_minus_k = 0.0f;
-+ float x_n_minus_k = 0.0f;
-+ for (n = 0; n < N; n++)
-+ {
-+ y[n] = x[n] * b[0];
-+
-+ for (k = 1; k < IIR_NUM_COEFFICIENTS; k++)
-+ {
-+ signed int n_minus_k = n - k;
-+ if (n_minus_k >= 0)
-+ {
-+ x_n_minus_k = x[n_minus_k];
-+ y_n_minus_k = y[n_minus_k];
-+ }
-+ else
-+ {
-+ x_n_minus_k = x_mem[-n_minus_k-1];
-+ y_n_minus_k = y_mem[-n_minus_k-1];
-+ }
-+
-+ y[n] -= a[k] * y_n_minus_k;
-+ y[n] += b[k] * x_n_minus_k;
-+ }
-+ }
-+
++ // Direct Form I
++ // N+1 N+1
++ // y(n) = - SUM a(k) y(n-k) + SUM b(k) x(n-k) for 0 <= n <length(x)
++ // k=1 k=0
++ unsigned int n = 0;
++ unsigned int k = 0;
++ float y_n_minus_k = 0.0f;
++ float x_n_minus_k = 0.0f;
++ for (n = 0; n < N; n++)
++ {
++ y[n] = x[n] * b[0];
++
++ for (k = 1; k < IIR_NUM_COEFFICIENTS; k++)
++ {
++ signed int n_minus_k = n - k;
++ if (n_minus_k >= 0)
++ {
++ x_n_minus_k = x[n_minus_k];
++ y_n_minus_k = y[n_minus_k];
++ }
++ else
++ {
++ x_n_minus_k = x_mem[-n_minus_k-1];
++ y_n_minus_k = y_mem[-n_minus_k-1];
++ }
++
++ y[n] -= a[k] * y_n_minus_k;
++ y[n] += b[k] * x_n_minus_k;
++ }
++ }
++
+ // Save input and output state, latest first
-+ unsigned int state_offset = N - 1;
-+ for (n=0; n < (IIR_NUM_COEFFICIENTS-1); n++)
-+ {
-+ x_mem[n] = x[state_offset];
-+ y_mem[n] = y[state_offset];
-+ state_offset--;
-+ }
++ unsigned int state_offset = N - 1;
++ for (n=0; n < (IIR_NUM_COEFFICIENTS-1); n++)
++ {
++ x_mem[n] = x[state_offset];
++ y_mem[n] = y[state_offset];
++ state_offset--;
++ }
+}
+
+static void iir_execute(AudioOutputUtil::IIR &instance, float* x, float* y)
@@ -535,45 +713,32 @@
+
+void AudioOutputUtil::notch_update (Notch &instance, float fs)
+{
-+ instance.state.pole_position = 0.99f;
-+ instance.state.frequency_offset = 0.0f; // in normalised frequency (1.0 = fs)
-+ instance.state.a1s = -instance.state.pole_position;
-+ instance.state.a2 = -(instance.state.pole_position * instance.state.pole_position);
-+ instance.state.depth_factor = 0.999f;
++ instance.state.pole_position = 0.99f;
++ instance.state.frequency_offset = 0.0f; // in normalised frequency (1.0 = fs)
++ instance.state.a1s = -instance.state.pole_position;
++ instance.state.a2 = -(instance.state.pole_position * instance.state.pole_position);
++ instance.state.depth_factor = 1.0f;
+
+ // Calculate filter coefficients
+ // Direct-form IIR
+ // Ref: http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt and others
-+ float normalised_notch_frequency = (2.0f * instance.parameters.frequency / fs);
-+ normalised_notch_frequency += instance.state.frequency_offset;
-+ float frequency_factor = -2.0f * cosf(PI_FLOAT * normalised_notch_frequency);
-+ float a1 = frequency_factor * instance.state.a1s;
-+ float a2 = instance.state.a2;
-+ float b1 = frequency_factor * instance.state.depth_factor;
-+ float b2 = instance.state.depth_factor * instance.state.depth_factor;
-+ instance.iir.parameters.N = instance.parameters.N;
-+ instance.iir.parameters.a[0] = 1.0f;
-+ instance.iir.parameters.a[1] = -a1;
-+ instance.iir.parameters.a[2] = -a2;
-+ instance.iir.parameters.b[0] = 1.0f;
-+ instance.iir.parameters.b[1] = b1;
-+ instance.iir.parameters.b[2] = b2;
++ float normalised_notch_frequency = (2.0f * instance.parameters.frequency / fs);
++ normalised_notch_frequency += instance.state.frequency_offset;
++ float frequency_factor = -2.0f * cosf(PI_FLOAT * normalised_notch_frequency);
++ float a1 = frequency_factor * instance.state.a1s;
++ float a2 = instance.state.a2;
++ float b1 = frequency_factor * instance.state.depth_factor;
++ float b2 = instance.state.depth_factor * instance.state.depth_factor;
++ instance.iir.parameters.N = instance.parameters.N;
++ instance.iir.parameters.a[0] = 1.0f;
++ instance.iir.parameters.a[1] = -a1;
++ instance.iir.parameters.a[2] = -a2;
++ instance.iir.parameters.b[0] = 1.0f;
++ instance.iir.parameters.b[1] = b1;
++ instance.iir.parameters.b[2] = b2;
+
+ // Initialise the IIR stage
-+ iir_update(instance.iir);
-+
-+ // The notch filter strongly attenuates at the notch frequency.
-+ // The output is the weighted sum of the input and the
-+ // notch-filtered input. The weights are calculated from the
-+ // attenuation parameters
-+ // instance.state.w0 = pow(10.0, (-instance.parameters.attenuation_dB / 20.0));
-+ // instance.state.w1 = 1.0 - instance.state.w0;
-+ float w0 = powf(10.0f, (-instance.parameters.attenuation_dB / 20.0f));
-+ float w1 = 1.0f - w0;
-+ instance.state.w0 = w0;
-+ instance.state.w1 = w1;
-+
-+ return;
++ iir_update(instance.iir);
+}
+
+// Processes a single block of samples
@@ -581,18 +746,16 @@
+{
+ // Apply the rejection filter
+ iir_execute(instance.iir, in, out);
-+
-+ // The output is the weighted sum of the input and the
-+ // notch-filtered input
-+ for (uint i=0; i < instance.parameters.N; i++)
-+ {
-+ out[i] *= instance.state.w1;
-+ out[i] += instance.state.w0 * in[i];
-+ }
+}
+
+Property changes on: mythtv/libs/libmyth/audiooutpututil.cpp
+___________________________________________________________________
+Added: svn:executable
+ + *
+
Index: mythtv/programs/mythfrontend/globalsettings.cpp
===================================================================
---- mythtv/programs/mythfrontend/globalsettings.cpp (revision 25121)
+--- mythtv/programs/mythfrontend/globalsettings.cpp (revision 25135)
+++ mythtv/programs/mythfrontend/globalsettings.cpp (working copy)
@@ -181,6 +181,17 @@
return gc;
@@ -622,23 +785,17 @@
Index: mythtv/programs/mythtranscode/transcode.cpp
===================================================================
---- mythtv/programs/mythtranscode/transcode.cpp (revision 25121)
+--- mythtv/programs/mythtranscode/transcode.cpp (revision 25135)
+++ mythtv/programs/mythtranscode/transcode.cpp (working copy)
-@@ -217,7 +217,16 @@
+@@ -222,6 +222,11 @@
// Do nothing
return false;
}
--
+ virtual bool ToggleVuvuzela(void)
+ {
+ // Do nothing
+ return false;
+ }
-+ virtual bool IsVuvuzela(void)
-+ {
-+ // Do nothing
-+ return false;
-+ }
+
virtual void SetSWVolume(int new_volume, bool save)
{
- // Do nothing
14 years, 5 months
rpms/mythtv/F-13 mythtv-0.23-shutup-vuvuzela.patch,1.1,1.2
by Jarod Wilson
Author: jarod
Update of /cvs/free/rpms/mythtv/F-13
In directory se02.es.rpmfusion.net:/tmp/cvs-serv11749
Modified Files:
mythtv-0.23-shutup-vuvuzela.patch
Log Message:
oops, need an updated vuvuzela killer
mythtv-0.23-shutup-vuvuzela.patch:
libs/libmyth/audiooutput.h | 1
libs/libmyth/audiooutputbase.cpp | 75 +++++++-
libs/libmyth/audiooutputbase.h | 8
libs/libmyth/audiooutpututil.cpp | 122 +++++++++++++
libs/libmyth/audiooutpututil.h | 272 +++++++++++++++++++++++++++++++
libs/libmyth/libmyth.pro | 4
libs/libmythtv/NuppelVideoPlayer.cpp | 10 +
libs/libmythtv/NuppelVideoPlayer.h | 1
libs/libmythtv/tv_play.cpp | 20 ++
libs/libmythtv/tv_play.h | 1
libs/libmythtv/tvosdmenuentry.cpp | 6
programs/mythfrontend/globalsettings.cpp | 12 +
programs/mythtranscode/transcode.cpp | 5
13 files changed, 522 insertions(+), 15 deletions(-)
Index: mythtv-0.23-shutup-vuvuzela.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-13/mythtv-0.23-shutup-vuvuzela.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythtv-0.23-shutup-vuvuzela.patch 17 Jun 2010 04:46:02 -0000 1.1
+++ mythtv-0.23-shutup-vuvuzela.patch 21 Jun 2010 15:10:44 -0000 1.2
@@ -1,8 +1,8 @@
Index: mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
===================================================================
---- mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (revision 25121)
+--- mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (revision 25135)
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (working copy)
-@@ -5134,6 +5134,21 @@
+@@ -5141,6 +5141,16 @@
return false;
}
@@ -16,29 +16,12 @@
+ return ret;
+}
+
-+bool NuppelVideoPlayer::IsVuvuzela()
-+{
-+ return audioOutput ? audioOutput->IsVuvuzela() : false;
-+}
-+
void NuppelVideoPlayer::Zoom(ZoomDirection direction)
{
if (videoOutput)
-Index: mythtv/libs/libmythtv/avformatdecoder.cpp
-===================================================================
---- mythtv/libs/libmythtv/avformatdecoder.cpp (revision 25121)
-+++ mythtv/libs/libmythtv/avformatdecoder.cpp (working copy)
-@@ -4639,6 +4639,7 @@
- else if (ctx->codec_id == CODEC_ID_DTS)
- passthru = allow_dts_passthru && !internal_vol;
-
-+ passthru &= !GetNVP()->IsVuvuzela();
- passthru &= !transcoding && !disable_passthru;
- // Don't know any cards that support spdif clocked at < 44100
- // Some US cable transmissions have 2ch 32k AC-3 streams
Index: mythtv/libs/libmythtv/tv_play.h
===================================================================
---- mythtv/libs/libmythtv/tv_play.h (revision 25121)
+--- mythtv/libs/libmythtv/tv_play.h (revision 25135)
+++ mythtv/libs/libmythtv/tv_play.h (working copy)
@@ -436,6 +436,7 @@
const QStringList &actions);
@@ -50,20 +33,19 @@
Index: mythtv/libs/libmythtv/NuppelVideoPlayer.h
===================================================================
---- mythtv/libs/libmythtv/NuppelVideoPlayer.h (revision 25121)
+--- mythtv/libs/libmythtv/NuppelVideoPlayer.h (revision 25135)
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.h (working copy)
-@@ -165,6 +165,8 @@
- void ToggleAspectOverride(AspectOverrideMode aspectMode = kAspect_Toggle);
+@@ -166,6 +166,7 @@
void ToggleAdjustFill(AdjustFillMode adjustfillMode = kAdjustFill_Toggle);
bool ToggleUpmix(void);
+ bool CanPassthrough(void);
+ bool ToggleVuvuzela(void);
-+ bool IsVuvuzela(void);
// Gets
QSize GetVideoBufferSize(void) const { return video_dim; }
Index: mythtv/libs/libmythtv/tv_play.cpp
===================================================================
---- mythtv/libs/libmythtv/tv_play.cpp (revision 25121)
+--- mythtv/libs/libmythtv/tv_play.cpp (revision 25135)
+++ mythtv/libs/libmythtv/tv_play.cpp (working copy)
@@ -4516,6 +4516,8 @@
ToggleTimeStretch(ctx);
@@ -115,7 +97,7 @@
else if (category == "VIDEOSCAN")
Index: mythtv/libs/libmythtv/tvosdmenuentry.cpp
===================================================================
---- mythtv/libs/libmythtv/tvosdmenuentry.cpp (revision 25121)
+--- mythtv/libs/libmythtv/tvosdmenuentry.cpp (revision 25135)
+++ mythtv/libs/libmythtv/tvosdmenuentry.cpp (working copy)
@@ -236,6 +236,12 @@
"AUDIOSYNC", 1, 1, 1, 1, "Audio Sync"));
@@ -132,7 +114,7 @@
curMenuEntries.append(new TVOSDMenuEntry(
Index: mythtv/libs/libmyth/audiooutputbase.h
===================================================================
---- mythtv/libs/libmyth/audiooutputbase.h (revision 25121)
+--- mythtv/libs/libmyth/audiooutputbase.h (revision 25135)
+++ mythtv/libs/libmyth/audiooutputbase.h (working copy)
@@ -16,6 +16,7 @@
@@ -142,16 +124,24 @@
#include "samplerate.h"
#include "mythverbose.h"
-@@ -44,6 +45,8 @@
+@@ -44,6 +45,7 @@
virtual void SetStretchFactor(float factor);
virtual float GetStretchFactor(void) const;
virtual bool ToggleUpmix(void);
+ virtual bool ToggleVuvuzela(void);
-+ virtual bool IsVuvuzela(void) { return vuvuzela; }
virtual void Reset(void);
-@@ -230,6 +233,10 @@
+@@ -57,7 +59,7 @@
+ virtual void SetTimecode(long long timecode);
+ virtual bool IsPaused(void) const { return audio_actually_paused; }
+ virtual void Pause(bool paused);
+- virtual bool CanPassthrough(void) const { return !need_resampler; }
++ virtual bool CanPassthrough(void) const { return !(need_resampler || vuvuzela); }
+
+ // Wait for all data to finish playing
+ virtual void Drain(void);
+@@ -231,6 +233,10 @@
/** main audio buffer */
unsigned char audiobuffer[kAudioRingBufferSize];
uint memory_corruption_test4;
@@ -166,13 +156,13 @@
===================================================================
--- mythtv/libs/libmyth/audiooutpututil.h (revision 0)
+++ mythtv/libs/libmyth/audiooutpututil.h (revision 0)
-@@ -0,0 +1,71 @@
+@@ -0,0 +1,272 @@
+#ifndef AUDIOOUTPUTUTIL
+#define AUDIOOUTPUTUTIL
+
+using namespace std;
+
-+#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
+
+class AudioOutputUtil
+{
@@ -196,20 +186,155 @@
+ float x_mem[IIR_NUM_COEFFICIENTS];
+ float y_mem[IIR_NUM_COEFFICIENTS];
+ } IIR_State;
++
++ // Instance
++ typedef struct
++ {
++ IIR_Parameters parameters;
++ IIR_State state;
++ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
++ } Notch_Parameters;
++
++ // State information
++
++ typedef struct
++ {
++ float pole_position;
++ float frequency_offset;
++ float a1s;
++ float a2;
++ float depth_factor;
++ } Notch_State;
++
++ // Instance
++ typedef struct
++ {
++ Notch_Parameters parameters;
++ Notch_State state;
++ IIR iir;
++ } Notch;
++
++ static void notch_update(Notch &instance, float fs);
++ static void notch_execute(Notch &instance, float *in, float *out);
++};
++
++#endif
++#ifndef AUDIOOUTPUTUTIL
++#define AUDIOOUTPUTUTIL
++
++using namespace std;
++
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++
++class AudioOutputUtil
++{
++ public:
++
++ //Notch Filter / IRR transformation
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ uint num_biquads;
++ float b[IIR_NUM_COEFFICIENTS];
++ float a[IIR_NUM_COEFFICIENTS];
++ } IIR_Parameters;
+
++ // State information
++ typedef struct
++ {
++ float a[IIR_NUM_COEFFICIENTS];
++ float b[IIR_NUM_COEFFICIENTS];
++ float x_mem[IIR_NUM_COEFFICIENTS];
++ float y_mem[IIR_NUM_COEFFICIENTS];
++ } IIR_State;
++
+ // Instance
+ typedef struct
+ {
+ IIR_Parameters parameters;
+ IIR_State state;
+ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
++ } Notch_Parameters;
++
++ // State information
++
++ typedef struct
++ {
++ float pole_position;
++ float frequency_offset;
++ float a1s;
++ float a2;
++ float depth_factor;
++ } Notch_State;
++
++ // Instance
++ typedef struct
++ {
++ Notch_Parameters parameters;
++ Notch_State state;
++ IIR iir;
++ } Notch;
++
++ static void notch_update(Notch &instance, float fs);
++ static void notch_execute(Notch &instance, float *in, float *out);
++};
++
++#endif
++#ifndef AUDIOOUTPUTUTIL
++#define AUDIOOUTPUTUTIL
++
++using namespace std;
++
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++
++class AudioOutputUtil
++{
++ public:
+
++ //Notch Filter / IRR transformation
+ // Parameters
+ typedef struct
+ {
+ uint N;
-+ float frequency; // Notch frequency
-+ float attenuation_dB; // Notch attenuation
++ uint num_biquads;
++ float b[IIR_NUM_COEFFICIENTS];
++ float a[IIR_NUM_COEFFICIENTS];
++ } IIR_Parameters;
++
++ // State information
++ typedef struct
++ {
++ float a[IIR_NUM_COEFFICIENTS];
++ float b[IIR_NUM_COEFFICIENTS];
++ float x_mem[IIR_NUM_COEFFICIENTS];
++ float y_mem[IIR_NUM_COEFFICIENTS];
++ } IIR_State;
++
++ // Instance
++ typedef struct
++ {
++ IIR_Parameters parameters;
++ IIR_State state;
++ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
+ } Notch_Parameters;
+
+ // State information
@@ -221,8 +346,6 @@
+ float a1s;
+ float a2;
+ float depth_factor;
-+ float w0; // Input weight
-+ float w1; // Output weight
+ } Notch_State;
+
+ // Instance
@@ -238,9 +361,83 @@
+};
+
+#endif
++#ifndef AUDIOOUTPUTUTIL
++#define AUDIOOUTPUTUTIL
++
++using namespace std;
++
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++
++class AudioOutputUtil
++{
++ public:
++
++ //Notch Filter / IRR transformation
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ uint num_biquads;
++ float b[IIR_NUM_COEFFICIENTS];
++ float a[IIR_NUM_COEFFICIENTS];
++ } IIR_Parameters;
++
++ // State information
++ typedef struct
++ {
++ float a[IIR_NUM_COEFFICIENTS];
++ float b[IIR_NUM_COEFFICIENTS];
++ float x_mem[IIR_NUM_COEFFICIENTS];
++ float y_mem[IIR_NUM_COEFFICIENTS];
++ } IIR_State;
++
++ // Instance
++ typedef struct
++ {
++ IIR_Parameters parameters;
++ IIR_State state;
++ } IIR;
++
++ // Parameters
++ typedef struct
++ {
++ uint N;
++ float frequency; // Notch frequency
++ } Notch_Parameters;
++
++ // State information
++
++ typedef struct
++ {
++ float pole_position;
++ float frequency_offset;
++ float a1s;
++ float a2;
++ float depth_factor;
++ } Notch_State;
++
++ // Instance
++ typedef struct
++ {
++ Notch_Parameters parameters;
++ Notch_State state;
++ IIR iir;
++ } Notch;
++
++ static void notch_update(Notch &instance, float fs);
++ static void notch_execute(Notch &instance, float *in, float *out);
++};
++
++#endif
+
+Property changes on: mythtv/libs/libmyth/audiooutpututil.h
+___________________________________________________________________
+Added: svn:executable
+ + *
+
Index: mythtv/libs/libmyth/audiooutputbase.cpp
===================================================================
---- mythtv/libs/libmyth/audiooutputbase.cpp (revision 25121)
+--- mythtv/libs/libmyth/audiooutputbase.cpp (revision 25135)
+++ mythtv/libs/libmyth/audiooutputbase.cpp (working copy)
@@ -13,6 +13,7 @@
#include "compat.h"
@@ -332,15 +529,7 @@
CloseDevice();
killAudioLock.unlock();
-@@ -790,7 +821,6 @@
- VERBOSE(VB_IMPORTANT, LOC_ERR +
- QString("Error occurred while resampling audio: %1")
- .arg(src_strerror(error)));
--
- src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
- src_data.output_frames_gen*audio_channels);
-
-@@ -844,7 +874,7 @@
+@@ -844,7 +875,7 @@
QMutexLocker lock1(&audio_buflock);
// resample input if necessary
@@ -349,7 +538,7 @@
{
// Convert to floats
short *buf_ptr = (short*)buffer;
-@@ -853,17 +883,47 @@
+@@ -854,17 +885,37 @@
src_in[sample] = (float)buf_ptr[sample] / (1.0 * 0x8000);
}
@@ -361,29 +550,20 @@
- QString("Error occurred while resampling audio: %1")
- .arg(src_strerror(error)));
- src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
-- src_data.output_frames_gen*audio_channels);
-+ if (vuvuzela)
+- (src_data.output_frames_gen*abps)/sizeof(short));
++ if (vuvuzela && notch_instance)
+ {
-+ notch_instance->parameters.N = samples * audio_channels;
-+ // Notch attenuation
-+ notch_instance->parameters.attenuation_dB = 35.0f;
-+
++ notch_instance->parameters.N = numSamples;
+
+- _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+ // Notch frequency
-+ notch_instance->parameters.frequency = 233.0f;
++ notch_instance->parameters.frequency = 235.0f;
+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
+ AudioOutputUtil::notch_execute (*notch_instance, src_in, src_out);
-+ notch_instance->parameters.frequency = 466.0f; // 1st harmonic
-+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
-+ AudioOutputUtil::notch_execute (*notch_instance, src_out, src_in);
-+ notch_instance->parameters.frequency = 932.0f; // 2nd harmonic
-+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
-+ AudioOutputUtil::notch_execute (*notch_instance, src_in, src_out);
-+ notch_instance->parameters.frequency = 1864.0f; // 3rd harmonic
++ notch_instance->parameters.frequency = 465.0f; // 1st harmonic
+ AudioOutputUtil::notch_update (*notch_instance, (float)source_audio_samplerate);
+ AudioOutputUtil::notch_execute (*notch_instance, src_out, src_in);
+ }
-
-- _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+ if (need_resampler)
+ {
+ src_data.input_frames = samples;
@@ -394,14 +574,13 @@
+ QString("Error occurred while resampling audio: %1")
+ .arg(src_strerror(error)));
+ src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
-+ src_data.output_frames_gen*audio_channels);
++ (src_data.output_frames_gen*abps)/sizeof(short));
+
+ _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+ }
+ else
+ {
-+ src_float_to_short_array(src_in, (short int*)tmp_buff,
-+ samples * audio_channels);
++ src_float_to_short_array(src_in, (short int*)tmp_buff, numSamples);
+ _AddSamples(tmp_buff, true, samples, timecode);
+ }
}
@@ -409,7 +588,7 @@
{
Index: mythtv/libs/libmyth/libmyth.pro
===================================================================
---- mythtv/libs/libmyth/libmyth.pro (revision 25121)
+--- mythtv/libs/libmyth/libmyth.pro (revision 25135)
+++ mythtv/libs/libmyth/libmyth.pro (working copy)
@@ -30,7 +30,7 @@
HEADERS += audiopulseutil.h
@@ -431,14 +610,13 @@
SOURCES += virtualkeyboard_qt.cpp
Index: mythtv/libs/libmyth/audiooutput.h
===================================================================
---- mythtv/libs/libmyth/audiooutput.h (revision 25121)
+--- mythtv/libs/libmyth/audiooutput.h (revision 25135)
+++ mythtv/libs/libmyth/audiooutput.h (working copy)
-@@ -71,6 +71,8 @@
+@@ -72,6 +72,7 @@
virtual void bufferOutputData(bool y) = 0;
virtual int readOutputData(unsigned char *read_buffer, int max_length) = 0;
virtual bool ToggleUpmix(void) = 0;
+ virtual bool ToggleVuvuzela(void) = 0;
-+ virtual bool IsVuvuzela(void) = 0;
protected:
void Error(const QString &msg);
@@ -446,12 +624,12 @@
===================================================================
--- mythtv/libs/libmyth/audiooutpututil.cpp (revision 0)
+++ mythtv/libs/libmyth/audiooutpututil.cpp (revision 0)
-@@ -0,0 +1,143 @@
+@@ -0,0 +1,122 @@
+#include "dsputil.h"
+#include "mythconfig.h"
+#include "audiooutpututil.h"
+
-+#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
++#define IIR_NUM_COEFFICIENTS (3) // Assumed biquads
+
+static void iir_update (AudioOutputUtil::IIR &instance)
+{
@@ -481,45 +659,45 @@
+ float* x_mem, float* y_mem,
+ unsigned int N)
+{
-+ // Direct Form I
-+ // N+1 N+1
-+ // y(n) = - SUM a(k) y(n-k) + SUM b(k) x(n-k) for 0 <= n <length(x)
-+ // k=1 k=0
-+ unsigned int n = 0;
-+ unsigned int k = 0;
-+ float y_n_minus_k = 0.0f;
-+ float x_n_minus_k = 0.0f;
-+ for (n = 0; n < N; n++)
-+ {
-+ y[n] = x[n] * b[0];
-+
-+ for (k = 1; k < IIR_NUM_COEFFICIENTS; k++)
-+ {
-+ signed int n_minus_k = n - k;
-+ if (n_minus_k >= 0)
-+ {
-+ x_n_minus_k = x[n_minus_k];
-+ y_n_minus_k = y[n_minus_k];
-+ }
-+ else
-+ {
-+ x_n_minus_k = x_mem[-n_minus_k-1];
-+ y_n_minus_k = y_mem[-n_minus_k-1];
-+ }
-+
-+ y[n] -= a[k] * y_n_minus_k;
-+ y[n] += b[k] * x_n_minus_k;
-+ }
-+ }
-+
++ // Direct Form I
++ // N+1 N+1
++ // y(n) = - SUM a(k) y(n-k) + SUM b(k) x(n-k) for 0 <= n <length(x)
++ // k=1 k=0
++ unsigned int n = 0;
++ unsigned int k = 0;
++ float y_n_minus_k = 0.0f;
++ float x_n_minus_k = 0.0f;
++ for (n = 0; n < N; n++)
++ {
++ y[n] = x[n] * b[0];
++
++ for (k = 1; k < IIR_NUM_COEFFICIENTS; k++)
++ {
++ signed int n_minus_k = n - k;
++ if (n_minus_k >= 0)
++ {
++ x_n_minus_k = x[n_minus_k];
++ y_n_minus_k = y[n_minus_k];
++ }
++ else
++ {
++ x_n_minus_k = x_mem[-n_minus_k-1];
++ y_n_minus_k = y_mem[-n_minus_k-1];
++ }
++
++ y[n] -= a[k] * y_n_minus_k;
++ y[n] += b[k] * x_n_minus_k;
++ }
++ }
++
+ // Save input and output state, latest first
-+ unsigned int state_offset = N - 1;
-+ for (n=0; n < (IIR_NUM_COEFFICIENTS-1); n++)
-+ {
-+ x_mem[n] = x[state_offset];
-+ y_mem[n] = y[state_offset];
-+ state_offset--;
-+ }
++ unsigned int state_offset = N - 1;
++ for (n=0; n < (IIR_NUM_COEFFICIENTS-1); n++)
++ {
++ x_mem[n] = x[state_offset];
++ y_mem[n] = y[state_offset];
++ state_offset--;
++ }
+}
+
+static void iir_execute(AudioOutputUtil::IIR &instance, float* x, float* y)
@@ -535,45 +713,32 @@
+
+void AudioOutputUtil::notch_update (Notch &instance, float fs)
+{
-+ instance.state.pole_position = 0.99f;
-+ instance.state.frequency_offset = 0.0f; // in normalised frequency (1.0 = fs)
-+ instance.state.a1s = -instance.state.pole_position;
-+ instance.state.a2 = -(instance.state.pole_position * instance.state.pole_position);
-+ instance.state.depth_factor = 0.999f;
++ instance.state.pole_position = 0.99f;
++ instance.state.frequency_offset = 0.0f; // in normalised frequency (1.0 = fs)
++ instance.state.a1s = -instance.state.pole_position;
++ instance.state.a2 = -(instance.state.pole_position * instance.state.pole_position);
++ instance.state.depth_factor = 1.0f;
+
+ // Calculate filter coefficients
+ // Direct-form IIR
+ // Ref: http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt and others
-+ float normalised_notch_frequency = (2.0f * instance.parameters.frequency / fs);
-+ normalised_notch_frequency += instance.state.frequency_offset;
-+ float frequency_factor = -2.0f * cosf(PI_FLOAT * normalised_notch_frequency);
-+ float a1 = frequency_factor * instance.state.a1s;
-+ float a2 = instance.state.a2;
-+ float b1 = frequency_factor * instance.state.depth_factor;
-+ float b2 = instance.state.depth_factor * instance.state.depth_factor;
-+ instance.iir.parameters.N = instance.parameters.N;
-+ instance.iir.parameters.a[0] = 1.0f;
-+ instance.iir.parameters.a[1] = -a1;
-+ instance.iir.parameters.a[2] = -a2;
-+ instance.iir.parameters.b[0] = 1.0f;
-+ instance.iir.parameters.b[1] = b1;
-+ instance.iir.parameters.b[2] = b2;
++ float normalised_notch_frequency = (2.0f * instance.parameters.frequency / fs);
++ normalised_notch_frequency += instance.state.frequency_offset;
++ float frequency_factor = -2.0f * cosf(PI_FLOAT * normalised_notch_frequency);
++ float a1 = frequency_factor * instance.state.a1s;
++ float a2 = instance.state.a2;
++ float b1 = frequency_factor * instance.state.depth_factor;
++ float b2 = instance.state.depth_factor * instance.state.depth_factor;
++ instance.iir.parameters.N = instance.parameters.N;
++ instance.iir.parameters.a[0] = 1.0f;
++ instance.iir.parameters.a[1] = -a1;
++ instance.iir.parameters.a[2] = -a2;
++ instance.iir.parameters.b[0] = 1.0f;
++ instance.iir.parameters.b[1] = b1;
++ instance.iir.parameters.b[2] = b2;
+
+ // Initialise the IIR stage
-+ iir_update(instance.iir);
-+
-+ // The notch filter strongly attenuates at the notch frequency.
-+ // The output is the weighted sum of the input and the
-+ // notch-filtered input. The weights are calculated from the
-+ // attenuation parameters
-+ // instance.state.w0 = pow(10.0, (-instance.parameters.attenuation_dB / 20.0));
-+ // instance.state.w1 = 1.0 - instance.state.w0;
-+ float w0 = powf(10.0f, (-instance.parameters.attenuation_dB / 20.0f));
-+ float w1 = 1.0f - w0;
-+ instance.state.w0 = w0;
-+ instance.state.w1 = w1;
-+
-+ return;
++ iir_update(instance.iir);
+}
+
+// Processes a single block of samples
@@ -581,18 +746,16 @@
+{
+ // Apply the rejection filter
+ iir_execute(instance.iir, in, out);
-+
-+ // The output is the weighted sum of the input and the
-+ // notch-filtered input
-+ for (uint i=0; i < instance.parameters.N; i++)
-+ {
-+ out[i] *= instance.state.w1;
-+ out[i] += instance.state.w0 * in[i];
-+ }
+}
+
+Property changes on: mythtv/libs/libmyth/audiooutpututil.cpp
+___________________________________________________________________
+Added: svn:executable
+ + *
+
Index: mythtv/programs/mythfrontend/globalsettings.cpp
===================================================================
---- mythtv/programs/mythfrontend/globalsettings.cpp (revision 25121)
+--- mythtv/programs/mythfrontend/globalsettings.cpp (revision 25135)
+++ mythtv/programs/mythfrontend/globalsettings.cpp (working copy)
@@ -181,6 +181,17 @@
return gc;
@@ -622,23 +785,17 @@
Index: mythtv/programs/mythtranscode/transcode.cpp
===================================================================
---- mythtv/programs/mythtranscode/transcode.cpp (revision 25121)
+--- mythtv/programs/mythtranscode/transcode.cpp (revision 25135)
+++ mythtv/programs/mythtranscode/transcode.cpp (working copy)
-@@ -217,7 +217,16 @@
+@@ -222,6 +222,11 @@
// Do nothing
return false;
}
--
+ virtual bool ToggleVuvuzela(void)
+ {
+ // Do nothing
+ return false;
+ }
-+ virtual bool IsVuvuzela(void)
-+ {
-+ // Do nothing
-+ return false;
-+ }
+
virtual void SetSWVolume(int new_volume, bool save)
{
- // Do nothing
14 years, 5 months
rpms/mythtv/F-12 mythbackend.init, 1.3, 1.4 mythtv-0.23-svnfixes.patch, 1.3, 1.4 mythtv.spec, 1.69, 1.70
by Jarod Wilson
Author: jarod
Update of /cvs/free/rpms/mythtv/F-12
In directory se02.es.rpmfusion.net:/tmp/cvs-serv10538
Modified Files:
mythbackend.init mythtv-0.23-svnfixes.patch mythtv.spec
Log Message:
* Mon Jun 21 2010 Jarod Wilson <jarod(a)wilsonet.com> 0.23-5
- Update to release-0-23-fixes branch, svn revision 25150
- Further improvements to run as non-root (rpmfusion bz#1295)
- One more try at a 32-bit x86 F11 i586 build w/both mmx and no cmov
Index: mythbackend.init
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-12/mythbackend.init,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mythbackend.init 18 Jun 2010 12:00:22 -0000 1.3
+++ mythbackend.init 21 Jun 2010 14:51:40 -0000 1.4
@@ -29,7 +29,8 @@
touch /var/run/mythbackend.pid
if [ "${MYTHBACKEND_USER}" != root ]; then
chown ${MYTHBACKEND_USER}:${MYTHBACKEND_USER} /var/run/mythbackend.pid
- /usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rw- -R /dev/dvb/
+ /usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rwx -R /dev/dvb/
+ /usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rwx -R /dev/snd/
/usr/bin/setfacl -m u:${MYTHBACKEND_USER}:rw- /dev/video*
fi
export MYTHCONFDIR="$MYTHTV_HOME"
@@ -47,6 +48,7 @@
RETVAL=$?
if [ "${MYTHBACKEND_USER}" != root ]; then
/usr/bin/setfacl -x u:${MYTHBACKEND_USER} -R /dev/dvb/
+ /usr/bin/setfacl -x u:${MYTHBACKEND_USER} -R /dev/snd/
/usr/bin/setfacl -x u:${MYTHBACKEND_USER} /dev/video*
fi
echo
mythtv-0.23-svnfixes.patch:
VERSION | 1
bindings/perl/IO/Socket/INET/MythTV.pm | 4 -
bindings/perl/MythTV.pm | 11 +-
bindings/perl/MythTV/Channel.pm | 64 ++++++++--------
bindings/perl/MythTV/Program.pm | 4 -
bindings/perl/MythTV/Recording.pm | 4 -
bindings/perl/MythTV/StorageGroup.pm | 4 -
bindings/python/MythTV/MythData.py | 4 -
bindings/python/MythTV/MythFunc.py | 13 ++-
configure | 18 ++--
contrib/config_files/lirc/lircrc.native.example.mceusb2 | 2
contrib/icons/master_iconmap/channel_icons.pl | 4 -
contrib/maintenance/flush_deleted_recgroup.pl | 4 -
contrib/maintenance/optimize_mythdb.pl | 4 -
contrib/user_jobs/firewire_primer.pl | 4 -
contrib/user_jobs/mythlink.pl | 4 -
libs/libavcodec/libavcodec.pro | 5 -
libs/libmyth/audiooutput.h | 1
libs/libmyth/audiooutputbase.cpp | 5 -
libs/libmyth/audiooutputbase.h | 1
libs/libmyth/audiooutputpulse.cpp | 13 ++-
libs/libmyth/mediamonitor-darwin.cpp | 29 +++++--
libs/libmyth/mythcontext.cpp | 9 +-
libs/libmyth/schemawizard.cpp | 17 ++++
libs/libmythdb/mythdirs.cpp | 5 -
libs/libmythdb/mythsocket.cpp | 19 ++++
libs/libmythdb/mythsocket.h | 4 +
libs/libmythdb/mythsocketthread.cpp | 4 -
libs/libmythdb/mythversion.h | 6 -
libs/libmythdvdnav/libmythdvdnav.pro | 3
libs/libmythsoundtouch/AAFilter.cpp | 2
libs/libmythsoundtouch/AAFilter.h | 2
libs/libmythsoundtouch/BPMDetect.h | 2
libs/libmythsoundtouch/FIFOSampleBuffer.cpp | 2
libs/libmythsoundtouch/FIFOSampleBuffer.h | 2
libs/libmythsoundtouch/FIFOSamplePipe.h | 2
libs/libmythsoundtouch/FIRFilter.cpp | 2
libs/libmythsoundtouch/FIRFilter.h | 2
libs/libmythsoundtouch/RateTransposer.cpp | 2
libs/libmythsoundtouch/RateTransposer.h | 2
libs/libmythsoundtouch/STTypes.h | 2
libs/libmythsoundtouch/SoundTouch.cpp | 2
libs/libmythsoundtouch/SoundTouch.h | 2
libs/libmythsoundtouch/TDStretch.cpp | 2
libs/libmythsoundtouch/TDStretch.h | 2
libs/libmythsoundtouch/cpu_detect.h | 2
libs/libmythsoundtouch/cpu_detect_x86_gcc.cpp | 2
libs/libmythsoundtouch/mmx_gcc.cpp | 2
libs/libmythtv/NuppelVideoPlayer.cpp | 7 +
libs/libmythtv/NuppelVideoPlayer.h | 1
libs/libmythtv/avformatdecoder.cpp | 33 +++++++-
libs/libmythtv/dbcheck.cpp | 9 --
libs/libmythtv/jobqueue.h | 1
libs/libmythtv/tv_play.cpp | 19 +---
libs/libmythtv/tv_play.h | 2
libs/libmythtv/videoout_d3d.cpp | 4 -
libs/libmythtv/videoout_d3d.h | 2
libs/libmythtv/videoout_quartz.cpp | 9 +-
libs/libmythtv/videoout_quartz.h | 2
libs/libmythui/mythfontmanager.cpp | 6 -
libs/libmythui/mythmainwindow.cpp | 12 +--
libs/libmythui/mythsystem.cpp | 4 -
libs/libmythui/mythuitext.cpp | 12 +--
libs/libmythui/xmlparsebase.cpp | 6 -
libs/libswscale/libswscale.pro | 6 +
programs/mythbackend/filetransfer.cpp | 3
programs/mythbackend/main.cpp | 7 +
programs/mythbackend/mainserver.cpp | 11 --
programs/mythcommflag/main.cpp | 35 +++++++-
programs/mythtranscode/transcode.cpp | 5 +
programs/mythtv-setup/main.cpp | 2
settings.pro | 2
version.pro | 2
73 files changed, 324 insertions(+), 184 deletions(-)
Index: mythtv-0.23-svnfixes.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-12/mythtv-0.23-svnfixes.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mythtv-0.23-svnfixes.patch 18 Jun 2010 12:00:23 -0000 1.3
+++ mythtv-0.23-svnfixes.patch 21 Jun 2010 14:51:40 -0000 1.4
@@ -406,6 +406,50 @@
QMAKE_CFLAGS_SHLIB =
}
+diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutputbase.cpp mythtv-0.23/libs/libmyth/audiooutputbase.cpp
+--- mythtv-0.23-release/libs/libmyth/audiooutputbase.cpp 2010-04-14 06:36:02.000000000 -0400
++++ mythtv-0.23/libs/libmyth/audiooutputbase.cpp 2010-06-18 06:50:18.720005000 -0400
+@@ -848,7 +848,8 @@ bool AudioOutputBase::AddSamples(char *b
+ {
+ // Convert to floats
+ short *buf_ptr = (short*)buffer;
+- for (int sample = 0; sample < samples * audio_channels; sample++)
++ int numSamples = (samples * abps) / sizeof(short);
++ for (int sample = 0; sample < numSamples; sample++)
+ {
+ src_in[sample] = (float)buf_ptr[sample] / (1.0 * 0x8000);
+ }
+@@ -861,7 +862,7 @@ bool AudioOutputBase::AddSamples(char *b
+ QString("Error occurred while resampling audio: %1")
+ .arg(src_strerror(error)));
+ src_float_to_short_array(src_data.data_out, (short int*)tmp_buff,
+- src_data.output_frames_gen*audio_channels);
++ (src_data.output_frames_gen*abps)/sizeof(short));
+
+ _AddSamples(tmp_buff, true, src_data.output_frames_gen, timecode);
+ }
+diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutputbase.h mythtv-0.23/libs/libmyth/audiooutputbase.h
+--- mythtv-0.23-release/libs/libmyth/audiooutputbase.h 2009-11-14 04:49:04.000000000 -0500
++++ mythtv-0.23/libs/libmyth/audiooutputbase.h 2010-06-18 06:50:18.720005000 -0400
+@@ -57,6 +57,7 @@ class AudioOutputBase : public AudioOutp
+ virtual void SetTimecode(long long timecode);
+ virtual bool IsPaused(void) const { return audio_actually_paused; }
+ virtual void Pause(bool paused);
++ virtual bool CanPassthrough(void) const { return !need_resampler; }
+
+ // Wait for all data to finish playing
+ virtual void Drain(void);
+diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutput.h mythtv-0.23/libs/libmyth/audiooutput.h
+--- mythtv-0.23-release/libs/libmyth/audiooutput.h 2009-10-13 22:57:05.000000000 -0400
++++ mythtv-0.23/libs/libmyth/audiooutput.h 2010-06-18 06:50:18.720005000 -0400
+@@ -49,6 +49,7 @@ class MPUBLIC AudioOutput : public Volum
+ virtual void SetTimecode(long long timecode) = 0;
+ virtual bool IsPaused(void) const = 0;
+ virtual void Pause(bool paused) = 0;
++ virtual bool CanPassthrough(void) const = 0;
+
+ // Wait for all data to finish playing
+ virtual void Drain(void) = 0;
diff -Naurp mythtv-0.23-release/libs/libmyth/audiooutputpulse.cpp mythtv-0.23/libs/libmyth/audiooutputpulse.cpp
--- mythtv-0.23-release/libs/libmyth/audiooutputpulse.cpp 2009-11-16 11:18:35.000000000 -0500
+++ mythtv-0.23/libs/libmyth/audiooutputpulse.cpp 2010-06-07 23:31:50.923907000 -0400
@@ -429,6 +473,75 @@
soundcard_buffer_size = 16 * fragment_size;
buffer_settings.maxlength = soundcard_buffer_size;
buffer_settings.tlength = fragment_size * 4;
+diff -Naurp mythtv-0.23-release/libs/libmyth/mediamonitor-darwin.cpp mythtv-0.23/libs/libmyth/mediamonitor-darwin.cpp
+--- mythtv-0.23-release/libs/libmyth/mediamonitor-darwin.cpp 2009-11-28 10:55:09.000000000 -0500
++++ mythtv-0.23/libs/libmyth/mediamonitor-darwin.cpp 2010-06-17 23:48:36.374058000 -0400
+@@ -1,7 +1,7 @@
+ /**
+ * \file mediamonitor-darwin.cpp
+ * \brief MythMediaMonitor for Darwin/Mac OS X.
+- * \version $Id$
++ * \version $Id$
+ * \author Andrew Kimpton, Nigel Pearson
+ */
+
+@@ -178,11 +178,11 @@ static char * getVolName(CFDictionaryRef
+
+ name = (CFStringRef)
+ CFDictionaryGetValue(diskDetails, kDADiskDescriptionVolumeNameKey);
+- if (name)
+- size = CFStringGetLength(name) + 1;
+- else
+- size = 9; // 'Untitled\0'
+
++ if (!name)
++ return NULL;
++
++ size = CFStringGetLength(name) + 1;
+ volName = (char *) malloc(size);
+ if (!volName)
+ {
+@@ -191,9 +191,11 @@ static char * getVolName(CFDictionaryRef
+ return NULL;
+ }
+
+- if (!name || !CFStringGetCString(name, volName, size,
+- kCFStringEncodingUTF8))
+- strcpy(volName, "Untitled");
++ if (!CFStringGetCString(name, volName, size, kCFStringEncodingUTF8))
++ {
++ free(volName);
++ return NULL;
++ }
+
+ return volName;
+ }
+@@ -291,8 +293,14 @@ void diskAppearedCallback(DADiskRef disk
+
+ // Get the volume and model name for more user-friendly interaction
+ volName = getVolName(details);
+- model = getModel(details);
++ if (!volName)
++ {
++ VERBOSE(VB_MEDIA, msg + "No volume name for dev " + BSDname);
++ CFRelease(details);
++ return;
++ }
+
++ model = getModel(details);
+ mediaType = MediaTypeForBSDName(BSDname);
+ isCDorDVD = (mediaType == MEDIATYPE_DVD) || (mediaType == MEDIATYPE_AUDIO);
+
+@@ -326,6 +334,9 @@ void diskChangedCallback(DADiskRef disk,
+ CFDictionaryRef details = DADiskCopyDescription(disk);
+ char *volName = getVolName(details);
+
++ VERBOSE(VB_MEDIA, QString("Disk %1 - changed name to '%2'.")
++ .arg(BSDname).arg(volName));
++
+ reinterpret_cast<MonitorThreadDarwin *>(context)
+ ->diskRename(BSDname, volName);
+ CFRelease(details);
diff -Naurp mythtv-0.23-release/libs/libmyth/mythcontext.cpp mythtv-0.23/libs/libmyth/mythcontext.cpp
--- mythtv-0.23-release/libs/libmyth/mythcontext.cpp 2010-03-23 20:43:43.000000000 -0400
+++ mythtv-0.23/libs/libmyth/mythcontext.cpp 2010-05-14 18:39:42.189261000 -0400
@@ -511,6 +624,104 @@
confdir.replace("$HOME", QDir::homePath());
}
else
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythsocket.cpp mythtv-0.23/libs/libmythdb/mythsocket.cpp
+--- mythtv-0.23-release/libs/libmythdb/mythsocket.cpp 2010-02-10 12:02:19.000000000 -0500
++++ mythtv-0.23/libs/libmythdb/mythsocket.cpp 2010-06-17 09:23:59.559532000 -0400
+@@ -34,6 +34,7 @@ MythSocketThread *MythSocket::s_readyrea
+
+ MythSocket::MythSocket(int socket, MythSocketCBs *cb)
+ : MSocketDevice(MSocketDevice::Stream), m_cb(cb),
++ m_useReadyReadCallback(true),
+ m_state(Idle), m_addr(), m_port(0),
+ m_ref_count(0), m_notifyread(false)
+ {
+@@ -200,6 +201,24 @@ void MythSocket::close(void)
+ }
+ }
+
++bool MythSocket::closedByRemote(void)
++{
++ fd_set rfds;
++ FD_ZERO(&rfds);
++ FD_SET(socket(), &rfds);
++
++ struct timeval to;
++ to.tv_sec = 0;
++ to.tv_usec = 1000;
++
++ int rval = select(socket() + 1, &rfds, NULL, NULL, &to);
++
++ if (rval > 0 && FD_ISSET(socket(), &rfds) && !bytesAvailable())
++ return true;
++
++ return false;
++}
++
+ qint64 MythSocket::readBlock(char *data, quint64 len)
+ {
+ VERBOSE(VB_SOCKET|VB_EXTRA, LOC + QString("readBlock(0x%1, %2) called")
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythsocket.h mythtv-0.23/libs/libmythdb/mythsocket.h
+--- mythtv-0.23-release/libs/libmythdb/mythsocket.h 2009-11-16 11:18:35.000000000 -0500
++++ mythtv-0.23/libs/libmythdb/mythsocket.h 2010-06-17 09:23:59.559532000 -0400
+@@ -29,6 +29,7 @@ class MPUBLIC MythSocket : public MSocke
+ };
+
+ void close(void);
++ bool closedByRemote(void);
+ void deleteLater(void);
+
+ void UpRef(void);
+@@ -43,6 +44,8 @@ class MPUBLIC MythSocket : public MSocke
+
+ void setSocket(int socket, Type type = MSocketDevice::Stream);
+ void setCallbacks(MythSocketCBs *cb);
++ void useReadyReadCallback(bool useReadyReadCallback = true)
++ { m_useReadyReadCallback = useReadyReadCallback; }
+
+ qint64 readBlock(char *data, quint64 len);
+ qint64 writeBlock(const char *data, quint64 len);
+@@ -73,6 +76,7 @@ class MPUBLIC MythSocket : public MSocke
+ void setState(const State state);
+
+ MythSocketCBs *m_cb;
++ bool m_useReadyReadCallback;
+ State m_state;
+ QHostAddress m_addr;
+ quint16 m_port;
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythsocketthread.cpp mythtv-0.23/libs/libmythdb/mythsocketthread.cpp
+--- mythtv-0.23-release/libs/libmythdb/mythsocketthread.cpp 2010-02-10 12:02:19.000000000 -0500
++++ mythtv-0.23/libs/libmythdb/mythsocketthread.cpp 2010-06-17 09:23:59.559532000 -0400
+@@ -153,12 +153,12 @@ void MythSocketThread::ReadyToBeRead(Myt
+ VERBOSE(VB_SOCKET, SLOC(sock) + "socket is readable");
+ int bytesAvail = sock->bytesAvailable();
+
+- if (bytesAvail == 0)
++ if (bytesAvail == 0 && sock->closedByRemote())
+ {
+ VERBOSE(VB_SOCKET, SLOC(sock) + "socket closed");
+ sock->close();
+ }
+- else if (sock->m_cb)
++ else if (bytesAvail > 0 && sock->m_cb && sock->m_useReadyReadCallback)
+ {
+ sock->m_notifyread = true;
+ VERBOSE(VB_SOCKET, SLOC(sock) + "calling m_cb->readyRead()");
+diff -Naurp mythtv-0.23-release/libs/libmythdb/mythversion.h mythtv-0.23/libs/libmythdb/mythversion.h
+--- mythtv-0.23-release/libs/libmythdb/mythversion.h 2010-04-29 20:59:58.000000000 -0400
++++ mythtv-0.23/libs/libmythdb/mythversion.h 2010-06-17 09:23:59.559532000 -0400
+@@ -9,9 +9,9 @@
+ #endif
+
+ /// Update this whenever the plug-in API changes.
+-/// Including changes in the libmythdb, libmyth and libmythui class methods
+-/// used by plug-ins.
+-#define MYTH_BINARY_VERSION "0.23.20100429-1"
++/// Including changes in the libmythdb, libmyth, libmythtv, libmythav* and
++/// libmythui class methods used by plug-ins.
++#define MYTH_BINARY_VERSION "0.23.201000617-1"
+
+ /** \brief Increment this whenever the MythTV network protocol changes.
+ *
diff -Naurp mythtv-0.23-release/libs/libmythdvdnav/libmythdvdnav.pro mythtv-0.23/libs/libmythdvdnav/libmythdvdnav.pro
--- mythtv-0.23-release/libs/libmythdvdnav/libmythdvdnav.pro 2009-10-15 11:47:54.000000000 -0400
+++ mythtv-0.23/libs/libmythdvdnav/libmythdvdnav.pro 2010-05-11 11:07:54.320600000 -0400
@@ -742,7 +953,7 @@
// $Id$
diff -Naurp mythtv-0.23-release/libs/libmythtv/avformatdecoder.cpp mythtv-0.23/libs/libmythtv/avformatdecoder.cpp
--- mythtv-0.23-release/libs/libmythtv/avformatdecoder.cpp 2010-04-29 20:08:03.000000000 -0400
-+++ mythtv-0.23/libs/libmythtv/avformatdecoder.cpp 2010-06-10 00:02:51.816777000 -0400
++++ mythtv-0.23/libs/libmythtv/avformatdecoder.cpp 2010-06-18 06:50:18.720005000 -0400
@@ -1291,6 +1291,14 @@ static float normalized_fps(AVStream *st
fps = tmpfps;
}
@@ -818,6 +1029,14 @@
long long temppts = pts;
+@@ -4617,6 +4639,7 @@ bool AvFormatDecoder::DoPassThrough(cons
+ else if (ctx->codec_id == CODEC_ID_DTS)
+ passthru = allow_dts_passthru && !internal_vol;
+
++ passthru &= GetNVP()->CanPassthrough();
+ passthru &= !transcoding && !disable_passthru;
+ // Don't know any cards that support spdif clocked at < 44100
+ // Some US cable transmissions have 2ch 32k AC-3 streams
diff -Naurp mythtv-0.23-release/libs/libmythtv/dbcheck.cpp mythtv-0.23/libs/libmythtv/dbcheck.cpp
--- mythtv-0.23-release/libs/libmythtv/dbcheck.cpp 2010-03-06 22:11:52.000000000 -0500
+++ mythtv-0.23/libs/libmythtv/dbcheck.cpp 2010-05-23 19:30:49.920201000 -0400
@@ -837,6 +1056,45 @@
// Pop up messages, questions, warnings, et c.
switch (DBup->PromptForUpgrade("TV", upgradeAllowed,
+diff -Naurp mythtv-0.23-release/libs/libmythtv/jobqueue.h mythtv-0.23/libs/libmythtv/jobqueue.h
+--- mythtv-0.23-release/libs/libmythtv/jobqueue.h 2010-01-31 22:49:37.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/jobqueue.h 2010-06-17 12:33:12.060417000 -0400
+@@ -2,6 +2,7 @@
+ #define JOBQUEUE_H_
+
+ #include <pthread.h>
++#include <sys/types.h>
+
+ #include <QWaitCondition>
+ #include <QObject>
+diff -Naurp mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.cpp mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.cpp
+--- mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.cpp 2010-04-27 22:54:52.000000000 -0400
++++ mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.cpp 2010-06-18 06:50:18.720005000 -0400
+@@ -5134,6 +5134,13 @@ bool NuppelVideoPlayer::ToggleUpmix()
+ return false;
+ }
+
++bool NuppelVideoPlayer::CanPassthrough()
++{
++ if (audioOutput)
++ return audioOutput->CanPassthrough();
++ return false;
++}
++
+ void NuppelVideoPlayer::Zoom(ZoomDirection direction)
+ {
+ if (videoOutput)
+diff -Naurp mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.h mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.h
+--- mythtv-0.23-release/libs/libmythtv/NuppelVideoPlayer.h 2010-03-08 19:33:51.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/NuppelVideoPlayer.h 2010-06-18 06:50:18.720005000 -0400
+@@ -165,6 +165,7 @@ class MPUBLIC NuppelVideoPlayer : public
+ void ToggleAspectOverride(AspectOverrideMode aspectMode = kAspect_Toggle);
+ void ToggleAdjustFill(AdjustFillMode adjustfillMode = kAdjustFill_Toggle);
+ bool ToggleUpmix(void);
++ bool CanPassthrough(void);
+
+ // Gets
+ QSize GetVideoBufferSize(void) const { return video_dim; }
diff -Naurp mythtv-0.23-release/libs/libmythtv/tv_play.cpp mythtv-0.23/libs/libmythtv/tv_play.cpp
--- mythtv-0.23-release/libs/libmythtv/tv_play.cpp 2010-04-27 22:54:52.000000000 -0400
+++ mythtv-0.23/libs/libmythtv/tv_play.cpp 2010-05-17 21:42:52.462765000 -0400
@@ -914,6 +1172,76 @@
void SwitchInputs(PlayerContext*, uint inputid);
void ToggleInputs(PlayerContext*, uint inputid = 0);
void SwitchCards(PlayerContext*,
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_d3d.cpp mythtv-0.23/libs/libmythtv/videoout_d3d.cpp
+--- mythtv-0.23-release/libs/libmythtv/videoout_d3d.cpp 2010-03-06 22:11:52.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_d3d.cpp 2010-06-19 01:57:23.850116000 -0400
+@@ -1252,13 +1252,13 @@ void VideoOutputD3D::Show(FrameScanType
+ SetThreadExecutionState(ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED);
+ }
+
+-void VideoOutputD3D::EmbedInWidget(WId wid, int x, int y, int w, int h)
++void VideoOutputD3D::EmbedInWidget(int x, int y, int w, int h)
+ {
+ if (windows[0].IsEmbedding())
+ return;
+
+ VideoOutput::EmbedInWidget(x, y, w, h);
+- m_hEmbedWnd = wid;
++ // TODO: Initialise m_hEmbedWnd?
+ }
+
+ void VideoOutputD3D::StopEmbedding(void)
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_d3d.h mythtv-0.23/libs/libmythtv/videoout_d3d.h
+--- mythtv-0.23-release/libs/libmythtv/videoout_d3d.h 2010-02-03 10:39:11.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_d3d.h 2010-06-18 03:11:40.067331000 -0400
+@@ -115,7 +115,7 @@ class VideoOutputD3D : public VideoOutpu
+ void UpdatePauseFrame(void);
+ void DrawUnusedRects(bool) {;}
+ void Zoom(ZoomDirection direction);
+- void EmbedInWidget(WId wid, int x, int y, int w, int h);
++ void EmbedInWidget(int x, int y, int w, int h);
+ void StopEmbedding(void);
+ bool hasFullScreenOSD(void) const { return m_d3d_osd; }
+ static QStringList GetAllowedRenderers(MythCodecID myth_codec_id,
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_quartz.cpp mythtv-0.23/libs/libmythtv/videoout_quartz.cpp
+--- mythtv-0.23-release/libs/libmythtv/videoout_quartz.cpp 2010-03-06 22:11:52.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_quartz.cpp 2010-06-18 03:11:40.067331000 -0400
+@@ -18,7 +18,7 @@
+ * on any screen except, you guessed it, the main screen.
+ *
+ * = REVISION
+- * $Id$
++ * $Id$
+ *
+ * = AUTHORS
+ * Nigel Pearson, Jeremiah Morris
+@@ -1598,11 +1598,10 @@ void VideoOutputQuartz::DeleteQuartzBuff
+ vbuffers.DeleteBuffers();
+ }
+
+-void VideoOutputQuartz::EmbedInWidget(WId wid, int x, int y, int w, int h)
++void VideoOutputQuartz::EmbedInWidget(int x, int y, int w, int h)
+ {
+- VERBOSE(VB_PLAYBACK,
+- (LOC + "EmbedInWidget(wid=%1, x=%2, y=%3, w=%4, h=%5)")
+- .arg(wid).arg(x).arg(y).arg(w).arg(h));
++ VERBOSE(VB_PLAYBACK, (LOC + "EmbedInWidget(x=%1, y=%2, w=%3, h=%4)")
++ .arg(x).arg(y).arg(w).arg(h));
+
+ if (windows[0].IsEmbedding())
+ return;
+diff -Naurp mythtv-0.23-release/libs/libmythtv/videoout_quartz.h mythtv-0.23/libs/libmythtv/videoout_quartz.h
+--- mythtv-0.23-release/libs/libmythtv/videoout_quartz.h 2010-02-03 10:39:11.000000000 -0500
++++ mythtv-0.23/libs/libmythtv/videoout_quartz.h 2010-06-18 03:11:40.067331000 -0400
+@@ -34,7 +34,7 @@ class VideoOutputQuartz : public VideoOu
+ void Zoom(ZoomDirection direction);
+ void ToggleAdjustFill(AdjustFillMode adjustFill);
+
+- void EmbedInWidget(WId wid, int x, int y, int w, int h);
++ void EmbedInWidget(int x, int y, int w, int h);
+ void StopEmbedding(void);
+
+ DisplayInfo GetDisplayInfo(void);
diff -Naurp mythtv-0.23-release/libs/libmythui/mythfontmanager.cpp mythtv-0.23/libs/libmythui/mythfontmanager.cpp
--- mythtv-0.23-release/libs/libmythui/mythfontmanager.cpp 2010-02-24 02:41:32.000000000 -0500
+++ mythtv-0.23/libs/libmythui/mythfontmanager.cpp 2010-06-08 18:21:22.370095000 -0400
@@ -994,6 +1322,38 @@
}
#endif
+diff -Naurp mythtv-0.23-release/libs/libmythui/mythuitext.cpp mythtv-0.23/libs/libmythui/mythuitext.cpp
+--- mythtv-0.23-release/libs/libmythui/mythuitext.cpp 2010-03-28 16:39:26.000000000 -0400
++++ mythtv-0.23/libs/libmythui/mythuitext.cpp 2010-06-20 13:40:58.513407000 -0400
+@@ -347,13 +347,14 @@ void MythUIText::FillCutMessage()
+ if (isNumber && m_TemplateText.contains("%n"))
+ {
+ m_CutMessage = qApp->translate("ThemeUI",
+- qPrintable(m_TemplateText), "",
+- QCoreApplication::CodecForTr,
+- qAbs(value));
++ m_TemplateText.toUtf8(), NULL,
++ QCoreApplication::UnicodeUTF8,
++ qAbs(value));
+ }
+ else if (m_TemplateText.contains("%1"))
+ {
+- QString tmp = qApp->translate("ThemeUI", qPrintable(m_TemplateText));
++ QString tmp = qApp->translate("ThemeUI", m_TemplateText.toUtf8(),
++ NULL, QCoreApplication::UnicodeUTF8);
+ m_CutMessage = tmp.arg(m_Message);
+ }
+ }
+@@ -577,7 +578,8 @@ bool MythUIText::ParseElement(
+ if (element.attribute("lang","").isEmpty())
+ {
+ m_Message = qApp->translate("ThemeUI",
+- qPrintable(getFirstText(element)));
++ getFirstText(element).toUtf8(), NULL,
++ QCoreApplication::UnicodeUTF8);
+ }
+ else if (element.attribute("lang","").toLower() ==
+ GetMythUI()->GetLanguageAndVariant())
diff -Naurp mythtv-0.23-release/libs/libmythui/xmlparsebase.cpp mythtv-0.23/libs/libmythui/xmlparsebase.cpp
--- mythtv-0.23-release/libs/libmythui/xmlparsebase.cpp 2010-03-02 12:36:30.000000000 -0500
+++ mythtv-0.23/libs/libmythui/xmlparsebase.cpp 2010-05-15 09:04:12.458568000 -0400
@@ -1042,6 +1402,19 @@
!profile:QMAKE_CFLAGS_DEBUG += -O
+diff -Naurp mythtv-0.23-release/programs/mythbackend/filetransfer.cpp mythtv-0.23/programs/mythbackend/filetransfer.cpp
+--- mythtv-0.23-release/programs/mythbackend/filetransfer.cpp 2010-03-10 10:37:33.000000000 -0500
++++ mythtv-0.23/programs/mythbackend/filetransfer.cpp 2010-06-17 09:23:59.559532000 -0400
+@@ -41,6 +41,9 @@ FileTransfer::FileTransfer(QString &file
+ pginfo->pathname = pginfo->GetPlaybackURL();
+ pginfo->MarkAsInUse(true, kFileTransferInUseID);
+ }
++
++ if (write)
++ remote->useReadyReadCallback(false);
+ }
+
+ FileTransfer::~FileTransfer()
diff -Naurp mythtv-0.23-release/programs/mythbackend/main.cpp mythtv-0.23/programs/mythbackend/main.cpp
--- mythtv-0.23-release/programs/mythbackend/main.cpp 2010-04-09 07:29:00.000000000 -0400
+++ mythtv-0.23/programs/mythbackend/main.cpp 2010-05-13 14:45:33.347492000 -0400
@@ -1075,6 +1448,28 @@
}
if (pidfs)
+diff -Naurp mythtv-0.23-release/programs/mythbackend/mainserver.cpp mythtv-0.23/programs/mythbackend/mainserver.cpp
+--- mythtv-0.23-release/programs/mythbackend/mainserver.cpp 2010-04-10 17:19:56.000000000 -0400
++++ mythtv-0.23/programs/mythbackend/mainserver.cpp 2010-06-17 09:23:59.559532000 -0400
+@@ -1270,15 +1270,10 @@ void MainServer::HandleAnnounce(QStringL
+ else
+ filename = LocalFilePath(qurl, wantgroup);
+
+- if (writemode)
+- {
+- socket->setCallbacks(NULL);
+- ft = new FileTransfer(filename, socket, true);
+- }
+- else if (retries >= 0)
+- ft = new FileTransfer(filename, socket, usereadahead, retries);
++ if (retries < 0)
++ ft = new FileTransfer(filename, socket, writemode);
+ else
+- ft = new FileTransfer(filename, socket, false);
++ ft = new FileTransfer(filename, socket, usereadahead, retries);
+
+ sockListLock.lockForWrite();
+ fileTransferList.push_back(ft);
diff -Naurp mythtv-0.23-release/programs/mythcommflag/main.cpp mythtv-0.23/programs/mythcommflag/main.cpp
--- mythtv-0.23-release/programs/mythcommflag/main.cpp 2010-02-10 12:02:19.000000000 -0500
+++ mythtv-0.23/programs/mythcommflag/main.cpp 2010-05-13 20:49:59.310980000 -0400
@@ -1141,6 +1536,21 @@
time_now = time(NULL);
if (!quiet)
+diff -Naurp mythtv-0.23-release/programs/mythtranscode/transcode.cpp mythtv-0.23/programs/mythtranscode/transcode.cpp
+--- mythtv-0.23-release/programs/mythtranscode/transcode.cpp 2010-04-03 13:16:58.000000000 -0400
++++ mythtv-0.23/programs/mythtranscode/transcode.cpp 2010-06-18 06:50:18.720005000 -0400
+@@ -217,6 +217,11 @@ class AudioReencodeBuffer : public Audio
+ // Do nothing
+ return false;
+ }
++ virtual bool CanPassthrough(void) const
++ {
++ // Do nothing
++ return false;
++ }
+
+ virtual void SetSWVolume(int new_volume, bool save)
+ {
diff -Naurp mythtv-0.23-release/programs/mythtv-setup/main.cpp mythtv-0.23/programs/mythtv-setup/main.cpp
--- mythtv-0.23-release/programs/mythtv-setup/main.cpp 2010-03-11 22:54:16.000000000 -0500
+++ mythtv-0.23/programs/mythtv-setup/main.cpp 2010-05-12 11:25:27.228749000 -0400
Index: mythtv.spec
===================================================================
RCS file: /cvs/free/rpms/mythtv/F-12/mythtv.spec,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- mythtv.spec 18 Jun 2010 12:00:23 -0000 1.69
+++ mythtv.spec 21 Jun 2010 14:51:40 -0000 1.70
@@ -65,7 +65,7 @@
%define desktop_vendor RPMFusion
# SVN Revision number and branch ID
-%define _svnrev r25124
+%define _svnrev r25150
%define branch release-0-23-fixes
#
@@ -81,7 +81,7 @@
%if "%{branch}" == "trunk"
Release: 0.1.svn.%{_svnrev}%{?dist}
%else
-Release: 4%{?dist}
+Release: 5%{?dist}
%endif
# The primary license is GPLv2+, but bits are borrowed from a number of
@@ -966,8 +966,12 @@
--extra-cflags="%{optflags} -fomit-frame-pointer" \
--extra-cxxflags="%{optflags} -fomit-frame-pointer" \
%endif
-%ifarch %{ix86}
- --cpu=%{_target_cpu} --tune=%{_target_cpu} --enable-mmx \
+%ifarch i586
+ # --cpu=i586 will result in mmx being disabled
+ --cpu=pentium-mmx --tune=i586 --enable-mmx \
+%endif
+%ifarch i686
+ --cpu=i686 --tune=i686 --enable-mmx \
%endif
%if %{with_proc_opt}
--enable-proc-opt \
@@ -1479,6 +1483,11 @@
################################################################################
%changelog
+* Mon Jun 21 2010 Jarod Wilson <jarod(a)wilsonet.com> 0.23-5
+- Update to release-0-23-fixes branch, svn revision 25150
+- Further improvements to run as non-root (rpmfusion bz#1295)
+- One more try at a 32-bit x86 F11 i586 build w/both mmx and no cmov
+
* Wed Jun 16 2010 Jarod Wilson <jarod(a)wilsonet.com> 0.23-4
- Update to release-0-23-fixes branch, svn revision 25124
- Add anti-vuvuzela-filter patch from mythtv ticket #8568, because
14 years, 5 months