Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2014-07-17 | appsink: Force encodebin to create a keyframe when a client connects | Nirbheek Chauhan | 2 | -4/+16 | |
This avoids long waits when, for instance, the fps is 3, since the keyframe-max-dist is 128 | |||||
2014-07-15 | TESTING: Always do videoconvert before pushing to sink or encoder | Nirbheek Chauhan | 1 | -2/+2 | |
2014-07-15 | HTML/JS code for experimental browser latency reduction | Nirbheek Chauhan | 1 | -0/+28 | |
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 | 3 | -9/+24 | |
2014-07-15 | Makefile: fix order of arguments to gcc | Nirbheek Chauhan | 1 | -2/+2 | |
On Ubuntu, the order seems to matter. Iddo faced this problem. | |||||
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 | 2 | -1/+1 | |
2014-07-14 | Improve latency by waiting for the next keyframe | Nirbheek Chauhan | 4 | -61/+14 | |
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 | 2 | -3/+14 | |
2014-07-14 | TESTING: use timeoverlay instead of clockoverlay | Nirbheek Chauhan | 1 | -1/+1 | |
Gives us millisecond resolution | |||||
2014-07-14 | Add error message details to TESTING | Nirbheek Chauhan | 1 | -0/+7 | |
2014-07-14 | Add a TESTING document | Nirbheek Chauhan | 1 | -0/+22 | |
2014-07-14 | debug: Remove extra newlines, and use g_critical everywhere | Nirbheek Chauhan | 3 | -36/+36 | |
2014-07-14 | appsink: Pull and write samples in the libsoup main context | Nirbheek Chauhan | 3 | -23/+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 | 4 | -19/+94 | |
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 | 3 | -35/+35 | |
This is very spammy when we get content-length encoding PUT streams | |||||
2014-07-14 | Makefile: Document another DEBUG flag | Nirbheek Chauhan | 1 | -1/+1 | |
2014-07-14 | Add two FIXMEs pointed out by slomo in his review | Nirbheek Chauhan | 2 | -0/+4 | |
WIP | |||||
2014-07-14 | lib: Remove unused function definitions | Nirbheek Chauhan | 1 | -6/+0 | |
Pointed out in a review by slomo | |||||
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 | appsink: Use the correct API for getting the streamheader | Nirbheek Chauhan | 1 | -6/+4 | |
Pointed out in a review by slomo | |||||
2014-07-14 | encode: Set fakesink to sync to the clock to ensure it's always realtime | Nirbheek Chauhan | 1 | -0/+2 | |
2014-07-14 | server: Fix cleanup of clients | Nirbheek Chauhan | 2 | -24/+22 | |
On forced server abort, as well as normal exit | |||||
2014-07-11 | server: Add support for aborting running streams | Nirbheek Chauhan | 2 | -3/+28 | |
This is useful to cancel streams that are taking too long to encode, etc | |||||
2014-07-11 | Update README for souphttp support + misc fixes | Nirbheek Chauhan | 1 | -9/+24 | |
2014-07-11 | Remove trailing whitespace to make git happy | Nirbheek Chauhan | 7 | -31/+31 | |
2014-07-11 | server: Add support for persistent connection streams | Nirbheek Chauhan | 3 | -47/+169 | |
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 | Update README and add known bugs | Nirbheek Chauhan | 1 | -7/+30 | |
2014-07-11 | Add license headers and COPYING | Nirbheek Chauhan | 8 | -14/+628 | |
2014-07-11 | Makefile: Don't enable PLAY_DEBUG mode by default | Nirbheek Chauhan | 1 | -1/+1 | |
It causes no encoding to happen at all -- not what we want by default | |||||
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-11 | encode-debug: Use the PUT path in the debug output filename | Nirbheek Chauhan | 1 | -1/+8 | |
2014-07-10 | encode: Explicitly ignore subtitle streams | Nirbheek Chauhan | 1 | -1/+6 | |
Trying to request a pad for them from encodebin causes a pipeline stall | |||||
2014-07-10 | Makefile: build debug mode by default for now | Nirbheek Chauhan | 1 | -2/+3 | |
2014-07-10 | cleanup: Fix client shutdown on server exit | Nirbheek Chauhan | 1 | -2/+31 | |
2014-07-10 | appsink: Add a client timeout, and handle eos separately | Nirbheek Chauhan | 3 | -8/+47 | |
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 | 2 | -5/+5 | |
2014-07-09 | appsink: Use a GMutex to control when we pull samples | Nirbheek Chauhan | 2 | -34/+29 | |
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 | Fix unref and frees in various places | Nirbheek Chauhan | 2 | -19/+6 | |
2014-07-09 | main/appsink: Don't hard-code element names | Nirbheek Chauhan | 3 | -14/+10 | |