Commit graph

122 commits

Author SHA1 Message Date
Sebastian Dröge e64facc254 Change license from LGPLv2.1+ to Apache2/MIT
https://github.com/sdroege/rsplugin/issues/7
2017-02-16 17:52:27 +02:00
Sebastian Dröge 6b7e6d8e6c Add unit test for buffers that checks the miniobject writability wrapping 2017-02-04 17:51:05 +01:00
Sebastian Dröge 9e59eff973 Fix some clippy warnings 2017-02-03 15:57:49 +01:00
Sebastian Dröge 7b5764e759 Implement GstRc/GstRef wrapper for GstMiniObject
Keeps the miniobject specific code local and provides a more similar API
to Rc/Arc. Also makes it impossible to accidentially try writing to an
unwritable miniobject.
2017-02-03 15:57:49 +01:00
Sebastian Dröge 99a9b7fedc Update to reqwest 0.4 2017-02-03 16:34:01 +02:00
Sebastian Dröge 19936e4eae Do LTO for release builds 2017-02-02 21:11:06 +02:00
Sebastian Dröge 974a689fd7 Keep amount of unsafe code a bit smaller for the GstStream* stream IDs 2017-01-23 21:17:36 +02:00
Sebastian Dröge 2ec438e5b8 Add Eq/PartialEq instances for TagList and Caps 2017-01-23 18:31:51 +02:00
Sebastian Dröge 1ee7c8b9e3 Return stream IDs directly instead of creating an owned String 2017-01-23 18:26:42 +02:00
Sebastian Dröge 7a33a4177f Improve C string handling a bit
These are always going to be valid UTF-8 or things are very wrong.
2017-01-23 14:35:16 +02:00
Sebastian Dröge e2b18a91e0 Add bindings for GstStream and GstStreamCollection
To be used in the demuxer for tracking streams and their related
information.
2017-01-22 20:13:07 +02:00
Sebastian Dröge 509810e87a Add tags support 2017-01-18 14:36:11 +02:00
Sebastian Dröge aa54f1a4e6 Use num_rational instead of home-baked (u32, u32) fractions 2017-01-15 20:56:20 +01:00
Sebastian Dröge 620cf7c5f7 Minor cleanup 2017-01-14 18:15:06 +01:00
Sebastian Dröge 3e17102166 Add API to create a Buffer from a Vec<u8> with memory reuse and use it for the Speex headers 2017-01-14 18:04:55 +01:00
Sebastian Dröge 745a6a3c17 Implement From<_> for Value to simplify code a lot 2017-01-13 21:45:23 +01:00
Sebastian Dröge ac9ba47403 Move Value code into its own module 2017-01-13 19:16:12 +02:00
Sebastian Dröge 93f09c8a4a Add support for Speex to FLV demuxer
... and arrays of values in caps while at the same time refactoring the
Value code a bit.
2017-01-13 19:04:51 +02:00
Sebastian Dröge 2ce9aa7b58 Update to reqwest 0.3 (hyper 0.10) 2017-01-12 11:07:39 +02:00
Sebastian Dröge 3b299f3fb6 Simplify caps a bit by using slices instead of IntoIterator
IntoIterator did not work as expected anyway and would require usage of
AsRef, which then breaks type inference for empty slices for example.
2017-01-09 20:55:10 +02:00
Sebastian Dröge fc7116c4e1 Fix for flavors API fixups related to strict arrays 2017-01-09 01:44:55 +02:00
Sebastian Dröge e9cf54d43b Add support for AAC and AVC/H264 in FLV 2017-01-06 00:46:59 +02:00
Sebastian Dröge 0fabdf3774 Add caps from string binding 2016-12-30 19:05:04 +02:00
Sebastian Dröge 80ba9a8b8f Use caps also for the demuxer sink/src pad templates instead of strings 2016-12-30 19:02:31 +02:00
Sebastian Dröge e26cdc9187 Implement a minimal GstCaps binding and use it in the demuxer 2016-12-30 12:11:30 +01:00
Sebastian Dröge ec0539de0a Add logging to FLV demuxer 2016-12-27 17:14:39 +01:00
Sebastian Dröge 137a14360f Add debug logging everywhere 2016-12-27 16:47:39 +01:00
Sebastian Dröge c9aad84898 Only format strings, etc in debug log handler if the configured threshold is higher than the level 2016-12-26 10:53:36 +01:00
Sebastian Dröge fb21d62868 Add simple Makefile to build all subprojects 2016-12-25 12:35:34 +01:00
Sebastian Dröge fa6712e5aa Fix some clippy warnings 2016-12-25 12:28:17 +01:00
Sebastian Dröge bccf3805a1 Ignore stop failures
stop should only really fail if everything is broken, but we can always
recover somehow here.
2016-12-25 12:20:44 +01:00
Sebastian Dröge 961d6ce115 Add .gitignore 2016-12-25 12:16:39 +01:00
Sebastian Dröge 8ee1f72184 Add support for logging via slog 2016-12-25 12:16:12 +01:00
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
Sebastian Dröge 19c8caee1e Minor cleanup 2016-12-23 17:36:14 +02:00
Sebastian Dröge 78450a035d Create GStreamer plugin from Rust and have the plugin entry point written in Rust 2016-12-23 17:36:14 +02:00
Sebastian Dröge cc183ea92e Properly convert the f64 framerate to a fraction 2016-12-23 17:36:14 +02:00
Sebastian Dröge f9cd9e128d Add support for more codecs
Only Speex, AAC and H264 are missing now, which require a little bit
more work.
2016-12-23 17:36:14 +02:00
Sebastian Dröge 7ef2679cb5 Implement metadata handling 2016-12-23 17:36:14 +02:00
Sebastian Dröge d804590106 Further cleanup and refactoring of the FLV demuxer 2016-12-23 17:36:14 +02:00
Sebastian Dröge 9e53c0a926 Simplify state handling
This is not too nice now as we have None values to unwrap, but the code
is at least less convoluted.
2016-12-23 17:36:14 +02:00
Sebastian Dröge 62d24efc04 WIP demuxer 2016-12-23 17:35:57 +02:00
Sebastian Dröge ed2bcf875a Use reqwest 0.2 release
It has the needed changes now
2016-12-23 17:35:31 +02:00
Sebastian Dröge 9e2c25653f Simplify some more code 2016-11-29 20:44:35 +02:00
Sebastian Dröge cef8d28974 Some minor buffer changes 2016-11-29 20:44:34 +02:00
Сухарик 1751b5c400 Improve readability of the code a little 2016-11-25 14:54:46 +02:00
Sebastian Dröge eac466040e Move duplicated code into a function 2016-11-23 22:09:51 +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 f7148bd910 Port HTTP source from hyper to reqwest 2016-11-14 20:57:54 +02:00