* [PATCH 1/3] configure.ac: add qt5 detection support
@ 2014-12-04 23:27 Peter Seiderer
2014-12-04 23:27 ` [PATCH 2/3] qv4l2: fix qt5 compile Peter Seiderer
2014-12-04 23:27 ` [PATCH 3/3] qv4l2: update qmake project file Peter Seiderer
0 siblings, 2 replies; 3+ messages in thread
From: Peter Seiderer @ 2014-12-04 23:27 UTC (permalink / raw)
To: linux-media
Disable QTGL for qt5 because of qv4l2 crash on startup.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
configure.ac | 41 +++++++++++++++++++++++++++--------------
1 file changed, 27 insertions(+), 14 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7bf9bf6..245a409 100644
--- a/configure.ac
+++ b/configure.ac
@@ -131,29 +131,42 @@ AS_IF([test "x$with_jpeg" != xno],
AM_CONDITIONAL([HAVE_JPEG], [$have_jpeg])
-PKG_CHECK_MODULES(QT, [QtCore >= 4.4 QtGui >= 4.4], [qt_pkgconfig=true], [qt_pkgconfig=false])
+PKG_CHECK_MODULES(QT, [Qt5Core >= 5.0 Qt5Gui >= 5.0 Qt5Widgets >= 5.0], [qt_pkgconfig=true], [qt_pkgconfig=false])
if test "x$qt_pkgconfig" = "xtrue"; then
+ QT_CFLAGS="$QT_CFLAGS -fPIC"
AC_SUBST(QT_CFLAGS)
AC_SUBST(QT_LIBS)
- MOC=`$PKG_CONFIG --variable=moc_location QtCore`
- UIC=`$PKG_CONFIG --variable=uic_location QtCore`
- RCC=`$PKG_CONFIG --variable=rcc_location QtCore`
- if test -z "$RCC"; then
- RCC="rcc"
- fi
+ AC_CHECK_PROGS(MOC, [moc-qt5 moc])
+ AC_CHECK_PROGS(UIC, [uic-qt5 uic])
+ AC_CHECK_PROGS(RCC, [rcc-qt5 rcc])
AC_SUBST(MOC)
AC_SUBST(UIC)
AC_SUBST(RCC)
+# disable QTGL for qt5 because qv4l2 crash
+ qt_pkgconfig_gl=false
else
- AC_MSG_WARN(Qt4 or higher is not available)
+ PKG_CHECK_MODULES(QT, [QtCore >= 4.0 QtGui >= 4.0], [qt_pkgconfig=true], [qt_pkgconfig=false])
+ if test "x$qt_pkgconfig" = "xtrue"; then
+ MOC=`$PKG_CONFIG --variable=moc_location Qt5Core`
+ UIC=`$PKG_CONFIG --variable=uic_location Qt5Core`
+ RCC=`$PKG_CONFIG --variable=rcc_location Qt5Core`
+ if test -z "$RCC"; then
+ RCC="rcc"
+ fi
+ AC_SUBST(MOC)
+ AC_SUBST(UIC)
+ AC_SUBST(RCC)
+ PKG_CHECK_MODULES(QTGL, [QtOpenGL >= 4.8 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false])
+ if test "x$qt_pkgconfig_gl" = "xtrue"; then
+ AC_DEFINE([HAVE_QTGL], [1], [qt has opengl support])
+ else
+ AC_MSG_WARN(Qt4 OpenGL is not available)
+ fi
+ else
+ AC_MSG_WARN(Qt4 or higher is not available)
+ fi
fi
-PKG_CHECK_MODULES(QTGL, [QtOpenGL >= 4.8 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false])
-if test "x$qt_pkgconfig_gl" = "xtrue"; then
- AC_DEFINE([HAVE_QTGL], [1], [qt has opengl support])
-else
- AC_MSG_WARN(Qt4 OpenGL or higher is not available)
-fi
PKG_CHECK_MODULES(ALSA, [alsa], [alsa_pkgconfig=true], [alsa_pkgconfig=false])
if test "x$alsa_pkgconfig" = "xtrue"; then
--
2.1.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/3] qv4l2: fix qt5 compile
2014-12-04 23:27 [PATCH 1/3] configure.ac: add qt5 detection support Peter Seiderer
@ 2014-12-04 23:27 ` Peter Seiderer
2014-12-04 23:27 ` [PATCH 3/3] qv4l2: update qmake project file Peter Seiderer
1 sibling, 0 replies; 3+ messages in thread
From: Peter Seiderer @ 2014-12-04 23:27 UTC (permalink / raw)
To: linux-media
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
utils/qv4l2/capture-win-qt.cpp | 4 ++++
utils/qv4l2/qv4l2.cpp | 21 +++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/utils/qv4l2/capture-win-qt.cpp b/utils/qv4l2/capture-win-qt.cpp
index db85cd2..9c849a0 100644
--- a/utils/qv4l2/capture-win-qt.cpp
+++ b/utils/qv4l2/capture-win-qt.cpp
@@ -117,7 +117,11 @@ void CaptureWinQt::paintFrame()
void CaptureWinQt::stop()
{
if (m_data != NULL)
+#if QT_VERSION >= 0x050000
+ memcpy(m_image->bits(), m_data, m_image->byteCount());
+#else
memcpy(m_image->bits(), m_data, m_image->numBytes());
+#endif
m_data = NULL;
}
diff --git a/utils/qv4l2/qv4l2.cpp b/utils/qv4l2/qv4l2.cpp
index 0784a15..8329cbd 100644
--- a/utils/qv4l2/qv4l2.cpp
+++ b/utils/qv4l2/qv4l2.cpp
@@ -1084,8 +1084,13 @@ void ApplicationWindow::startAudio()
QString audOut = m_genTab->getAudioOutDevice();
if (audIn != NULL && audOut != NULL && audIn.compare("None") && audIn.compare(audOut) != 0) {
+#if QT_VERSION >= 0x050000
+ alsa_thread_startup(audOut.toLatin1().data(), audIn.toLatin1().data(),
+ m_genTab->getAudioDeviceBufferSize(), NULL, 0);
+#else
alsa_thread_startup(audOut.toAscii().data(), audIn.toAscii().data(),
m_genTab->getAudioDeviceBufferSize(), NULL, 0);
+#endif
if (m_genTab->isRadio())
statusBar()->showMessage("Capturing audio");
@@ -1582,7 +1587,11 @@ void ApplicationWindow::error(const QString &error)
{
statusBar()->showMessage(error, 20000);
if (!error.isEmpty())
+#if QT_VERSION >= 0x050000
+ fprintf(stderr, "%s\n", error.toLatin1().data());
+#else
fprintf(stderr, "%s\n", error.toAscii().data());
+#endif
}
void ApplicationWindow::error(int err)
@@ -1657,7 +1666,11 @@ static bool processShortOption(const QStringList &args, int &i, QString &dev)
return false;
if (args[i].length() == 2) {
if (i + 1 >= args.size()) {
+#if QT_VERSION >= 0x050000
+ usageError(args[i].toLatin1());
+#else
usageError(args[i].toAscii());
+#endif
return false;
}
dev = args[++i];
@@ -1680,7 +1693,11 @@ static bool processLongOption(const QStringList &args, int &i, QString &dev)
return true;
}
if (i + 1 >= args.size()) {
+#if QT_VERSION >= 0x050000
+ usageError(args[i].toLatin1());
+#else
usageError(args[i].toAscii());
+#endif
return false;
}
dev = args[++i];
@@ -1734,7 +1751,11 @@ int main(int argc, char **argv)
} else if (args[i] == "-R" || args[i] == "--raw") {
raw = true;
} else {
+#if QT_VERSION >= 0x050000
+ printf("Invalid argument %s\n", args[i].toLatin1().data());
+#else
printf("Invalid argument %s\n", args[i].toAscii().data());
+#endif
return 0;
}
}
--
2.1.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 3/3] qv4l2: update qmake project file
2014-12-04 23:27 [PATCH 1/3] configure.ac: add qt5 detection support Peter Seiderer
2014-12-04 23:27 ` [PATCH 2/3] qv4l2: fix qt5 compile Peter Seiderer
@ 2014-12-04 23:27 ` Peter Seiderer
1 sibling, 0 replies; 3+ messages in thread
From: Peter Seiderer @ 2014-12-04 23:27 UTC (permalink / raw)
To: linux-media
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
utils/qv4l2/qv4l2.pro | 32 ++++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/utils/qv4l2/qv4l2.pro b/utils/qv4l2/qv4l2.pro
index 7ab39cc..2c6c9c8 100644
--- a/utils/qv4l2/qv4l2.pro
+++ b/utils/qv4l2/qv4l2.pro
@@ -6,9 +6,37 @@ TEMPLATE = app
INCLUDEPATH += . ../libv4l2util ../../lib/include ../../include
CONFIG += debug
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+greaterThan(QT_MAJOR_VERSION, 4): QT += opengl
+
+INCLUDEPATH += /home/seiderer/Work/v4l_utils/v4l-utils
+INCLUDEPATH += /home/seiderer/Work/v4l_utils/v4l-utils/utils/v4l2-ctl/
+INCLUDEPATH += /home/seiderer/Work/v4l_utils/v4l-utils/utils/v4l2-compliance
+
# Input
-HEADERS += qv4l2.h general-tab.h capture-win.h
-SOURCES += qv4l2.cpp general-tab.cpp ctrl-tab.cpp capture-win.cpp
+HEADERS += alsa_stream.h
+HEADERS += capture-win-gl.h
+HEADERS += capture-win.h
+HEADERS += capture-win-qt.h
+HEADERS += general-tab.h
+HEADERS += qv4l2.h
+HEADERS += raw2sliced.h
+HEADERS += vbi-tab.h
+HEADERS += ../v4l2-ctl/vivid-tpg.h
+HEADERS += ../v4l2-ctl/vivid-tpg-colors.h
+
+SOURCES += capture-win.cpp
+SOURCES += capture-win-gl.cpp
+SOURCES += capture-win-qt.cpp
+SOURCES += ctrl-tab.cpp
+SOURCES += general-tab.cpp
+SOURCES += qv4l2.cpp
+SOURCES += raw2sliced.cpp
+SOURCES += tpg-tab.cpp
+SOURCES += vbi-tab.cpp
+SOURCES += ../v4l2-ctl/vivid-tpg.c
+SOURCES += ../v4l2-ctl/vivid-tpg-colors.c
+
LIBS += -L../../lib/libv4l2 -lv4l2 -L../../lib/libv4lconvert -lv4lconvert -lrt -L../libv4l2util -lv4l2util -ldl -ljpeg
RESOURCES += qv4l2.qrc
--
2.1.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-12-04 23:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-04 23:27 [PATCH 1/3] configure.ac: add qt5 detection support Peter Seiderer
2014-12-04 23:27 ` [PATCH 2/3] qv4l2: fix qt5 compile Peter Seiderer
2014-12-04 23:27 ` [PATCH 3/3] qv4l2: update qmake project file Peter Seiderer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).