diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-10-02 15:44:16 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-10-02 15:44:16 +0200 |
commit | 202b88f4380c76477fb79da5e15fe56d685cf988 (patch) | |
tree | 12ccbaf2bd5ddd2edd5c49e4c6ca447e3a951c80 | |
parent | 225d25aee57644b60681601243a6433dc8dcda42 (diff) |
Fix GstByteReader bindings
-rw-r--r-- | gstreamer-sharp/ByteReader.custom | 35 | ||||
-rw-r--r-- | gstreamer-sharp/Gstreamer.metadata | 33 | ||||
-rw-r--r-- | gstreamer-sharp/Makefile.am | 3 |
3 files changed, 70 insertions, 1 deletions
diff --git a/gstreamer-sharp/ByteReader.custom b/gstreamer-sharp/ByteReader.custom new file mode 100644 index 0000000..71bce84 --- /dev/null +++ b/gstreamer-sharp/ByteReader.custom @@ -0,0 +1,35 @@ +[DllImport ("libgstbase-0.10.dll", CallingConvention = CallingConvention.Cdecl) ] +static extern bool gst_byte_reader_peek_data (IntPtr raw, uint size, out IntPtr val); + +public bool PeekData (uint size, out byte[] val) { + IntPtr raw_ret; + + bool ret = gst_byte_reader_peek_data (Handle, size, out raw_ret); + + if (!ret || raw_ret == IntPtr.Zero) { + val = null; + } else { + val = new byte[size]; + Marshal.Copy (raw_ret, val, 0, (int) size); + } + + return ret; +} + +[DllImport ("libgstbase-0.10.dll", CallingConvention = CallingConvention.Cdecl) ] +static extern bool gst_byte_reader_get_data (IntPtr raw, uint size, out IntPtr val); + +public bool GetData (uint size, out byte[] val) { + IntPtr raw_ret; + + bool ret = gst_byte_reader_get_data (Handle, size, out raw_ret); + + if (!ret || raw_ret == IntPtr.Zero) { + val = null; + } else { + val = new byte[size]; + Marshal.Copy (raw_ret, val, 0, (int) size); + } + + return ret; +} diff --git a/gstreamer-sharp/Gstreamer.metadata b/gstreamer-sharp/Gstreamer.metadata index 8c96c30..70b3e00 100644 --- a/gstreamer-sharp/Gstreamer.metadata +++ b/gstreamer-sharp/Gstreamer.metadata @@ -1080,6 +1080,39 @@ <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_init']" name="hidden">1</attr> <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_init_from_buffer']" name="hidden">1</attr> <attr path="/api/namespace/struct[@cname='GstByteReader']/constructor[@cname='gst_byte_reader_new']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint8']" name="name">PeekUInt8</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint16_le']" name="name">PeekUInt16Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint16_be']" name="name">PeekUInt16Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint24_le']" name="name">PeekUInt24Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint24_be']" name="name">PeekUInt24Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint32_le']" name="name">PeekUInt32Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint32_be']" name="name">PeekUInt32Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint64_le']" name="name">PeekUint64Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_uint64_be']" name="name">PeekUInt64Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint8']" name="name">GetUInt8</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint16_le']" name="name">GetUInt16Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint16_be']" name="name">GetUInt16Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint24_le']" name="name">GetUInt24Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint24_be']" name="name">GetUInt24Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint32_le']" name="name">GetUInt32Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint32_be']" name="name">GetUInt32Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint64_le']" name="name">GetUint64Le</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_uint64_be']" name="name">GetUInt64Be</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_data']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_dup_data']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_data']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_dup_string_utf8']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_dup_string_utf16']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_skip_string_utf16']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_dup_string_utf32']" name="hidden">1</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_skip_string_utf32']" name="hidden">1</attr> + + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_skip_string_utf8']" name="name">SkipString</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_string_utf8']" name="name">GetString</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_get_string_utf8']/parameters/parameter[@name='str']" name="pass_as">out</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_string_utf8']" name="name">PeekString</attr> + <attr path="/api/namespace/struct[@cname='GstByteReader']/method[@cname='gst_byte_reader_peek_string_utf8']/parameters/parameter[@name='str']" name="pass_as">out</attr> + <!-- FIXME: Why can't this be parsed?! --> <add-node path="/api/namespace[@name='Gst.Base']"> diff --git a/gstreamer-sharp/Makefile.am b/gstreamer-sharp/Makefile.am index b0e1dc6..d4d2786 100644 --- a/gstreamer-sharp/Makefile.am +++ b/gstreamer-sharp/Makefile.am @@ -114,7 +114,8 @@ customs = \ Adapter.custom \ Controller.custom \ ControlSource.custom \ - VideoUtil.custom + VideoUtil.custom \ + ByteReader.custom plugin_csfiles = $(builddir)/coreplugins/generated/*.cs \ $(builddir)/baseplugins/generated/*.cs |