Sebastian Dröge
b7c396d70b
Complete basesrc subclassing infrastructure
2017-09-23 19:54:36 +03:00
Sebastian Dröge
a0bac4a722
Add interface infrastructure and GstURIHandler support
2017-09-23 19:20:23 +03:00
Sebastian Dröge
4ee8b12e66
Add infrastructure for installing various kinds of properties
...
From both the subclass and the implementation
2017-09-23 12:57:15 +03:00
Sebastian Dröge
1c997c171d
Make some unnecessarily mutable variables immutable
2017-09-22 14:37:15 +03:00
Sebastian Dröge
950a7d5b0d
Mark the abstract base types as actually abstract
...
Without implementation they can't be instantiated
2017-09-22 14:08:45 +03:00
Sebastian Dröge
0d22579297
Get rid of demuxer wrapper
...
It was just an unneeded layer of indirection now after all the
refactoring
2017-09-22 13:49:19 +03:00
Sebastian Dröge
cda23d5c41
Implement generic object subclass creation in a more... generic... way
...
That actually works for subclasses of subclasses too without too much
boilerplate, and also keeps the GObject boilerplate in a single file
instead of having it for every single subclass.
2017-09-22 13:35:17 +03:00
Sebastian Dröge
8d253fd46a
Minor cleanup
2017-09-19 16:05:21 +03:00
Sebastian Dröge
62a237ff0c
Implement a generic Element implementation infrastructure
...
And implement the Demuxer base class on top of that, with no unsafe code
left whatsoever
2017-09-19 14:56:04 +03:00
Sebastian Dröge
2781e0b3d8
Port demuxer to plain Rust
2017-09-18 21:29:42 +03:00
Sebastian Dröge
7e7433037d
Port everything over to gstreamer-rs
...
And remove all unneeded code and unused external crates.
2017-09-16 20:35:01 +03:00
Sebastian Dröge
5ae66e191c
Run everything through latest rustfmt-nightly
2017-09-15 11:54:38 +03:00
Sebastian Dröge
71dcb979c7
Fix various compiler warnings in demuxer C code
2017-09-10 14:02:46 +03:00
Sebastian Dröge
338f2dcb92
Remove versions of git dependencies
2017-09-09 00:51:19 +03:00
Sebastian Dröge
6c28d5b194
Remove Cargo.lock
2017-09-09 00:51:06 +03:00
Sebastian Dröge
782fe5dcc9
Add travis.yml
2017-08-18 13:09:25 +03:00
Sebastian Dröge
37a673ce24
Use muldiv crate for timestamp calculations
2017-08-18 12:55:24 +03:00
Sebastian Dröge
d68effa8e4
Update all kinds of dependencies
2017-08-18 12:52:17 +03:00
Sebastian Dröge
09f3a9ae9b
Ship Cargo.lock in git
2017-08-02 11:35:45 +03:00
Sebastian Dröge
81e3900da1
Fix typo in README.md
2017-08-01 19:19:00 +03:00
Michal Budzynski
8045c74520
updated Makefile to use cargo build all
2017-08-01 19:15:27 +03:00
Michal Budzynski
1ee8d79d45
Removed self.logger.clone()
in filesink/filesrc with split borrows
2017-08-01 19:15:27 +03:00
Sebastian Dröge
e38c079c9e
Update README.md to mention the application-side bindings, the license and contributions
2017-08-01 19:15:10 +03:00
Sebastian Dröge
dd5af12ebe
Rename used crates (gst -> gst_ffi, etc) and import gstreamer code
2017-07-31 23:26:52 +01:00
Sebastian Dröge
6f04ddf797
Run everything through rustfmt-nightly
2017-07-31 14:36:35 +01:00
Sebastian Dröge
3c27685e38
Update gst-plugin-http to reqwest 0.7
2017-07-31 14:29:11 +01:00
Sebastian Dröge
94016c39b0
Update to nom 3.0, bitflags 0.9
2017-06-06 13:29:19 +03:00
Sebastian Dröge
340e8836bb
Update to reqwest 0.6
2017-05-10 11:26:45 +02:00
Sebastian Dröge
d962acc8c3
Update to released versions of glib-sys/gstreamer-sys
2017-05-10 11:25:17 +02:00
Sebastian Dröge
52981968f6
Use raw pointers instead of &'static references
...
&'static is wrong here is the pointers are only valid for the lifetime
of the surrounding struct.
Also place a PhantomData<T> inside the structs as conceptually we own a
T, see std::ptr::Unique and
https://github.com/rust-lang/rfcs/blob/master/text/0769-sound-generic-drop.md#phantom-data
Need to add the PhantomData<T> elsewhere too.
2017-04-27 12:33:28 +03:00
Sebastian Dröge
c6addbfe48
Remove From<&T> impls for GstRc<T>
...
Instead of this, ToOwned should be used.
2017-04-24 17:28:26 +03:00
Sebastian Dröge
139c9be958
Minor cleanup
2017-04-24 10:13:32 +01:00
Sebastian Dröge
9b593136da
Rewrite MiniObject bindings
...
These now use references were applicable and GstRef became useless
2017-04-24 10:06:38 +01:00
Sebastian Dröge
2232af41b6
Refactor Structure bindings and allow getting Structures from Caps
2017-04-21 22:04:08 +01:00
Sebastian Dröge
df51424631
Structure/Caps API improvements
2017-04-21 12:18:41 +01:00
Sebastian Dröge
757d7532c1
Fix various clippy warnings
2017-04-20 20:37:08 +01:00
Sebastian Dröge
154e996e2d
Implement Iterator::size_hint(), ExactSizeIterator and DoubleEndedIterator for our iterators
2017-04-20 20:28:03 +01:00
Sebastian Dröge
deef22cd28
Add bindings for GstStructure
2017-04-19 20:57:33 +01:00
Sebastian Dröge
8ea9e66797
Add Tag iterator for iterating one specific tag
2017-04-19 12:26:33 +01:00
Sebastian Dröge
e45ff7241e
Remove some unneeded trait bounds in the taglist bindings
2017-04-19 12:11:31 +01:00
Sebastian Dröge
1bf20bfea4
Implement ValueRef and TypedValueRef for wrapping around a unowned GValue pointer without copying
...
Also rename new_from*() functions to from*() for consistency.
2017-04-19 11:59:44 +01:00
Sebastian Dröge
2d97baaf96
Rewrite GValue bindings
2017-04-18 20:42:23 +01:00
Sebastian Dröge
a808c34794
Use g_strndup() instead of creating a CString and then g_strdup() it
...
Creating a CString involves potentially some additional allocations.
2017-04-14 12:41:39 +03:00
Sebastian Dröge
9864413be2
Run everything through new rustfmt
2017-04-12 16:46:11 +03:00
Sebastian Dröge
021de8af1f
Update to slog 2.0
2017-04-12 16:44:34 +03:00
Sebastian Dröge
0cf169aa20
Fix some clippy warnings
2017-04-10 20:00:22 +03:00
Sebastian Dröge
7139551773
Port sink C code to Rust
2017-04-10 19:52:00 +03:00
Sebastian Dröge
d72f1f716b
Port C code for the source to pure Rust
2017-04-10 19:52:00 +03:00
Sebastian Dröge
50829bdec9
Store GWeakRef in a Box
...
Its memory location is important, and having it stored directly inside
the struct allows it to possible be moved to a different address.
2017-04-10 16:59:34 +03:00
Sebastian Dröge
24a10bb614
Port everything else over to glib/gobject/gstreamer-sys
2017-04-10 00:29:07 +03:00