Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2014-07-17 | server: Fix another potential crash | Nirbheek Chauhan | 1 | -3/+3 | |
2014-07-17 | appsink: Force encodebin to create a keyframe when a client connects | Nirbheek Chauhan | 1 | -3/+15 | |
This avoids long waits when, for instance, the fps is 3, since the keyframe-max-dist is 128 | |||||
2014-07-15 | main: Remove a few more assertions | Nirbheek Chauhan | 1 | -9/+7 | |
2014-07-15 | main: Don't handle request-aborted | Nirbheek Chauhan | 1 | -20/+1 | |
We hardly get any context about it, and we never actually did anything there | |||||
2014-07-15 | server: Set headers such that browsers don't try to cache the stream | Nirbheek Chauhan | 1 | -0/+9 | |
Firefox in particular caches the stream very aggressively | |||||
2014-07-15 | server: Make cleanup on server exit and EOS more reliable | Nirbheek Chauhan | 1 | -6/+4 | |
2014-07-15 | appsink: Fix a rare crash | Nirbheek Chauhan | 1 | -0/+7 | |
2014-07-14 | encode: Don't leak sinkpad, remove outdated comment | Nirbheek Chauhan | 1 | -1/+0 | |
2014-07-14 | Improve latency by waiting for the next keyframe | Nirbheek Chauhan | 1 | -18/+12 | |
Instead of caching all the data from the previous keyframe till right now and sending it to the client in a burst, since latency is important, we instead wait for the next keyframe before sending buffers to the clients. This will lead to a delay of upto 128 frames before the stream starts. The keyframe distance and hence the delay can be tweaked by setting the "keyframe-max-dist" property on vp8enc in src/encode.c:create_webm_profile() | |||||
2014-07-14 | main: Add SIGINT handler | Nirbheek Chauhan | 1 | -0/+10 | |
2014-07-14 | debug: Remove extra newlines, and use g_critical everywhere | Nirbheek Chauhan | 1 | -25/+25 | |
2014-07-14 | appsink: Pull and write samples in the libsoup main context | Nirbheek Chauhan | 1 | -20/+17 | |
2014-07-14 | main: Add a FIXME, and be verbose when new requests come | Nirbheek Chauhan | 1 | -2/+6 | |
2014-07-14 | server: Always send data from the last keyframe | Nirbheek Chauhan | 1 | -10/+18 | |
Store non-keyframe buffers sent to fakesink, and push them to all new clients | |||||
2014-07-14 | debug: Make the server less noisy | Nirbheek Chauhan | 1 | -27/+21 | |
This is very spammy when we get content-length encoding PUT streams | |||||
2014-07-14 | Add two FIXMEs pointed out by slomo in his review | Nirbheek Chauhan | 1 | -0/+3 | |
WIP | |||||
2014-07-14 | write-chunks: Use gst_buffer_map instead of gst_memory_map | Nirbheek Chauhan | 1 | -5/+2 | |
Short-cut. Pointed out in a review by slomo. | |||||
2014-07-14 | debug: Use a macro for buffer read/write status printing | Nirbheek Chauhan | 1 | -4/+10 | |
2014-07-14 | appsink: Don't need to use pad blocking while linking from tee | Nirbheek Chauhan | 1 | -70/+56 | |
We still need to block while removing the appsink, though. Pointed out in a review by slomo | |||||
2014-07-14 | server: Fix cleanup of clients | Nirbheek Chauhan | 1 | -5/+6 | |
On forced server abort, as well as normal exit | |||||
2014-07-11 | server: Add support for aborting running streams | Nirbheek Chauhan | 1 | -3/+23 | |
This is useful to cancel streams that are taking too long to encode, etc | |||||
2014-07-11 | Remove trailing whitespace to make git happy | Nirbheek Chauhan | 1 | -17/+17 | |
2014-07-11 | server: Add support for persistent connection streams | Nirbheek Chauhan | 1 | -40/+159 | |
Now we also support Content-Length + Content-Range persistent HTTP connections for stream data. If no further data is received before `server_timeout`, we assume the stream has been closed. This is used by souphttpclientsink for sending streams. | |||||
2014-07-11 | misc: Fix/add a couple of error messages, etc | Nirbheek Chauhan | 1 | -3/+9 | |
2014-07-11 | clients: Fix increment of client timeout | Nirbheek Chauhan | 1 | -1/+1 | |
2014-07-11 | Add license headers and COPYING | Nirbheek Chauhan | 1 | -2/+21 | |
2014-07-11 | appsrc: Remove need-data/enough-data signal handlers | Nirbheek Chauhan | 1 | -24/+0 | |
Dead code. Signals were disabled, and using this and pausing the message causes problems with libsoup. | |||||
2014-07-10 | appsink: Add a client timeout, and handle eos separately | Nirbheek Chauhan | 1 | -5/+40 | |
If no chunks are written to a client for 10 seconds, we end that stream and clean it up. This is currently happening due to a bug, but might happen due to bad/slow clients as well. Instead of handling EOS from null samples, handle EOS through the signal handler. This is a more reliable way of handling EOS, and also works when the whole pipeline is torn down because the PUT stream ended. | |||||
2014-07-10 | debug: Use separate #ifdefs for each DEBUG | Nirbheek Chauhan | 1 | -3/+3 | |
2014-07-09 | appsink: Use a GMutex to control when we pull samples | Nirbheek Chauhan | 1 | -34/+28 | |
We can only pull a new sample and write it out if the previous one has been written, otherwise we get a segfault in SoupMessage. | |||||
2014-07-09 | appsrc: Queue an EOS when aborted too | Nirbheek Chauhan | 1 | -0/+21 | |
2014-07-09 | appsink: Push samples when availability is signalled | Nirbheek Chauhan | 1 | -34/+16 | |
This is to demonstrate that this doesn't work. It seems that using the SoupMessage associated with a response outside the signal handler for which it was created can result in a segfault, and eventually does. | |||||
2014-07-09 | main/appsink: Don't hard-code element names | Nirbheek Chauhan | 1 | -6/+4 | |
2014-07-09 | main: Add option parsing (port) | Nirbheek Chauhan | 1 | -3/+21 | |
2014-07-09 | Add source files | Nirbheek Chauhan | 1 | -0/+562 | |