mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
ext/soup/gstsouphttpsrc.c: Report the size of the stream as the total size instead of the remaining Content-Length, w...
Original commit message from CVS: Patch by: Wouter Cloetens <wouter at mind dot be> * ext/soup/gstsouphttpsrc.c: (soup_got_headers): Report the size of the stream as the total size instead of the remaining Content-Length, which is wrong after a seek.
This commit is contained in:
parent
16dde2f9a3
commit
5cfaf19e95
1 changed files with 13 additions and 9 deletions
|
@ -559,22 +559,26 @@ soup_got_headers (SoupMessage * msg, GstSouphttpSrc * src)
|
||||||
const char *value;
|
const char *value;
|
||||||
GstTagList *tag_list;
|
GstTagList *tag_list;
|
||||||
GstBaseSrc *basesrc;
|
GstBaseSrc *basesrc;
|
||||||
|
guint64 newsize;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (src, "got headers");
|
GST_DEBUG_OBJECT (src, "got headers");
|
||||||
|
|
||||||
/* Parse Content-Length. */
|
/* Parse Content-Length. */
|
||||||
value = soup_message_get_header (msg->response_headers, "Content-Length");
|
value = soup_message_get_header (msg->response_headers, "Content-Length");
|
||||||
if (value != NULL) {
|
if (value != NULL) {
|
||||||
src->content_size = g_ascii_strtoull (value, NULL, 10);
|
newsize = src->request_position + g_ascii_strtoull (value, NULL, 10);
|
||||||
src->have_size = TRUE;
|
if (!src->have_size || (src->content_size != newsize)) {
|
||||||
GST_DEBUG_OBJECT (src, "size = %llu", src->content_size);
|
src->content_size = newsize;
|
||||||
|
src->have_size = TRUE;
|
||||||
|
GST_DEBUG_OBJECT (src, "size = %llu", src->content_size);
|
||||||
|
|
||||||
basesrc = GST_BASE_SRC_CAST (src);
|
basesrc = GST_BASE_SRC_CAST (src);
|
||||||
gst_segment_set_duration (&basesrc->segment, GST_FORMAT_BYTES,
|
gst_segment_set_duration (&basesrc->segment, GST_FORMAT_BYTES,
|
||||||
src->content_size);
|
src->content_size);
|
||||||
gst_element_post_message (GST_ELEMENT (src),
|
gst_element_post_message (GST_ELEMENT (src),
|
||||||
gst_message_new_duration (GST_OBJECT (src), GST_FORMAT_BYTES,
|
gst_message_new_duration (GST_OBJECT (src), GST_FORMAT_BYTES,
|
||||||
src->content_size));
|
src->content_size));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Icecast stuff */
|
/* Icecast stuff */
|
||||||
|
|
Loading…
Reference in a new issue