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