Commit graph

243 commits

Author SHA1 Message Date
Sebastian Dröge
808ff293ec Regenerate everything with latest gir 2018-03-02 21:34:29 +02:00
Sebastian Dröge
4117c01ff2 Run everything through latest rustfmt-nightly 2018-02-22 11:18:37 +01:00
Sebastian Dröge
f1426c82ba Remove callback guards
Since Rust 1.24 it is safe to let panics go to the FFI boundary
2018-02-17 19:58:41 +02:00
Sebastian Dröge
6d0d7a3df8 Regenerate everything with latest GIR 2018-02-06 16:42:34 +02:00
Sebastian Dröge
e0dc84c10a Run everything through rustfmt again 2017-12-20 19:30:14 +02:00
Sebastian Dröge
8bdd24a840 Run everything through rustfmt again 2017-12-16 14:53:00 +02:00
Sebastian Dröge
70e031b729 VideoInfo/AudioInfo are not Sync, only Send 2017-12-16 11:40:36 +02:00
Sebastian Dröge
0eb32f0483 Some nullability fixes in gstreamer-audio 2017-12-16 10:56:59 +02:00
Sebastian Dröge
5065bc76ee Rename FormattedValue::from_glib/to_glib to from_raw/to_raw_value
Otherwise we conflict with GLib translation traits, which causes some
annoyances.
2017-12-10 12:10:25 +02:00
Sebastian Dröge
c99928d030 Change FormatValue related API to be more convenient to use
FormatValue is now renamed to GenericFormattedValue and the API slightly
changed. In addition there is now a FormattedValue trait, and a
SpecificFormattedValue trait plus types for Bytes, Buffers and the
existing ClockTime.

This allows to create functions like
  Pad::query_duration<F: SpecificFormattedValue>() -> Option<F>
and doesn't require the caller to unwrap the generic value anymore,
which is completely unneeded in these cases.

In addition, Segment became FormattedSegment<T> with API to
upcast/downcast between the specific formatted values and the generic
formatted value. This greatly simplifies usage of Segments.
2017-12-09 19:45:18 +02:00
Sebastian Dröge
8a2e78e586 Regenerate with latest GIR to fix various issues with property getters
Get rid of unneeded transmutes and actually initialize flags/enum
GValues with the correct type instead of using integers.
2017-11-27 19:16:34 +02:00
Sebastian Dröge
34f70ee0d7 Derive more useful traits for various enums 2017-11-27 14:03:30 +02:00
Sebastian Dröge
126159c762 Run everything through rustfmt once again 2017-11-11 13:31:01 +01:00
Sebastian Dröge
c39c0c7264 Implement ClockTime as ClockTime(Option<u64>)
And also implement a FormatValue type that holds a value together with
its format to make usage of the positions/durations/seek positions/etc
more convenient and safe.

Fixes https://github.com/sdroege/gstreamer-rs/issues/3
2017-11-11 11:57:29 +01:00
Sebastian Dröge
5d266bf31b Regenerate with latest GIR
Which gives us mappings between instance and class struct for now.
2017-11-09 13:33:40 +02:00
Sebastian Dröge
3179806f01 Regenerate everything with latest GIR
And fix-up manual code
2017-11-05 19:08:39 +02:00
Sebastian Dröge
e1d134c4be Run everything through latest rustfmt-nightly 2017-10-17 12:06:51 +03:00
Sebastian Dröge
92e0b525ad Fix build of unit tests 2017-10-01 16:02:29 +02:00
Sebastian Dröge
19c5556239 Regenerate with latest GIR 2017-10-01 15:52:15 +02:00
Sebastian Dröge
b4cb81cd56 Run everything through latest rustfmt-nightly 2017-09-10 15:21:26 +03:00
Sebastian Dröge
3b0e6843e2 Regenerate everything with latest GIR 2017-09-09 16:35:01 +03:00
Sebastian Dröge
062b596432 Fix-up various unused external crate warnings 2017-09-01 13:42:59 +03:00
Sebastian Dröge
380fb319ba Don't return &'static references from functions but give them a generic lifetime
https://github.com/rust-lang/rust/pull/42417#issue-233404573
2017-09-01 11:40:32 +03:00
Sebastian Dröge
52c013b834 Regenerate everything with latest GIR 2017-08-30 14:45:25 +03:00
Sebastian Dröge
f0935d7e1e Add remaining gst_init() assertions 2017-08-30 14:39:09 +03:00
Sebastian Dröge
f751afc0fb Add prelude modules to all cratest that only re-export the traits
And use those in the examples instead of blanket * imports
2017-08-17 18:02:25 +03:00
Sebastian Dröge
767bd0537e Only re-export traits once 2017-08-17 16:32:17 +03:00
fengalin
46327b231f Define Sync and Send traits for AudioInfo
Fixes https://github.com/sdroege/gstreamer-rs/pull/27
2017-08-15 17:32:44 +03:00
Sebastian Dröge
56847216a0 Use byte-slice-cast trait instead of our own minimal version of it 2017-08-14 20:45:35 +03:00
Sebastian Dröge
b655c838b2 Add helper for converting a raw audio buffer to an array of integers/floats 2017-08-11 17:09:32 +03:00
Sebastian Dröge
21c4173051 Fix up some integer types 2017-08-11 00:41:36 +03:00
Sebastian Dröge
885267ebee Add gst_audio_buffer_clip() bindings 2017-08-10 14:43:06 +03:00
Sebastian Dröge
e1538b6ca5 Add bindings for various audio channel position functions 2017-08-10 14:39:57 +03:00
Sebastian Dröge
8215770076 Move AudioFormat manual impls to new file 2017-08-10 11:24:16 +03:00
Sebastian Dröge
cff116c3aa Implement some more traits for AudioFormat and AudioFormatInfo 2017-08-10 11:14:08 +03:00
Sebastian Dröge
6b11b8b751 Explicitely ignore native endianness audio formats
We have to handle them separately depending on the current
configuration, and do so. Also fix things up there.
2017-08-10 10:51:22 +03:00
Sebastian Dröge
2b33885c1e Add some more convenience API to AudioInfo 2017-08-10 01:39:55 +03:00
Sebastian Dröge
cfe76a5fde Add missing assert_initialized_main_thread macro and use macros from glib 2017-08-10 01:33:13 +03:00
Sebastian Dröge
bc1f125abd Rename native endianness audio format constants to prevent conflicts 2017-08-10 01:30:02 +03:00
Sebastian Dröge
a411ae4173 Add GstStreamVolume interface 2017-08-10 01:28:29 +03:00
Sebastian Dröge
3bb0f5d9df Remove unused things from gstreamer-audio 2017-08-10 01:25:19 +03:00
Sebastian Dröge
ec41babc09 Implement all the translation traits for AudioInfo and AudioFormatInfo 2017-08-10 01:25:19 +03:00
Sebastian Dröge
c8910aae08 Initial gstreamer-audio bindings
Only wrapping AudioInfo and AudioFormatInfo and related for now.

https://github.com/sdroege/gstreamer-rs/issues/4
2017-08-09 20:33:45 +03:00