title: Flash NetStream receiving data but not always displaying it
body: <p>I have a flash application which is connecting to an EvoStream server to receive video over RTMP. I am sourcing the video from SNC Camera Emulator and from a physical camera. When I first start up, the physical camera displays video, but the emulated cameras do not. Keeping the player running, I shut down the SNC program and a single frame of video appears. When I restart the SNC program, video now plays properly in the client.</p>
  
  <p>When I print out NetStream.info.currentBytesPerSecond I get similar values regardless of whether video is playing or not.</p>
  
  <p>Below is the client code responsible for displaying the video; it is essentially the same as the example code provided by Adobe.</p>
  
  <pre><code>package {
  import flash.display.Sprite;
  import flash.events.NetStatusEvent;
  import flash.events.SecurityErrorEvent;
  import flash.media.Video;
  import flash.net.NetConnection;
  import flash.net.NetStream;
  import flash.events.Event;
  
  public class testRTMP extends Sprite {
      private var connection:NetConnection;
      private var stream:NetStream;
      private var video:Video = new Video();   
      private var sID: String;
  
      public function testRTMP(serverURL: String, streamId : String) {
          sID = streamId;
          connection = new NetConnection();
          connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
          connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
          connection.connect(serverURL);
      }
  
      private function netStatusHandler(event:NetStatusEvent):void {
          switch (event.info.code) {
              case "NetConnection.Connect.Success":
                  connectStream();
                  break;
              case "NetStream.Play.StreamNotFound":
                  trace("Stream not found: " + sID);
                  break;
          }
      }
  
      private function securityErrorHandler(event:SecurityErrorEvent):void {
          trace("securityErrorHandler: " + event);
      }
  
      private function connectStream():void {
          addChild(video);
          var stream:NetStream = new NetStream(connection);
          stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
          stream.client = new CustomClient();
          video.attachNetStream(stream);
          stream.play(sID);
      }
  }
  }
  
  class CustomClient {
  public function onMetaData(info:Object):void {
      trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate);
  }
  public function onCuePoint(info:Object):void {
      trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type);
  }
  }
  </code></pre>