4 Replies Latest reply on Jun 22, 2010 6:59 PM by fatmck

    Question about NetStream.bufferTime

    fatmck Level 1

      I saw this content in the flash 10.1 api referrences about NetStream.bufferTime


      Live content When streaming live content, set the bufferTime property to 0.


      I am confused about this. If bufferTime was set to 0, the subscribing stream would not play the video smoothly.

      How should i do to solve this problem?


      When I set the bufferTime to non-zero, and use the stream in a  NetGroup,  I found I can't listen the sound from the stream  when the other peer publishing a audio-only stream(no camera).


      And there are many problems while publsh a audio-only stream(no camera) in NetGroup, for example:NetStream.pause() was useless.

        • 1. Re: Question about NetStream.bufferTime
          fatmck Level 1

          Sigh, no body can explain the new content about NetStream.bufferTime in the api referrence?

          Or I didn't described this question clearly?


          Flash10.0 document about NetStream.bufferTime:


          Flash10.1 document about NetStream.bufferTime:

          http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/net/NetStrea m.html#bufferTime


          You can see the differences!

          Why bufferTime was supposed to be 0 when playing live video in FP10.1? How can the developer use bufferTime as before?

          • 2. Re: Question about NetStream.bufferTime
            fatmck Level 1

            ah, still no one reply....

            I forget one thing: If you are in a very goods network,  an audio-only stream will be played very nice even bufferTime is not zero. But when you are in a bad network(e.g. I am in china, and my users can only download stream at a speed of 20k byte per second in NetGroup, but it's enough for audio-only stream), the audio will not auto-play when bufferTime is not zero. The bufferLength will increase to a very high value, and there is not a NetStream.Buffer.Full event dispatched forever until I decrese the bufferTime(still no auto-play).


            But at least, there must be one of the Adobe guys who could explain why the bufferTime was supposed to be 0 when play live-content as described in the offcial document...

            • 3. Re: Question about NetStream.bufferTime

              If you are using multicast streaming, then it is important for you to use a non-zero buffer time.  Otherwise, you will see lots of network jitter and delay on each playback node.  The buffer is necessary for taking out that jitter.  All the documentation means is that by using a buffer time of N seconds, you are not live anymore, but you are delayed by N seconds.


              Due to the nature of live multicast streaming, NetStream.pause does not function to pause the stream on any particular node.  All nodes play whatever the broadcaster sends.  It is not possible to use 'pause' to have one machine delay playback whilst other machines play.  If you want a particular node to stop playing, just disconnect it from the group.


              There appears to be a problem using audio-only streams in conjunction with buffered application level multicast.  Yes, audio does not commence playing unless you set bufferTime to 0.  But setting bufferTime to 0 is not really suitable for app level multicast.  I will look into this more deeply to see if I can find a way to get it to work.

              1 person found this helpful
              • 4. Re: Question about NetStream.bufferTime
                fatmck Level 1

                Thanks very much.


                Yes, I agree with you: setting bufferTime to 0 is not really suitable for app level multicast. It's a big problem for me now, it make me not able to make a release version of my app. So I am eagerly waiting for some improvement in the next release of FP10.1. Please, please dont make me disappointed. You are the best, you can do it!