Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
ee2a2df8
Commit
ee2a2df8
authored
Jul 06, 2015
by
dogmaphobic
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
iOS Build
parent
16ad6be3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
23 additions
and
13 deletions
+23
-13
QGCCommon.pri
QGCCommon.pri
+9
-6
VideoStreaming.pri
src/VideoStreaming/VideoStreaming.pri
+10
-3
basedelegate.cpp
src/VideoStreaming/gstqtvideosink/delegates/basedelegate.cpp
+1
-1
qwidgetvideosinkdelegate.cpp
...ing/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
+1
-1
gstqtquick2videosink.cpp
src/VideoStreaming/gstqtvideosink/gstqtquick2videosink.cpp
+1
-1
gstqtvideosinkbase.cpp
src/VideoStreaming/gstqtvideosink/gstqtvideosinkbase.cpp
+1
-1
No files found.
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 fu
lly fu
nctional")
} 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
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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