title: GStreamer play multi-video mp4 file
body: <p>On Windows, using gst 1.8.2 (from 1.6), I create mp4 files from multiple IP cameras streaming to a single mp4 file using the following gst-launch pipeline (I have reformatted my gst-launch commands to look better here, but they are single lines):</p>
  
  <pre><code>mp4mux name=m ! filesink location=file.mp4   
  rtspsrc location="rtsp://x" latency=0 name=Camera1 ! rtph264depay ! h264parse ! tee name=t1 
     t1. ! queue ! m.video_1 
     t1. ! queue ! decodebin ! autovideosink name=video1   
  rtspsrc location="rtsp://y" latency=0 name=Camera2 ! rtph264depay ! h264parse ! tee name=t2 
     t2. ! queue ! m.video_2 
     t2. ! queue ! decodebin ! autovideosink name=video2
  </code></pre>
  
  <p>I can play the resulting files with VLC media player, but I cannot play the file to using gstreamer. When I create a pipeline like</p>
  
  <pre><code>gst-launch-1.0 uridecodebin name=u uri=file:/file.mp4 
     u.src_0 ! queue ! autovideosink 
     u.src_1 ! queue ! autovideosink
  </code></pre>
  
  <p>It never plays. While awaiting the video, I see</p>
  
  <pre><code>Setting pipeline to PAUSED ...
  Pipeline is PREROLLING ...
  Redistribute latency...
  Redistribute latency...
  </code></pre>
  
  <p>And when I later hit ctrl-c, the response is</p>
  
  <pre><code>handling interrupt.
  Interrupt: Stopping pipeline ...
  ERROR: pipeline doesn't want to preroll.
  Setting pipeline to NULL ...
  Freeing pipeline ...
  </code></pre>
  
  <p>A co-worker tries the same commands on his Mac and gets the same result.</p>
  
  <p>I set the environment variable to produce the "DOT" pipeline graph files. They do not show the correct video format, width or height; I guess it never gets that far. I followed otopolsky's recipe and a single camera works, both with a command line example and my program.</p>
  
  <p>Anyone have any ideas?</p>
  
  <p>Thanks.</p>
  
  <p>-reilly.</p>