Commit graph

33 commits

Author SHA1 Message Date
Sebastian Dröge 89b0220e26 Build each component into its own GStreamer plugin 2016-12-23 19:04:32 +02:00
Sebastian Dröge e25f644f30 Refactor plugin registration 2016-12-23 18:11:48 +02:00
Сухарик 1751b5c400 Improve readability of the code a little 2016-11-25 14:54:46 +02:00
Sebastian Dröge 20a2c7bd33 Refactor code a bit to keep amount of unsafe code to a minimum 2016-11-23 22:09:51 +02:00
Sebastian Dröge 1ef938b6ec Make ScopedBuffer a bit safer and explicit 2016-09-12 19:18:36 +02:00
Sebastian Dröge 61b5420102 Add wrapper around GstBuffer and use it in the source/sink 2016-09-12 15:00:28 +02:00
Sebastian Dröge f9adac5f7e Never let panics propagate to C and instead convert them to error messages 2016-09-04 00:27:04 +03:00
Sebastian Dröge 95dd469fbf Make more pointers const 2016-09-03 23:49:54 +03:00
Sebastian Dröge 245d576159 Don't lock the URI mutex all the time while {Sink,Source}::{start,stop} is called but only when needed 2016-09-03 17:37:51 +03:00
Sebastian Dröge eee2653b76 Use None instead of u64::MAX for unknown/unspecified size/stop 2016-09-02 01:01:25 +03:00
Sebastian Dröge 4afdd2c985 Move thread-handling out of the actual Source/Sink implementation 2016-09-02 00:52:28 +03:00
Sebastian Dröge 742515aac1 Properly report error / error messages and make the trait APIs more Rust-like 2016-08-27 11:16:17 +03:00
Sebastian Dröge 9ae934e48a Make the UriError a bit nicer 2016-08-25 00:47:56 +03:00
Sebastian Dröge df50617c87 Add trait functions for getting back the controller 2016-08-25 00:08:06 +03:00
Sebastian Dröge 82c29d369d Properly report errors when setting the URI fails 2016-08-23 00:07:44 +03:00
Sebastian Dröge 6f6e56a5e3 Various further cleanups 2016-08-22 23:03:06 +03:00
Sebastian Dröge 086ec5b68d Fix up mutability
Rust assumes that there can only be a single mutable reference at any time, as
such make use of interior mutability with a mutex for all state of the
elements.
2016-08-22 22:25:58 +03:00
Sebastian Dröge 4eb3d879de Move FFI usage out of actual Sink/Source implementations 2016-08-10 18:27:38 +02:00
Sebastian Dröge e1d2751fc2 Pass native GStreamer element pointer to functions
This will later be used to catch panics, convert them to GStreamer errors and
invalidate the native instance.
2016-07-20 21:06:17 +03:00
Sebastian Dröge 4e053cd6bc Add new controller objects to Source/Sink
These store a pointer to the native GstElement and will allow calling back
into it later.
2016-07-20 14:50:35 +03:00
Sebastian Dröge 31fd26b982 Run everything through rustfmt 2016-07-20 11:28:58 +03:00
Sebastian Dröge 3db8882ce8 Pass Urls directly to the Source/Sink implementations instead of having them handle strings 2016-05-24 23:24:05 +03:00
Sebastian Dröge 5cc890cc04 Add comments about which Source/Sink methods are called from which threads
Source::get_size() / ::is_seekable() implementations need to be made
thread-safe still.
2016-05-23 21:35:03 +03:00
Sebastian Dröge 5673201400 Remove pointless cloning of URI in ::get_uri() 2016-05-22 16:29:25 +03:00
Sebastian Dröge ca4fa82ffe Make it an requirement to implement Source::do_seek() 2016-05-22 16:23:43 +03:00
Sebastian Dröge acc7d2ea26 Use Option<&str> instead of &Option<&str> for set_uri()
This seems more ergonomic to use, and is more common in other libraries.
2016-05-18 11:39:37 +03:00
Sebastian Dröge b8a031c29b Use Option<&str> instead of Option<String> for set_uri()
There is no reason to require a heap-allocated String here.
2016-05-18 11:29:57 +03:00
Sebastian Dröge 546d67fa5a Add license and copyright notices 2016-05-15 18:54:09 +03:00
Sebastian Dröge 400696fbf8 Minor cleanup and make mutability more restricted 2016-05-15 17:43:13 +03:00
Sebastian Dröge e43f247be3 Fix various compiler warnings 2016-05-15 17:34:13 +03:00
Sebastian Dröge 79aed66914 Require Sync and Send traits to be implemented for Sources 2016-05-15 11:55:52 +03:00
Sebastian Dröge fdab33f01b Map do_seek()
To be used in the HTTP source at some point
2016-05-14 17:57:25 +03:00
Sebastian Dröge 4d989404b0 Move stuff around into different modules 2016-05-14 14:44:49 +03:00