summaryrefslogtreecommitdiff
path: root/src/lib.h
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2014-07-14 15:46:39 (GMT)
committerNirbheek Chauhan <nirbheek@centricular.com>2014-07-14 15:46:40 (GMT)
commitdf0f28945f2c32f519457e838eb424401eb586e9 (patch)
tree0069fb922da82ac01f0fa3a0eea572da7f863d35 /src/lib.h
parentfeee319e6b6cb4774cce72d90d1a60f5ecc9bbda (diff)
downloadsoup-transcoding-proxy-df0f28945f2c32f519457e838eb424401eb586e9.zip
soup-transcoding-proxy-df0f28945f2c32f519457e838eb424401eb586e9.tar.gz
server: Always send data from the last keyframe
Store non-keyframe buffers sent to fakesink, and push them to all new clients
Diffstat (limited to 'src/lib.h')
-rw-r--r--src/lib.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib.h b/src/lib.h
index 9bbd790..815d18a 100644
--- a/src/lib.h
+++ b/src/lib.h
@@ -34,6 +34,8 @@ struct _TranscodeServerCtx {
SoupMessage *msg;
GstElement *pipeline;
GstElement *appsrc;
+ /* Contains buffers from the previous keyframe till right now */
+ GstBufferList *keyframe;
/* If the encoding is not chunked, we'll get multiple requests
* with separate Content-Length headers on the same path */
SoupEncoding encoding;
@@ -76,6 +78,9 @@ void stp_cleanup_transcode_client_ctx (TranscodeClientCtx *ctx);
gboolean stp_on_gst_bus_message (GstBus *bus,
GstMessage *msg,
TranscodeServerCtx *ctx);
+gboolean stp_unref_gst_buffer (GstBuffer **buffer,
+ guint idx,
+ gpointer user_data);
GstBuffer* stp_get_streamheader_from_caps (GstCaps *caps);
GstBuffer* stp_get_gst_buffer (SoupBuffer *chunk);