summaryrefslogtreecommitdiffstats
path: root/sys/v4l2
diff options
context:
space:
mode:
Diffstat (limited to 'sys/v4l2')
-rw-r--r--sys/v4l2/gstv4l2element.c2
-rw-r--r--sys/v4l2/v4l2_calls.c19
2 files changed, 12 insertions, 9 deletions
diff --git a/sys/v4l2/gstv4l2element.c b/sys/v4l2/gstv4l2element.c
index 4b7c6182..a89e2bfb 100644
--- a/sys/v4l2/gstv4l2element.c
+++ b/sys/v4l2/gstv4l2element.c
@@ -540,7 +540,7 @@ gst_v4l2element_get_property (GObject * object,
guint flags = 0;
if (GST_V4L2_IS_OPEN (v4l2element)) {
- flags |= v4l2element->vcap.capabilities & 30007;
+ flags |= v4l2element->vcap.capabilities & 0x30007;
}
g_value_set_flags (value, flags);
break;
diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
index 7b32ad7c..fa9f3988 100644
--- a/sys/v4l2/v4l2_calls.c
+++ b/sys/v4l2/v4l2_calls.c
@@ -359,15 +359,18 @@ gst_v4l2_set_defaults (GstV4l2Element * v4l2element)
gst_tuner_channel_changed (tuner, channel);
g_object_notify (G_OBJECT (v4l2element), "channel");
}
- if (v4l2element->frequency != 0) {
- gst_tuner_set_frequency (tuner, channel, v4l2element->frequency);
- } else {
- v4l2element->frequency = gst_tuner_get_frequency (tuner, channel);
- if (v4l2element->frequency == 0) {
- /* guess */
- gst_tuner_set_frequency (tuner, channel, 1000);
+
+ if (GST_TUNER_CHANNEL_HAS_FLAG (channel, GST_TUNER_CHANNEL_FREQUENCY)) {
+ if (v4l2element->frequency != 0) {
+ gst_tuner_set_frequency (tuner, channel, v4l2element->frequency);
} else {
- g_object_notify (G_OBJECT (v4l2element), "frequency");
+ v4l2element->frequency = gst_tuner_get_frequency (tuner, channel);
+ if (v4l2element->frequency == 0) {
+ /* guess */
+ gst_tuner_set_frequency (tuner, channel, 1000);
+ } else {
+ g_object_notify (G_OBJECT (v4l2element), "frequency");
+ }
}
}
}