diff options
author | Stephan Sundermann <stephansundermann@gmail.com> | 2013-10-11 21:59:29 +0200 |
---|---|---|
committer | Stephan Sundermann <stephansundermann@gmail.com> | 2013-12-21 16:52:22 +0100 |
commit | 8386a11aae9c44272d5154b211b39d59d6a7a11c (patch) | |
tree | 98f0561b5e1d8c766b9c0e6a5315b83ee8f4800e /sources | |
parent | c5e5940a76f23fc9683fece785a4737c4a387386 (diff) |
NavigationAdapter: Added ParseCommand
Diffstat (limited to 'sources')
-rw-r--r-- | sources/custom/NavigationQuery.cs | 43 | ||||
-rw-r--r-- | sources/gstreamer-sharp.metadata | 3 |
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> |