Commit graph

2911 commits

Author SHA1 Message Date
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
Sebastian Dröge
2408edf1bf Add initial implementation of a buffer adapter 2016-09-18 10:23:14 -04:00
Sebastian Dröge
b23385e88f Add some more Buffer API and use explicit bitflags instead of magic numbers 2016-09-18 10:23:14 -04: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
a2ff32d0be Update README.md with the follow-up blogpost 2016-09-08 11:49:56 +03: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
fa855ec2b2 Move sink_render() to a more logical place 2016-09-02 01:03:31 +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