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
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