summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorStephan Sundermann <stephansundermann@gmail.com>2013-10-11 21:59:29 +0200
committerStephan Sundermann <stephansundermann@gmail.com>2013-12-21 16:52:22 +0100
commit8386a11aae9c44272d5154b211b39d59d6a7a11c (patch)
tree98f0561b5e1d8c766b9c0e6a5315b83ee8f4800e /sources
parentc5e5940a76f23fc9683fece785a4737c4a387386 (diff)
NavigationAdapter: Added ParseCommand
Diffstat (limited to 'sources')
-rw-r--r--sources/custom/NavigationQuery.cs43
-rw-r--r--sources/gstreamer-sharp.metadata3
2 files changed, 46 insertions, 0 deletions
diff --git a/sources/custom/NavigationQuery.cs b/sources/custom/NavigationQuery.cs
new file mode 100644
index 0000000..0338c1f
--- /dev/null
+++ b/sources/custom/NavigationQuery.cs
@@ -0,0 +1,43 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+namespace Gst.Video {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ public partial class NavigationAdapter {
+
+ public static bool ParseCommands (Gst.Query query, out NavigationCommand[] cmds) {
+ uint len;
+
+ cmds = null;
+ if (!QueryParseCommandsLength (query, out len))
+ return false;
+
+ cmds = new NavigationCommand[len];
+
+ for (uint i = 0; i < len; i++) {
+ NavigationCommand cmd;
+
+ if (!QueryParseCommandsNth (query, i, out cmd))
+ return false;
+ cmds[i] = cmd;
+ }
+
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/sources/gstreamer-sharp.metadata b/sources/gstreamer-sharp.metadata
index 804e72c..84e4eb0 100644
--- a/sources/gstreamer-sharp.metadata
+++ b/sources/gstreamer-sharp.metadata
@@ -112,6 +112,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_copy']" name="hidden">1</attr>
<attr path="/api/namespace/struct[@cname='GstByteReader']" name="opaque">1</attr>
<remove-node path="/api/namespace//struct[@cname='GstByteReader']//method" />
+ <!-- FIXME: remove when https://bugzilla.gnome.org/show_bug.cgi?id=709938 is fixed -->
+ <attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_query_parse_commands_length']/parameters/parameter[@name='n_cmds']" name="pass_as">out</attr>
+ <attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_query_parse_commands_nth']/parameters/parameter[@name='cmd']" name="pass_as">out</attr>
<!-- GstAudio -->
<attr path="/api/namespace/object[@cname='GstAudioClock']/field[@cname='destroy_notify']" name="hidden">1</attr>