title: GStreamer RTSP Server with TLS Example Fails
body: <p>I am trying to use GStreamer 1.7.1 to start an RTSP server with authentication and TLS support. The code I am using is nearly identical to the <a href="http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-video.c?id=7374976722852c93e59c3cee2a562f947cb7f310" rel="nofollow">file from source</a>, except for having <code>#define WITH_AUTH</code> and <code>#define WITH_TLS</code>.</p>
  
  <p>I start the server using <code>./test-video</code> after compilation while inside the examples directory.</p>
  
  <p>To access the stream, I am connecting from the same machine using the following line in Terminal:
  <code>gst-launch-1.0 rtspsrc location=rtsps://127.0.0.1:8554/test user-id=user user-pw=password tls-validation-flags=generic-error ! rtph264depay ! avdec_h264 ! videoconvert ! osxvideosink</code></p>
  
  <p>Once I attempt to start the client, the server outputs these messages:</p>
  
  <pre><code>0:00:03.217216000 26896 0x7fe1248159e0 ERROR             rtspclient rtsp-client.c:733:find_media: client 0x7fe1240208e0: not authorized to see factory path /test
  0:00:03.217248000 26896 0x7fe1248159e0 ERROR             rtspclient rtsp-client.c:2276:handle_describe_request: client 0x7fe1240208e0: no media
  
  (test-video:26896): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed
  
  (test-video:26896): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed
  
  (test-video:26896): GLib-GObject-WARNING **: invalid (NULL) pointer instance
  
  (test-video:26896): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (test-video:26896): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed
  
  (test-video:26896): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed
  
  (test-video:26896): GLib-GObject-WARNING **: invalid (NULL) pointer instance
  
  (test-video:26896): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  
  (test-video:26896): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  </code></pre>
  
  <p>While the client output is:</p>
  
  <pre><code>Setting pipeline to PAUSED ...
  Pipeline is live and does not need PREROLL ...
  Progress: (open) Opening Stream
  Progress: (connect) Connecting to rtsps://127.0.0.1:8554/test
  Progress: (open) Retrieving server options
  Progress: (open) Retrieving media info
  
  ** (gst-launch-1.0:26910): CRITICAL **: gst_rtsp_message_take_header: assertion 'value != NULL' failed
  Progress: (request) SETUP stream 0
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: invalid (NULL) pointer instance
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: invalid (NULL) pointer instance
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gtype.c:4272: type id '0' is invalid
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: can't peek value table for type '&lt;invalid&gt;' which is not currently referenced
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gvalue.c:184: cannot initialize GValue with type '(null)', this type has no GTypeValueTable implementation
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gtype.c:4272: type id '0' is invalid
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: can't peek value table for type '&lt;invalid&gt;' which is not currently referenced
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gvalue.c:184: cannot initialize GValue with type '(null)', this type has no GTypeValueTable implementation
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_value_deserialize: assertion 'G_IS_VALUE (dest)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_value_deserialize: assertion 'G_IS_VALUE (dest)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_object_set_property: assertion 'G_IS_OBJECT (object)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_object_set_property: assertion 'G_IS_OBJECT (object)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_value_unset: assertion 'G_IS_VALUE (value)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_value_unset: assertion 'G_IS_VALUE (value)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  ** (gst-launch-1.0:26910): CRITICAL **: gst_rtsp_message_take_header: assertion 'value != NULL' failed
  Progress: (request) SETUP stream 1
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: invalid (NULL) pointer instance
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: invalid (NULL) pointer instance
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gtype.c:4272: type id '0' is invalid
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: can't peek value table for type '&lt;invalid&gt;' which is not currently referenced
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gvalue.c:184: cannot initialize GValue with type '(null)', this type has no GTypeValueTable implementation
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gtype.c:4272: type id '0' is invalid
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: can't peek value table for type '&lt;invalid&gt;' which is not currently referenced
  
  (gst-launch-1.0:26910): GLib-GObject-WARNING **: gvalue.c:184: cannot initialize GValue with type '(null)', this type has no GTypeValueTable implementation
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_value_deserialize: assertion 'G_IS_VALUE (dest)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_value_deserialize: assertion 'G_IS_VALUE (dest)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_object_set_property: assertion 'G_IS_OBJECT (object)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_object_set_property: assertion 'G_IS_OBJECT (object)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_value_unset: assertion 'G_IS_VALUE (value)' failed
  
  (gst-launch-1.0:26910): GLib-GObject-CRITICAL **: g_value_unset: assertion 'G_IS_VALUE (value)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed
  
  (gst-launch-1.0:26910): GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
  Progress: (open) Opened Stream
  Setting pipeline to PLAYING ...
  New clock: GstSystemClock
  Progress: (request) Sending PLAY request
  Progress: (request) Sending PLAY request
  ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc4: Internal data flow error.
  Additional debug info:
  gstbasesrc.c(2948): void gst_base_src_loop(GstPad *) (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc4:
  streaming task paused, reason not-negotiated (-4)
  Execution ended after 0:00:00.001834000
  Setting pipeline to PAUSED ...
  Setting pipeline to READY ...
  Setting pipeline to NULL ...
  Freeing pipeline ...
  </code></pre>
  
  <p>I'm currently attempting on OS X El Capitan machine, but I have also tried on a Linux Mint 17.3 box and receive identical messages.</p>
  
  <p>Does anyone have any ideas on how I can resolve this issue? Thanks for any help in advance.</p>