title: Raspberry pi UDP stream to Android: what should the GStreamer pipeline look like?
body: <p>Here is how I start GStreamer on the pi:</p>
  
  <pre><code>raspivid -n -w 1280 -h 720 -b 4500000 -fps 30 -vf -hf -t 0 -o - | gst-launch-1.0 -v fdsrc !  h264parse ! rtph264pay ! udpsink host=192.168.1.7 port=9000
  </code></pre>
  
  <p>I've got a working GStreamer Android project in Eclipse (Test project #3) and here is my pipeline:</p>
  
  <pre><code> data-&gt;pipeline = gst_parse_launch("udpsrc port=9000 caps=\"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264\" ! rtph264depay ! **avdec_h264** ! videoconvert ! autovideosink sync=false", &amp;error);
  </code></pre>
  
  <p>The problem may be with <strong>avdec_h264</strong> as I get an error with the android sdk that avdec_h264 doesnt exist. So i've removed it, but I now get an "internal data flow" error.</p>
  
  <p>Does anyone have an example of their server/client? I can get TCP working from pi > mac, I can get UDP working from pi > mac but from pi > Android, I get internal data flow error. </p>
  
  <p>From Logcat:</p>
  
  <pre><code>05-31 17:07:52.144: W/GStreamer+basesrc(12736): 0:11:25.762171145 0x79097af0 gstbasesrc.c:2633:gst_base_src_loop:&lt;udpsrc1&gt; error: Internal data flow error.
  05-31 17:07:52.144: W/GStreamer+basesrc(12736): 0:11:25.762298281 0x79097af0 gstbasesrc.c:2633:gst_base_src_loop:&lt;udpsrc1&gt; error: streaming task paused, reason not-negotiated (-4)
  05-31 17:07:52.144: D/GStreamer+tutorial-3(12736): 0:11:25.762798489 0x79199520 jni/tutorial-3.c:88:set_ui_message Setting message to: Error received from element udpsrc1: Internal data flow error.
  </code></pre>