From 55468bf711d777682b8c429976e0ba6e21763eed Mon Sep 17 00:00:00 2001 From: David Schleef Date: Thu, 23 Jun 2011 11:27:52 -0700 Subject: [PATCH 1/3] Automatic update of common submodule From 69b981f to 605cd9a --- common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common b/common index 69b981f10c..605cd9a65e 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 69b981f10caa234ad0ff639179d0fda8505bd94b +Subproject commit 605cd9a65ed61505f24b840d3fe8e252be72b151 From 156583a69c86cfb222a7bcfb2e0d00b34a91344a Mon Sep 17 00:00:00 2001 From: Emmanuel Pacaud Date: Sat, 25 Jun 2011 13:51:52 -0700 Subject: [PATCH 2/3] task: Check for PR_SET_NAME before using Fixes: #653172. Signed-off-by: David Schleef --- gst/gsttask.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/gsttask.c b/gst/gsttask.c index 5acbc85a10..dbfd3bf7ab 100644 --- a/gst/gsttask.c +++ b/gst/gsttask.c @@ -225,7 +225,7 @@ gst_task_finalize (GObject * object) static void gst_task_configure_name (GstTask * task) { -#ifdef HAVE_SYS_PRCTL_H +#if defined(HAVE_SYS_PRCTL_H) && defined(PR_SET_NAME) const gchar *name; gchar thread_name[17] = { 0, }; From 0993102834edd7172c7fc527646ae1f990786444 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Thu, 30 Jun 2011 17:39:37 +0200 Subject: [PATCH 3/3] basesrc: do not sneakily mess with current offset when updating length --- libs/gst/base/gstbasesrc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index 947562c7ad..e2efcaa7bd 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -2115,7 +2115,6 @@ gst_base_src_update_length (GstBaseSrc * src, guint64 offset, guint * length) * segment is in bytes, we checked that above. */ GST_OBJECT_LOCK (src); gst_segment_set_duration (&src->segment, GST_FORMAT_BYTES, size); - gst_segment_set_last_stop (&src->segment, GST_FORMAT_BYTES, offset); GST_OBJECT_UNLOCK (src); return TRUE; @@ -2156,6 +2155,12 @@ again: if (G_UNLIKELY (!gst_base_src_update_length (src, offset, &length))) goto unexpected_length; + /* track position */ + GST_OBJECT_LOCK (src); + if (src->segment.format == GST_FORMAT_BYTES) + gst_segment_set_last_stop (&src->segment, GST_FORMAT_BYTES, offset); + GST_OBJECT_UNLOCK (src); + /* normally we don't count buffers */ if (G_UNLIKELY (src->num_buffers_left >= 0)) { if (src->num_buffers_left == 0)