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
bf304e55
Unverified
Commit
bf304e55
authored
Mar 23, 2020
by
Gus Grubba
Committed by
GitHub
Mar 23, 2020
Browse files
Merge pull request #8548 from andrewvoznytsa/pr-gstqgcvideosinkbin-update
gstqgcvideosinkbin update
parents
228d100a
16e817db
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/VideoStreaming/VideoManager.cc
View file @
bf304e55
...
...
@@ -464,6 +464,8 @@ VideoManager::_makeVideoSink(gpointer widget)
if
((
sink
=
gst_element_factory_make
(
"qgcvideosinkbin"
,
nullptr
))
!=
nullptr
)
{
g_object_set
(
sink
,
"widget"
,
widget
,
NULL
);
// FIXME: AV: temporally disable sync due to MPEG2-TS sync issues
g_object_set
(
sink
,
"sync"
,
FALSE
,
NULL
);
}
else
{
qCritical
()
<<
"gst_element_factory_make('qgcvideosinkbin') failed"
;
}
...
...
src/VideoStreaming/gstqgcvideosinkbin.c
View file @
bf304e55
...
...
@@ -46,6 +46,7 @@ enum {
PROP_WIDGET
,
PROP_FORCE_ASPECT_RATIO
,
PROP_PIXEL_ASPECT_RATIO
,
PROP_SYNC
,
};
#define PROP_ENABLE_LAST_SAMPLE_NAME "enable-last-sample"
...
...
@@ -53,11 +54,13 @@ enum {
#define PROP_WIDGET_NAME "widget"
#define PROP_FORCE_ASPECT_RATIO_NAME "force-aspect-ratio"
#define PROP_PIXEL_ASPECT_RATIO_NAME "pixel-aspect-ratio"
#define PROP_SYNC_NAME "sync"
#define DEFAULT_ENABLE_LAST_SAMPLE TRUE
#define DEFAULT_FORCE_ASPECT_RATIO TRUE
#define DEFAULT_PAR_N 0
#define DEFAULT_PAR_D 1
#define DEFAULT_SYNC TRUE
static
GstBinClass
*
parent_class
;
...
...
@@ -125,9 +128,6 @@ _vsb_init(GstQgcVideoSinkBin *vsb)
break
;
}
// FIXME: AV: temporally disable sync due to MPEG2-TS sync issues
g_object_set
(
vsb
->
qmlglsink
,
"sync"
,
FALSE
,
NULL
);
if
((
glcolorconvert
=
gst_element_factory_make
(
"glcolorconvert"
,
NULL
))
==
NULL
)
{
GST_ERROR_OBJECT
(
vsb
,
"gst_element_factory_make('glcolorconvert' failed)"
);
break
;
...
...
@@ -259,6 +259,13 @@ _vsb_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *psp
gst_value_set_fraction
(
value
,
num
,
den
);
}
while
(
0
);
break
;
case
PROP_SYNC
:
do
{
gboolean
enable
=
FALSE
;
g_object_get
(
G_OBJECT
(
vsb
->
qmlglsink
),
PROP_SYNC_NAME
,
&
enable
,
NULL
);
g_value_set_boolean
(
value
,
enable
);
}
while
(
0
);
break
;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID
(
object
,
prop_id
,
pspec
);
break
;
...
...
@@ -285,6 +292,9 @@ _vsb_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpe
case
PROP_PIXEL_ASPECT_RATIO
:
g_object_set
(
G_OBJECT
(
vsb
->
qmlglsink
),
PROP_PIXEL_ASPECT_RATIO_NAME
,
gst_value_get_fraction_numerator
(
value
),
gst_value_get_fraction_denominator
(
value
),
NULL
);
break
;
case
PROP_SYNC
:
g_object_set
(
G_OBJECT
(
vsb
->
qmlglsink
),
PROP_SYNC_NAME
,
g_value_get_boolean
(
value
),
NULL
);
break
;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID
(
object
,
prop_id
,
pspec
);
break
;
...
...
@@ -357,6 +367,11 @@ _vsb_class_init(GstQgcVideoSinkBinClass *klass)
G_MAXINT
,
1
,
1
,
1
,
(
GParamFlags
)(
G_PARAM_READWRITE
|
G_PARAM_STATIC_STRINGS
)));
g_object_class_install_property
(
gobject_klass
,
PROP_SYNC
,
g_param_spec_boolean
(
PROP_SYNC_NAME
,
"Sync"
,
"Sync on the clock"
,
DEFAULT_SYNC
,
(
GParamFlags
)(
G_PARAM_READWRITE
|
G_PARAM_STATIC_STRINGS
)));
gst_element_class_set_static_metadata
(
gstelement_klass
,
"QGC Video Sink Bin"
,
"Sink/Video/Bin"
,
"Video rendering for QGC"
,
...
...
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