title: GStreamer Pipeline with udpsrc displaying and saving to file
body: <p>I'm having a hardtime understanding how to build gstreamer pipelines. I'v read many questions on google and on stackoverflow that are quite similar to mine, but most of them assumes that I know what I'm doing, which is not the case.</p>
  
  <p>I am reading the documentation but reading the documentation and producing a working pipeline seems to be quite different things, and mines are failing.</p>
  
  <p>I'm sending this pipeline with gst-launch-1.0:</p>
  
  <pre><code>gst-launch-1.0 videotestsrc  ! video/x-raw,width=640,height=480 ! \
      videoconvert ! x264enc ! rtph264pay ! udpsink host=127.0.0.1 port=5600
  </code></pre>
  
  <p>and I'm trying to display and record the pipeline from within a C application, using gst_parse_launch, using this pipeline:</p>
  
  <pre><code>udpsrc port=5600 ! application/x-rtp, clock-rate=90000,payload=96 \
    ! rtph264depay ! video/x-h264 ! queue ! h264parse !
      tee name=qgc
      qgc. ! queue ! decodebin ! glupload ! glcolorconvert ! qmlglsink name=sink
      qgc. ! queue ! mp4mux ! filesink location=bleh.mp4
  </code></pre>
  
  <p>This pipeline correctly displays video but the resulting file is completely empty in the disk.</p>
  
  <p>Because there's a lot of Gstreamer questions that are quite similar, I want to make a few questions to help me not ask questions about it in the future.</p>
  
  <p>0 - Is the pipeline written properly? the tee's are a bit strange to reference and I'm not sure if I used them correctly.</p>
  
  <p>1 - how can I discover what's wrong within the pipeline? Is there any kind of debugger that I can use to paste a pipeline and have a <code>pipeline compiler</code> tell me if things are as they should - or at least if there are obvious flaws in the pipeline I created (like missing caps or incompatible ports)</p>
  
  <p>2 - how would I fix this pipeline to receive the video (that plays correctly) and save it in disk? I'm pretty sure is something simple but I haven't figured it out.</p>
  
  <p>The other answers for similar questions are mostly dropping a pipeline that works in the user's ccomputer but in a old version of gstreamer, that does not work today anymore.
  Sorry about the long text, I'm exausted.</p>
  
  <p>Happy Christmas.</p>