Commit Graph

231 Commits

Author SHA1 Message Date
Tangent 128 5cd28a6cdc use core Never type 2019-10-08 21:44:37 -04:00
Tangent 128 03ee74b6da Fix dyn syntax warning. 2019-09-23 16:34:28 -04:00
Tangent 128 480fd1696a Use custom_error! for all Webmetro errors 2019-07-07 20:42:29 -04:00
Tangent 128 6895cde14a derive EBML errors via custom_error!{} 2019-07-07 20:10:46 -04:00
Tangent 128 e92ffb06a7 rephrase tests to not require PartialEq on errors 2019-07-07 19:54:55 -04:00
Tangent 128 eb5d206dd9 Use Rust 2018 Edition 2019-07-07 18:17:38 -04:00
Tangent 128 87eaed9c82 cargo fix for Rust 2018 2019-07-07 18:17:38 -04:00
Tangent 128 7c1a2e48b0 Support arbitrary number of streams; bump version to reflect URL change 2018-10-27 18:13:18 -04:00
Tangent 128 f1c1114835 Remove unneeded struct 2018-10-21 22:29:36 -04:00
Tangent 128 01bb2c2e19 Use warp framework for the relay_server 2018-10-21 19:19:27 -04:00
Tangent 128 161c9de472 Make EbmlStreamingParser operate on Buf items instead of AsRef<u8> 2018-10-21 19:09:37 -04:00
Tangent 128 a848502103 Factor out building a video/webm response. 2018-10-21 18:35:15 -04:00
Tangent 128 9b9b6beb54 Use hyper::Body instead of a custom Payload type 2018-10-21 02:25:24 -04:00
Tangent 128 26930b07e0 Fix `webmetro send` not exiting when stdin ends. 2018-10-21 02:22:46 -04:00
Tangent 128 b64e3f4bac use Bytes for shared buffers in WebM chunks 2018-10-21 01:53:16 -04:00
Tangent 128 5d25d5adb7 Have subcommands control launching the runtime. 2018-10-20 23:02:24 -04:00
Tangent 128 713a7d4741 Be less "clever" in main.rs, don't twist everything into the runtime. 2018-10-20 22:06:42 -04:00
Tangent 128 40a137e906 update tokio version 2018-09-20 20:58:51 -04:00
Tangent 128 17427be5ef Update version of bytes 2018-09-20 20:13:27 -04:00
Tangent 128 08e8b1311f Use hyper-provided runtime instead of tokio-core 2018-09-18 02:29:01 -04:00
Tangent 128 14d468cc7d Update hyper to 0.12 2018-09-18 02:15:02 -04:00
Tangent 128 55e1f29906 use impl Future in a few places 2018-05-13 21:05:51 -04:00
Tangent 128 4f6cc00fe6 Add anticaching headers 2018-04-26 02:19:14 -04:00
Tangent 128 603e741753 Add X-Accel-Buffering header & Nginx proxying instructions 2018-04-25 01:24:43 -04:00
Tangent 128 0e370556a2 add a little documentation re: soft buffer limits 2018-04-16 01:58:28 -04:00
Tangent 128 32cf6dd2ef Add buffer size limit to chunker 2018-04-16 01:16:03 -04:00
Tangent 128 982c5c2dcb Limit buffer size for stream parser 2018-04-16 00:59:53 -04:00
Tangent 128 0f3e941031 Remove debug prints from relay command 2018-04-15 23:43:15 -04:00
Tangent 128 8b27dc7d8f Fix upload tool, keep request active instead of dropping the Response 2018-04-15 22:07:21 -04:00
Tangent 128 8d76bd5c57 Cleanup error handling 2018-04-15 22:06:42 -04:00
Tangent 128 739862bc35 Add send subcommand for uploading WebM 2018-04-15 01:43:23 -04:00
Tangent 128 885681f009 Add some reusable error conversions 2018-04-15 01:42:47 -04:00
Tangent 128 ee82846590 Use tokio_core instead of runtime as top loop 2018-04-15 01:21:00 -04:00
Tangent 128 49541347a4 Give all subcommands option of returning a future to run in a Tokio context 2018-04-14 22:35:32 -04:00
Tangent 128 0075e52f7b Run filter under Tokio runtime so that Delay works 2018-04-14 18:44:53 -04:00
Tangent 128 ab55d951a0 Use nonzero exit code on error. 2018-04-14 18:44:19 -04:00
Tangent 128 a847d62b34 Have utilities read stdin via tokio_io wrapper 2018-04-14 18:18:50 -04:00
Tangent 128 e77a3d0e98 Implement Throttle filter (fails because not executed on runtime) 2018-04-14 05:04:46 -04:00
Tangent 128 9123d63343 Express filter as a future 2018-04-14 04:56:24 -04:00
Tangent 128 8b0467c1d7 Add Send bound to WebmetroError::Unknown 2018-04-14 04:56:24 -04:00
Tangent 128 2170096a21 Make WebmChunker use WebmetroError 2018-04-14 04:56:24 -04:00
Tangent 128 bf56789810 Make EbmlStreamingParser use WebmetroErrors specifically 2018-04-14 04:56:24 -04:00
Tangent 128 a9932ee6a1 Create unified error type 2018-04-14 04:56:24 -04:00
Tangent 128 6434db0f82 Stub out throttle filter 2018-04-12 23:29:12 -04:00
Tangent 128 413375102e Implement core of filter subcommand 2018-04-12 23:07:13 -04:00
Tangent 128 bac34e94c5 impl Error for error types 2018-04-12 02:07:46 -04:00
Tangent 128 e61244bce3 Factor StdinStream out of dump applet 2018-04-12 00:14:16 -04:00
Tangent 128 9b1e61ff80 delete bin/ toys that aren't especially useful anymore 2018-04-11 22:47:03 -04:00
Tangent 128 f890437c17 convert bin/stub into a sanity test 2018-04-11 22:45:53 -04:00
Tangent 128 da54623006 Move bin/dump into a debug subcommand, read stdin instead of a file 2018-04-11 21:54:02 -04:00
Tangent 128 9dbd59c313 Use ? error handling in subcommands 2018-04-11 19:45:02 -04:00
Tangent 128 97359801c2 Print help by default 2018-04-11 01:50:18 -04:00
Tangent 128 7563c3ef46 Support PUT streams too 2018-04-11 01:43:40 -04:00
Tangent 128 98f7f446f9 Move relay_server into a subcommand 2018-04-11 01:39:28 -04:00
Tangent 128 f3aa76243f Create stub main binary, using clap argument parser 2018-04-11 00:55:41 -04:00
Tangent 128 2310aabe2f Rename crate to webmetro 2018-04-10 01:53:58 -04:00
Tangent 128 4970603236 Drop unknown elements when building header 2018-04-09 22:52:01 -04:00
Tangent 128 bf0f727b03 Stub out a one-channel video relay server 2018-04-09 21:00:51 -04:00
Tangent 128 96f6ec8115 bit of debug support 2018-04-09 21:00:36 -04:00
Tangent 128 075c840a46 Use Never type & add missing Transmitter::new() to channel.rs 2018-04-09 18:26:52 -04:00
Tangent 128 adea1e4389 Remove unused generic parameter from Chunk 2018-04-09 17:53:32 -04:00
Tangent 128 065e653f86 channel.rs: First stab at core of a relay server 2018-04-09 15:53:30 -04:00
Tangent 128 ff8d4e9126 Break out "find starting point" fixer operator 2018-04-08 02:31:00 -04:00
Tangent 128 b7ee425905 Tidy Stream extension trait impl 2018-04-07 01:09:17 -04:00
Tangent 128 9ca384f9da streamline loop_server stream construction 2018-04-05 20:16:37 -04:00
Tangent 128 7d4a26dad5 Make chunker handle additional headers (such as from concatenated files) 2018-04-05 20:14:10 -04:00
Tangent 128 6eca0b923d Zap unused lifetime 2018-04-05 19:59:39 -04:00
Tangent 128 409e6eb029 Make control flow of chunker state machine slightly clearer. 2018-04-05 19:58:21 -04:00
Tangent 128 2bdbe21a73 Rename timecode_fixer to fixers 2018-04-04 20:26:02 -04:00
Tangent 128 45e9054f36 Move redundant fixer implementation into example code 2018-04-04 20:19:28 -04:00
Tangent 128 7b9df1e269 Treat WebmElements as value types 2018-04-04 19:55:20 -04:00
Tangent 128 45012385c2 Tidy stream_parser 2018-04-04 19:46:28 -04:00
Tangent 128 be92d04c09 rename EbmlStreamingParser to reflect genericity, change construction to Stream extension 2018-04-04 01:36:15 -04:00
Tangent 128 8189794287 Tidy some imports 2018-04-04 01:21:13 -04:00
Tangent 128 d0fd4d4bc9 Simplify EbmlIterator & EbmlSlice's next() methods, fix EbmlIterator generic
(they don't have dynamic buffers to worry about)
2018-04-04 01:18:56 -04:00
Tangent 128 3a92da1883 Split apart iterator and slice modules 2018-04-04 00:43:32 -04:00
Tangent 128 9686eb2713 Rename EbmlError 2018-04-04 00:16:35 -04:00
Tangent 128 ee068bc887 Shrink EbmlSlice trait implementations 2018-04-04 00:12:55 -04:00
Tangent 128 2db227c5f9 Cleanup, use EbmlSlice as name 2018-04-03 23:38:31 -04:00
Tangent 128 0909a20a8c generalize WebmEventSource -> EbmlEventSource 2018-04-03 23:23:19 -04:00
Tangent 128 413f7759c6 Make the buffer generic 2018-04-03 22:06:09 -04:00
Tangent 128 c92273625e Cleanup poll_event's try_decode hack. 2018-04-03 21:19:46 -04:00
Tangent 128 bebe593c30 Lifetime simplification reflecting probably-better understanding of them 2018-04-03 19:07:16 -04:00
Tangent 128 724eabf326 Use WebmBuffer in loop_server 2018-04-02 20:12:26 -04:00
Tangent 128 12cd1bdd4b Debugging formatting 2018-04-02 20:11:54 -04:00
Tangent 128 c5a42afd32 Fix bug with WebmBuffer double-counting reads 2018-04-02 20:11:14 -04:00
Tangent 128 c6ab5e8e89 Fix name collision 2018-04-02 20:10:50 -04:00
Tangent 128 719b11dd01 Zap some generic code that wasn't going anywhere 2018-04-02 19:37:36 -04:00
Tangent 128 90c1892668 Commonize some code for EbmlCursor 2018-04-02 19:12:28 -04:00
Tangent 128 0e2e5ad48a Tidy cursor iteration module a little 2018-04-02 18:46:50 -04:00
Tangent 128 56a7284e32 Focus on Webm case specifically to get working code
can retry generic EBML later
2018-04-02 18:37:47 -04:00
Tangent 128 11bb7f4412 Fix EBML Source lifetimes, breaking the chunker 2018-04-02 13:55:13 -04:00
Tangent 128 495ca0f555 Stream buffer/parser experiment, lifetime issues are snarling though 2018-03-31 21:36:47 -04:00
Tangent 128 f385371bb9 Make loop server iteration count more flexible than a chain 2018-03-30 02:54:02 -04:00
Tangent 128 00fc1fcb2a Correct the chunk-based timecode fixer 2018-03-30 02:44:42 -04:00
Tangent 128 d9e197ec7d Skip Info/Void in header for now 2018-03-30 02:26:52 -04:00
Tangent 128 86d047e217 Debug derives 2018-03-30 02:26:35 -04:00
Tangent 128 a8fa279201 bump dependency versions 2018-03-30 01:43:44 -04:00
Tangent 128 417cbf49c7 Create EbmlEventSource trait since Iterators/Streams can't return borrows 2018-03-30 01:33:13 -04:00
Tangent 128 f8db95e61e Make ClusterHead a first-class struct, simplifying a lot of enum wrangling 2018-03-28 00:31:58 -04:00