Commit graph

23 commits

Author SHA1 Message Date
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 8514d46092 Use a Mutex to protect the URI storage
get_uri()/set_uri() can be called at any time from any thread, only
all other methods of Source/Sink are guaranteed to be called by only
a single thread at a time.
2016-05-23 20:29:01 +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 87bd914cad Some minor cleanup 2016-05-15 16:16:55 +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 ec01d11393 Register types from Rust and abstract the source to be able to handle other implementations too 2016-05-14 15:47:06 +03:00
Sebastian Dröge 4d989404b0 Move stuff around into different modules 2016-05-14 14:44:49 +03:00
Sebastian Dröge 35a7cfa032 Use a Source trait instead of directly working with FileSrc 2016-05-14 13:34:50 +03:00
Sebastian Dröge 15865ab86b Implement parsing of URIs in Rust 2016-05-14 12:34:50 +03:00
Sebastian Dröge 5b6a05b548 Implement some error handling and seek support
This now works as a proper replacement of filesrc.
2016-05-14 11:31:13 +03:00
Sebastian Dröge 98c015281e Implement GstURIHandler interface and handle short reads 2016-05-14 11:09:48 +03:00
Sebastian Dröge 924b105147 Implement get_size() 2016-05-13 19:06:06 +03:00
Sebastian Dröge 99070d0a9f Initial file reading without error handling, etc 2016-05-13 19:04:10 +03:00
Sebastian Dröge 8f3d49be31 Move everything into the FileSrc implementation 2016-05-13 18:54:06 +03:00
Sebastian Dröge 76a5226f79 Fill buffer from Rust code 2016-05-13 18:38:28 +03:00
Sebastian Dröge d9657423a4 Add all other needed functions 2016-05-13 18:16:49 +03:00
Sebastian Dröge 0b67ffc9c7 Add location property handling 2016-05-13 18:02:19 +03:00
Sebastian Dröge 833148cef6 Use Box::from/into_raw() 2016-05-13 17:43:32 +03:00
Sebastian Dröge 6a3a42717f Add a Rust struct and store/use it in the C code 2016-05-13 17:35:09 +03:00
Sebastian Dröge 9bb2d32c75 Initial commit 2016-05-13 16:35:48 +03:00