title: videoconvert element breaks udpsrc timeout messages
body: <p>This code prints "Timeout received from udpsrc" each second. The videoconvert element is commented out of the pipeline. If I uncomment it then the messages stop printing.</p>
  
  <pre><code>// g++ gst_client.cpp `pkg-config --cflags gstreamer-1.0` `pkg-config --libs gstreamer-1.0`
  
  #include &lt;gst/gst.h&gt;
  
  #include &lt;cstdlib&gt;
  #include &lt;cstdio&gt;
  
  struct gstreamer_data {
      GstElement* pipeline;
      GstElement* udp_source;
      GstElement* rtp_decoder;
      GstElement* video_decoder;
      GstElement* video_converter;
      GstElement* fake_sink;
      GMainLoop* main_loop;
  };
  
  static void error_callback(GstBus* bus, GstMessage* message, gstreamer_data* data) {
      (void) bus;
      GError* err;
      gchar* debug_info;
  
  
      gst_message_parse_error(message, &amp;err, &amp;debug_info);
      g_printerr("Error received from element %s: %s\n", GST_OBJECT_NAME(message-&gt;src), err-&gt;message);
      g_printerr("Debugging information: %s\n", debug_info ? debug_info : "none");
      g_clear_error(&amp;err);
      g_free(debug_info);
  
      g_main_loop_quit(data-&gt;main_loop);
  }
  
  
  static void element_callback(GstBus* bus, GstMessage* message, gpointer data) {
      const GstStructure* st = gst_message_get_structure(message);
  
  
      if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ELEMENT) {
          if (gst_structure_has_name(st, "GstUDPSrcTimeout")) {
              printf("Timeout received from udpsrc\n");
          }
      }
  }
  
  
  int main() {
      gstreamer_data data;
      GstStateChangeReturn ret;
      GstBus* bus;
  
  
      gst_init(NULL, NULL);
  
      data.udp_source = gst_element_factory_make("udpsrc", "udp_source");
      g_object_set(G_OBJECT(data.udp_source),
          "port", 5000,
          "caps", gst_caps_new_empty_simple("application/x-rtp"),
          "timeout", 1000000000,
          NULL);
  
      data.rtp_decoder = gst_element_factory_make("rtph264depay", "rtp_decoder");
  
      data.video_decoder = gst_element_factory_make("avdec_h264", "video_decoder");
  
      data.video_converter = gst_element_factory_make("videoconvert", "video_converter");
  
      data.fake_sink = gst_element_factory_make("fakesink", "fake_sink");
  
      data.pipeline = gst_pipeline_new("pipeline");
  
      if (
          !data.pipeline ||
          !data.udp_source ||
          !data.rtp_decoder ||
          !data.video_decoder ||
          !data.video_converter ||
          !data.fake_sink
          )
          {
              g_printerr("Not all elements could be created.\n");
              exit(-1);
      }
  
      gst_bin_add_many(
          GST_BIN(data.pipeline),
          data.udp_source,
          data.rtp_decoder,
          data.video_decoder,
          //data.video_converter,
          data.fake_sink,
          NULL);
  
      if (gst_element_link_many(
          data.udp_source,
          data.rtp_decoder,
          data.video_decoder,
          //data.video_converter,
          data.fake_sink,
          NULL) != TRUE)
          {
              g_printerr("Elements could not be linked.\n");
              gst_object_unref(data.pipeline);
              exit(-1);
          }
  
      bus = gst_element_get_bus(data.pipeline);
      gst_bus_add_signal_watch(bus);
      g_signal_connect(G_OBJECT(bus), "message::error", (GCallback) error_callback, &amp;data);
      g_signal_connect(G_OBJECT(bus), "message::element", (GCallback) element_callback, &amp;data);
      gst_object_unref(bus);
  
      ret = gst_element_set_state(data.pipeline, GST_STATE_PLAYING);
      if (ret == GST_STATE_CHANGE_FAILURE) {
          g_printerr("Unable to set the pipeline to the playing state.\n");
          gst_object_unref(data.pipeline);
          exit(-1);
      }
  
      data.main_loop = g_main_loop_new(NULL, FALSE);
      g_main_loop_run(data.main_loop);
  
      return 0;
  }
  </code></pre>
  
  <p>I have tried setting the debug level higher, but I'm not seeing anything to account for it. Is there something special about the videoconvert element?</p>