summaryrefslogtreecommitdiff
path: root/src/lib.c
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2014-07-14 19:40:53 (GMT)
committerNirbheek Chauhan <nirbheek@centricular.com>2014-07-14 19:49:08 (GMT)
commit5e3b9fc170c77a55003d9d94a71fea6eda88f847 (patch)
tree252d78023594e031566db0aeb0d4c6511de88378 /src/lib.c
parent4ebd3a09a6979bc568459aea842f09d12f4ad4f2 (diff)
downloadsoup-transcoding-proxy-5e3b9fc170c77a55003d9d94a71fea6eda88f847.zip
soup-transcoding-proxy-5e3b9fc170c77a55003d9d94a71fea6eda88f847.tar.gz
Improve latency by waiting for the next keyframe
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()
Diffstat (limited to 'src/lib.c')
-rw-r--r--src/lib.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/src/lib.c b/src/lib.c
index bb076f6..bd5a8d6 100644
--- a/src/lib.c
+++ b/src/lib.c
@@ -59,16 +59,6 @@ stp_on_gst_bus_message (GstBus *bus,
return TRUE;
}
-gboolean
-stp_unref_gst_buffer (GstBuffer **buffer,
- guint idx,
- gpointer user_data)
-{
- gst_buffer_unref (*buffer);
- *buffer = NULL;
- return TRUE;
-}
-
/* When the incoming stream reaches EOS, we call this
* which initiates a shutdown for all clients and then
* the server itself */
@@ -85,9 +75,6 @@ stp_cleanup_transcode_server_ctx (TranscodeServerCtx *ctx)
gst_element_set_state (ctx->pipeline, GST_STATE_NULL);
gst_object_unref (ctx->pipeline);
- gst_buffer_list_foreach (ctx->keyframe, stp_unref_gst_buffer, NULL);
- gst_buffer_list_unref (ctx->keyframe);
-
g_free (ctx);
}