clients/playrtp.c: Don't crash if an interface has a null address.
[disorder] / server / gstdecode.c
index ac2884d..1f4d7a2 100644 (file)
 #include <gst/app/gstappsink.h>
 #include <gst/audio/audio.h>
 
-/* The only application we have for `attribute' is declaring function
+/* The only applications we have for `attribute' is declaring function
  * arguments as being unused, because we have a lot of callback functions
- * which are meant to comply with an externally defined interface.
+ * which are meant to comply with an externally defined interface; and
+ * marking `help' as not returning.
  */
 #ifdef __GNUC__
+#  define NORETURN __attribute__((noreturn))
 #  define UNUSED __attribute__((unused))
 #endif
 
@@ -477,7 +479,7 @@ static void decode(void)
   gst_app_sink_set_callbacks(appsink, &callbacks, 0, 0);
 
   /* Set the ball rolling. */
-  gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_PLAYING);
+  gst_element_set_state(pipeline, GST_STATE_PLAYING);
 
   /* And wait for the miracle to come. */
   g_main_loop_run(loop);
@@ -485,7 +487,7 @@ static void decode(void)
   /* Shut down the pipeline.  This isn't strictly necessary, since we're
    * about to exit very soon, but it's kind of polite.
    */
-  gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_NULL);
+  gst_element_set_state(pipeline, GST_STATE_NULL);
 }
 
 static int getenum(const char *what, const char *s, const char *const *tags)
@@ -533,7 +535,7 @@ static const struct option options[] = {
   { 0, 0, 0, 0 }
 };
 
-static void help(void)
+static void NORETURN help(void)
 {
   xprintf("Usage:\n"
           "  disorder-gstdecode [OPTIONS] PATH\n"