Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
ee2a2df8
Commit
ee2a2df8
authored
Jul 06, 2015
by
dogmaphobic
Browse files
iOS Build
parent
16ad6be3
Changes
6
Hide whitespace changes
Inline
Side-by-side
QGCCommon.pri
View file @
ee2a2df8
...
@@ -54,10 +54,13 @@ linux {
...
@@ -54,10 +54,13 @@ linux {
error("Unsupported Mac toolchain, only 64-bit LLVM+clang is supported")
error("Unsupported Mac toolchain, only 64-bit LLVM+clang is supported")
}
}
} else : ios {
} else : ios {
!equals(QT_MAJOR_VERSION, 5) | !greaterThan(QT_MINOR_VERSION, 4) {
error("Unsupported Qt version, 5.5.x or greater is required for iOS")
}
message("iOS build")
message("iOS build")
CONFIG += iOSBuild MobileBuild app_bundle
CONFIG += iOSBuild MobileBuild app_bundle
DEFINES += __ios__
DEFINES += __ios__
warning("iOS build is experimental and not yet functional")
warning("iOS build is experimental and not yet
fully
functional")
} else {
} else {
error("Unsupported build platform, only Linux, Windows, Android and Mac (Mac OS and iOS) are supported")
error("Unsupported build platform, only Linux, Windows, Android and Mac (Mac OS and iOS) are supported")
}
}
...
@@ -107,10 +110,10 @@ iOSBuild {
...
@@ -107,10 +110,10 @@ iOSBuild {
# For whatever reason, the iOS build fails with these set. Some files have the full,
# For whatever reason, the iOS build fails with these set. Some files have the full,
# properly concatenaded path and file name while others have only the second portion,
# properly concatenaded path and file name while others have only the second portion,
# as if BUILDDIR was empty.
# as if BUILDDIR was empty.
OBJECTS_DIR =
~
/tmp/qgcfoo
OBJECTS_DIR =
$$(HOME)
/tmp/qgcfoo
MOC_DIR =
~
/tmp/qgcfoo
MOC_DIR =
$$(HOME)
/tmp/qgcfoo
UI_DIR =
~
/tmp/qgcfoo
UI_DIR =
$$(HOME)
/tmp/qgcfoo
RCC_DIR =
~
/tmp/qgcfoo
RCC_DIR =
$$(HOME)
/tmp/qgcfoo
} else {
} else {
OBJECTS_DIR = $${BUILDDIR}/obj
OBJECTS_DIR = $${BUILDDIR}/obj
MOC_DIR = $${BUILDDIR}/moc
MOC_DIR = $${BUILDDIR}/moc
...
@@ -126,7 +129,7 @@ AndroidBuild {
...
@@ -126,7 +129,7 @@ AndroidBuild {
# We place the created plugin lib into the objects dir so that make clean will clean it as well
# We place the created plugin lib into the objects dir so that make clean will clean it as well
iOSBuild {
iOSBuild {
LOCATION_PLUGIN_DESTDIR =
~
/tmp/qgcfoo
LOCATION_PLUGIN_DESTDIR =
$$(HOME)
/tmp/qgcfoo
} else {
} else {
LOCATION_PLUGIN_DESTDIR = $$OBJECTS_DIR
LOCATION_PLUGIN_DESTDIR = $$OBJECTS_DIR
}
}
...
...
src/VideoStreaming/VideoStreaming.pri
View file @
ee2a2df8
...
@@ -28,7 +28,6 @@ LinuxBuild {
...
@@ -28,7 +28,6 @@ LinuxBuild {
CONFIG += link_pkgconfig
CONFIG += link_pkgconfig
packagesExist(gstreamer-1.0) {
packagesExist(gstreamer-1.0) {
message("Including support for video streaming")
message("Including support for video streaming")
DEFINES += QGC_GST_STREAMING
PKGCONFIG += gstreamer-1.0 gstreamer-video-1.0
PKGCONFIG += gstreamer-1.0 gstreamer-video-1.0
CONFIG += VideoEnabled
CONFIG += VideoEnabled
}
}
...
@@ -37,11 +36,19 @@ LinuxBuild {
...
@@ -37,11 +36,19 @@ LinuxBuild {
GST_ROOT = /Library/Frameworks/GStreamer.framework
GST_ROOT = /Library/Frameworks/GStreamer.framework
exists($$GST_ROOT) {
exists($$GST_ROOT) {
message("Including support for video streaming")
message("Including support for video streaming")
DEFINES += QGC_GST_STREAMING
CONFIG += VideoEnabled
CONFIG += VideoEnabled
INCLUDEPATH += $$GST_ROOT/Headers
INCLUDEPATH += $$GST_ROOT/Headers
LIBS += -F/Library/Frameworks -framework GStreamer
LIBS += -F/Library/Frameworks -framework GStreamer
}
}
} else:iOSBuild {
#- gstreamer framework installed by the gstreamer iOS SDK installer (default to home directory)
GST_ROOT = $$(HOME)/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework
exists($$GST_ROOT) {
message("Including support for video streaming")
CONFIG += VideoEnabled
INCLUDEPATH += $$GST_ROOT/Headers
LIBS += -F$$(HOME)/Library/Developer/GStreamer/iPhone.sdk -framework GStreamer
}
} else:WindowsBuild {
} else:WindowsBuild {
#- gstreamer installed by default under c:/gstreamer
#- gstreamer installed by default under c:/gstreamer
# This is not working. It builds but at runtime, it expects to find
# This is not working. It builds but at runtime, it expects to find
...
@@ -51,7 +58,6 @@ LinuxBuild {
...
@@ -51,7 +58,6 @@ LinuxBuild {
GST_ROOT = c:/gstreamer/1.0/x86
GST_ROOT = c:/gstreamer/1.0/x86
exists($$GST_ROOT) {
exists($$GST_ROOT) {
message("Including support for video streaming")
message("Including support for video streaming")
DEFINES += QGC_GST_STREAMING
CONFIG += VideoEnabled
CONFIG += VideoEnabled
LIBS += -L$$GST_ROOT/lib/gstreamer-1.0/static -lgstreamer-1.0 -lgstvideo-1.0 -lgstbase-1.0
LIBS += -L$$GST_ROOT/lib/gstreamer-1.0/static -lgstreamer-1.0 -lgstvideo-1.0 -lgstbase-1.0
LIBS += -L$$GST_ROOT/lib -lglib-2.0 -lintl -lgobject-2.0
LIBS += -L$$GST_ROOT/lib -lglib-2.0 -lintl -lgobject-2.0
...
@@ -67,6 +73,7 @@ LinuxBuild {
...
@@ -67,6 +73,7 @@ LinuxBuild {
VideoEnabled {
VideoEnabled {
DEFINES += \
DEFINES += \
QGC_GST_STREAMING \
GST_PLUGIN_BUILD_STATIC \
GST_PLUGIN_BUILD_STATIC \
QTGLVIDEOSINK_NAME=qt5glvideosink \
QTGLVIDEOSINK_NAME=qt5glvideosink \
QTVIDEOSINK_NAME=qt5videosink
QTVIDEOSINK_NAME=qt5videosink
...
...
src/VideoStreaming/gstqtvideosink/delegates/basedelegate.cpp
View file @
ee2a2df8
...
@@ -161,7 +161,7 @@ bool BaseDelegate::event(QEvent *event)
...
@@ -161,7 +161,7 @@ bool BaseDelegate::event(QEvent *event)
BufferEvent
*
bufEvent
=
dynamic_cast
<
BufferEvent
*>
(
event
);
BufferEvent
*
bufEvent
=
dynamic_cast
<
BufferEvent
*>
(
event
);
Q_ASSERT
(
bufEvent
);
Q_ASSERT
(
bufEvent
);
GST_TRACE_OBJECT
(
m_sink
,
"Received buffer %"
GST_PTR_FORMAT
,
bufEvent
->
buffer
);
GST_TRACE_OBJECT
(
m_sink
,
"Received buffer %"
GST_PTR_FORMAT
,
bufEvent
->
buffer
);
if
(
isActive
())
{
if
(
isActive
())
{
gst_buffer_replace
(
&
m_buffer
,
bufEvent
->
buffer
);
gst_buffer_replace
(
&
m_buffer
,
bufEvent
->
buffer
);
...
...
src/VideoStreaming/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
View file @
ee2a2df8
...
@@ -43,7 +43,7 @@ QWidget *QWidgetVideoSinkDelegate::widget() const
...
@@ -43,7 +43,7 @@ QWidget *QWidgetVideoSinkDelegate::widget() const
void
QWidgetVideoSinkDelegate
::
setWidget
(
QWidget
*
widget
)
void
QWidgetVideoSinkDelegate
::
setWidget
(
QWidget
*
widget
)
{
{
GST_LOG_OBJECT
(
m_sink
,
"Setting
\"
widget
\"
property to %"
GST_PTR_FORMAT
,
widget
);
GST_LOG_OBJECT
(
m_sink
,
"Setting
\"
widget
\"
property to %"
GST_PTR_FORMAT
,
widget
);
if
(
m_widget
)
{
if
(
m_widget
)
{
m_widget
.
data
()
->
removeEventFilter
(
this
);
m_widget
.
data
()
->
removeEventFilter
(
this
);
...
...
src/VideoStreaming/gstqtvideosink/gstqtquick2videosink.cpp
View file @
ee2a2df8
...
@@ -254,7 +254,7 @@ gst_qt_quick2_video_sink_show_frame(GstVideoSink *sink, GstBuffer *buffer)
...
@@ -254,7 +254,7 @@ gst_qt_quick2_video_sink_show_frame(GstVideoSink *sink, GstBuffer *buffer)
{
{
GstQtQuick2VideoSink
*
self
=
GST_QT_QUICK2_VIDEO_SINK
(
sink
);
GstQtQuick2VideoSink
*
self
=
GST_QT_QUICK2_VIDEO_SINK
(
sink
);
GST_TRACE_OBJECT
(
self
,
"Posting new buffer (%"
GST_PTR_FORMAT
") for rendering."
,
buffer
);
GST_TRACE_OBJECT
(
self
,
"Posting new buffer (%"
GST_PTR_FORMAT
") for rendering."
,
buffer
);
QCoreApplication
::
postEvent
(
self
->
priv
->
delegate
,
new
BaseDelegate
::
BufferEvent
(
buffer
));
QCoreApplication
::
postEvent
(
self
->
priv
->
delegate
,
new
BaseDelegate
::
BufferEvent
(
buffer
));
...
...
src/VideoStreaming/gstqtvideosink/gstqtvideosinkbase.cpp
View file @
ee2a2df8
...
@@ -213,7 +213,7 @@ GstFlowReturn GstQtVideoSinkBase::show_frame(GstVideoSink *video_sink, GstBuffer
...
@@ -213,7 +213,7 @@ GstFlowReturn GstQtVideoSinkBase::show_frame(GstVideoSink *video_sink, GstBuffer
{
{
GstQtVideoSinkBase
*
sink
=
GST_QT_VIDEO_SINK_BASE
(
video_sink
);
GstQtVideoSinkBase
*
sink
=
GST_QT_VIDEO_SINK_BASE
(
video_sink
);
GST_TRACE_OBJECT
(
sink
,
"Posting new buffer (%"
GST_PTR_FORMAT
") for rendering."
,
buffer
);
GST_TRACE_OBJECT
(
sink
,
"Posting new buffer (%"
GST_PTR_FORMAT
") for rendering."
,
buffer
);
QCoreApplication
::
postEvent
(
sink
->
delegate
,
new
BaseDelegate
::
BufferEvent
(
buffer
));
QCoreApplication
::
postEvent
(
sink
->
delegate
,
new
BaseDelegate
::
BufferEvent
(
buffer
));
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment