New unstable upstream release
diff --git a/debian/changelog b/debian/changelog
index 6290f43..3bb3fe3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+gstreamer1.0 (1.5.1-1) experimental; urgency=medium
+
+  * New unstable upstream release.
+  * debian/control.in,
+    debian/libgstreamer.postinst:
+    + Install gst-ptp-helper with cap_net_bind_service,cap_net_admin
+      capabilities, and otherwise fall back to setuid root. It needs
+      to be able to listen for multicast on port 319 and 320.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 07 Jun 2015 09:48:18 +0200
+
 gstreamer1.0 (1.5.0.1+git20150513-1) experimental; urgency=medium
 
   * New upstream GIT snapshot.
diff --git a/debian/control b/debian/control
index 9840a5f..510dd86 100644
--- a/debian/control
+++ b/debian/control
@@ -27,7 +27,8 @@
                libgirepository1.0-dev (>= 0.9.12-4~),
                gobject-introspection (>= 0.9.12-4~),
                gir1.2-glib-2.0,
-               gir1.2-freedesktop
+               gir1.2-freedesktop,
+               libcap-dev [linux-any]
 Build-Depends-Indep: python (>= 2.2),
                      gtk-doc-tools (>= 1.12),
                      jade (>= 1.2.1),
@@ -49,7 +50,8 @@
 Section: libs
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends},
-         ${misc:Depends}
+         ${misc:Depends},
+         libcap2-bin [linux-any]
 Suggests: gstreamer1.0-tools,
           gstreamer1.0-plugins-base
 Description: Core GStreamer libraries and elements
@@ -131,7 +133,7 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends},
          pkg-config,
-         libgstreamer1.0-0 (>= 1.5.0.1+git20150513)
+         libgstreamer1.0-0 (>= 1.5.1)
 Suggests: gstreamer1.0-plugins-base
 Description: Tools for use with GStreamer
  GStreamer is a streaming media framework, based on graphs of filters
diff --git a/debian/control.in b/debian/control.in
index fde4a3b..cff8d9d 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -27,7 +27,8 @@
                libgirepository1.0-dev (>= 0.9.12-4~),
                gobject-introspection (>= 0.9.12-4~),
                gir1.2-glib-2.0,
-               gir1.2-freedesktop
+               gir1.2-freedesktop,
+               libcap-dev [linux-any]
 Build-Depends-Indep: python (>= 2.2),
                      gtk-doc-tools (>= 1.12),
                      jade (>= 1.2.1),
@@ -49,7 +50,8 @@
 Section: libs
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends},
-         ${misc:Depends}
+         ${misc:Depends},
+         libcap2-bin [linux-any]
 Suggests: @GST_PKGNAME@-tools,
           @GST_PKGNAME@-plugins-base
 Description: Core GStreamer libraries and elements
diff --git a/debian/libgstreamer.install b/debian/libgstreamer.install
index b2cfb9b..3082919 100644
--- a/debian/libgstreamer.install
+++ b/debian/libgstreamer.install
@@ -1,4 +1,5 @@
 debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/*.so
 debian/tmp/usr/lib/*/gstreamer@GST_ABI@/gstreamer-@GST_ABI@/gst-plugin-scanner
+debian/tmp/usr/lib/*/gstreamer@GST_ABI@/gstreamer-@GST_ABI@/gst-ptp-helper
 debian/tmp/usr/lib/*/*.so.*
 debian/tmp/usr/share/locale
diff --git a/debian/libgstreamer.postinst b/debian/libgstreamer.postinst
new file mode 100644
index 0000000..4d0c42a
--- /dev/null
+++ b/debian/libgstreamer.postinst
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+    # If we have setcap is installed, try setting cap_net_bind_service,cap_net_admin+ep,
+    # which allows us to install our helper binary without the setuid bit.
+    if command -v setcap > /dev/null; then
+        if setcap cap_net_bind_service,cap_net_admin+ep /usr/lib/*/gstreamer1.0/gstreamer-1.0/gst-ptp-helper; then
+            echo "Setcap worked! gst-ptp-helper is not suid!"
+        else
+            echo "Setcap failed on gst-ptp-helper, falling back to setuid" >&2
+            chmod u+s /usr/lib/*/gstreamer1.0/gstreamer-1.0/gst-ptp-helper
+        fi
+    else
+        echo "Setcap is not installed, falling back to setuid" >&2
+        chmod u+s /usr/lib/*/gstreamer1.0/gstreamer-1.0/gst-ptp-helper
+    fi
+fi
+
+#DEBHELPER#
+
+exit 0
+
diff --git a/debian/libgstreamer.symbols b/debian/libgstreamer.symbols
index b14975a..5f72953 100644
--- a/debian/libgstreamer.symbols
+++ b/debian/libgstreamer.symbols
@@ -18,7 +18,7 @@
  gst_adapter_take@Base 1.0.0
  gst_adapter_take_buffer@Base 1.0.0
  gst_adapter_take_buffer_fast@Base 1.2.0
- gst_adapter_take_buffer_list@Base 1.5.0.1+git20150316
+ gst_adapter_take_buffer_list@Base 1.5.1
  gst_adapter_take_list@Base 1.0.0
  gst_adapter_unmap@Base 1.0.0
  gst_base_parse_add_index_entry@Base 1.0.0
@@ -438,6 +438,16 @@
  gst_net_time_packet_serialize@Base 1.0.0
  gst_net_time_provider_get_type@Base 1.0.0
  gst_net_time_provider_new@Base 1.0.0
+ gst_ntp_clock_get_type@Base 1.5.1
+ gst_ntp_clock_new@Base 1.5.1
+ gst_ptp_clock_get_type@Base 1.5.1
+ gst_ptp_clock_new@Base 1.5.1
+ gst_ptp_deinit@Base 1.5.1
+ gst_ptp_init@Base 1.5.1
+ gst_ptp_is_initialized@Base 1.5.1
+ gst_ptp_is_supported@Base 1.5.1
+ gst_ptp_statistics_callback_add@Base 1.5.1
+ gst_ptp_statistics_callback_remove@Base 1.5.1
 libgstreamer-1.0.so.0 libgstreamer1.0-0 #MINVER#
  GST_CAT_BUFFER@Base 1.0.0
  GST_CAT_BUFFER_LIST@Base 1.0.0
@@ -493,6 +503,7 @@
  _gst_double_range_type@Base 1.4.0
  _gst_element_error_printf@Base 1.0.0
  _gst_event_type@Base 1.0.0
+ _gst_flagset_type@Base 1.5.1
  _gst_fraction_range_type@Base 1.4.0
  _gst_fraction_type@Base 1.4.0
  _gst_int64_range_type@Base 1.4.0
@@ -760,6 +771,7 @@
  gst_clock_id_unschedule@Base 1.0.0
  gst_clock_id_wait@Base 1.0.0
  gst_clock_id_wait_async@Base 1.0.0
+ gst_clock_is_synced@Base 1.5.1
  gst_clock_new_periodic_id@Base 1.0.0
  gst_clock_new_single_shot_id@Base 1.0.0
  gst_clock_periodic_id_reinit@Base 1.0.0
@@ -767,10 +779,12 @@
  gst_clock_set_calibration@Base 1.0.0
  gst_clock_set_master@Base 1.0.0
  gst_clock_set_resolution@Base 1.0.0
+ gst_clock_set_synced@Base 1.5.1
  gst_clock_set_timeout@Base 1.0.0
  gst_clock_single_shot_id_reinit@Base 1.0.0
  gst_clock_type_get_type@Base 1.0.0
  gst_clock_unadjust_unlocked@Base 1.0.0
+ gst_clock_wait_for_sync@Base 1.5.1
  gst_context_get_context_type@Base 1.2.0
  gst_context_get_structure@Base 1.2.0
  gst_context_get_type@Base 1.2.0
@@ -1041,6 +1055,8 @@
  gst_event_type_to_quark@Base 1.0.0
  gst_event_writable_structure@Base 1.0.0
  gst_filename_to_uri@Base 1.0.0
+ gst_flagset_get_type@Base 1.5.1
+ gst_flagset_register@Base 1.5.1
  gst_flow_get_name@Base 1.0.0
  gst_flow_return_get_type@Base 1.0.0
  gst_flow_to_quark@Base 1.0.0
@@ -1221,7 +1237,9 @@
  gst_object_get_value_array@Base 1.0.0
  gst_object_has_active_control_bindings@Base 1.0.0
  gst_object_has_ancestor@Base 1.0.0
- gst_object_has_parent@Base 1.5.0.1+git20150316
+ gst_object_has_as_ancestor@Base 1.5.1
+ gst_object_has_as_parent@Base 1.5.1
+#MISSING: 1.5.1# gst_object_has_parent@Base 1.5.0.1+git20150316
  gst_object_ref@Base 1.0.0
  gst_object_ref_sink@Base 1.0.0
  gst_object_remove_control_binding@Base 1.0.0
@@ -1614,6 +1632,7 @@
  gst_structure_get_double@Base 1.0.0
  gst_structure_get_enum@Base 1.0.0
  gst_structure_get_field_type@Base 1.0.0
+ gst_structure_get_flagset@Base 1.5.1
  gst_structure_get_fraction@Base 1.0.0
  gst_structure_get_int64@Base 1.4.0
  gst_structure_get_int@Base 1.0.0
@@ -1904,6 +1923,8 @@
  gst_value_get_caps_features@Base 1.2.0
  gst_value_get_double_range_max@Base 1.0.0
  gst_value_get_double_range_min@Base 1.0.0
+ gst_value_get_flagset_flags@Base 1.5.1
+ gst_value_get_flagset_mask@Base 1.5.1
  gst_value_get_fraction_denominator@Base 1.0.0
  gst_value_get_fraction_numerator@Base 1.0.0
  gst_value_get_fraction_range_max@Base 1.0.0
@@ -1933,6 +1954,7 @@
  gst_value_set_caps@Base 1.0.0
  gst_value_set_caps_features@Base 1.2.0
  gst_value_set_double_range@Base 1.0.0
+ gst_value_set_flagset@Base 1.5.1
  gst_value_set_fraction@Base 1.0.0
  gst_value_set_fraction_range@Base 1.0.0
  gst_value_set_fraction_range_full@Base 1.0.0
diff --git a/debian/rules b/debian/rules
index d5232ed..b623fd0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -47,6 +47,7 @@
 PKGFILES=\
 	debian/$(gst_lib).install \
 	debian/$(gst_lib).symbols \
+	debian/$(gst_lib).postinst \
 	debian/$(gst_lib_dev).install \
 	debian/$(gst_lib_dev).preinst \
 	debian/$(gst_lib_dev).postrm \
@@ -105,6 +106,10 @@
 	rm -f $@
 	cp -v $< $@
 
+debian/$(gst_lib).postinst: debian/libgstreamer.postinst debian/rules
+	rm -f $@
+	cp -v $< $@
+
 debian/gir1.2-gstreamer-$(gst_abi).install: debian/gir1.2-gstreamer.install debian/rules
 	rm -f $@
 	cp -v $< $@
@@ -198,6 +203,13 @@
 	--with-package-name=$(GST_PACKAGE_NAME) \
 	--with-package-origin=$(GST_PACKAGE_ORIGIN)
 
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+common_conf_flags += --with-ptp-helper-permissions=capabilities
+else
+common_conf_flags += --with-ptp-helper-permissions=setuid-root \
+	--with-ptp-helper-setuid-user=nobody --with-ptp-helper-setuid-group=nobody
+endif
+
 indep_conf_flags = \
 	--with-html-dir=\$${prefix}/share/doc/$(gst_pkgname)-doc