4 Replies Latest reply: Jun 10, 2013 8:35 AM by mrwizzer2 RSS

    How to Prevent Endless Buffering after Playback?

    mrwizzer2 Community Member

      I'm using the Strobe Media Playback player.

       

      The video works very well on both iOS and Desktops, (I'm very pleased), but I'm seeing an anomaly after playback ends.

       

      When the video has finished playing, it begins buffering, or at least the "Buffering..." animated display appears, (see image below).


      This occurs only when viewing the desktop versions of the videos.  When I view it on an iPhone, the Buffering... message doesn't appear.

       

      How do I prevent "Buffering..." from appearing after a video finishes playing?  It gives the impression something's broken, or that more video is about to play.

       

      BufferingMessage.png

      Here's the html I'm using to link to the Strobe Media Playback .swf:

       

      !-- xxxxxxxxxxxxxxxxxxxxxxxxxxxx  FLASH/ANDROID VERSION  xxxxxxxxxxxxxxxxxxxxxxxxxx --> 

        <script type="text/javascript" src="swfobject.js"></script>

                          <script type="text/javascript">

                                    var flashvars = {};

                                    var params = {};

                                    params.allowfullscreen = "true";

                                    var attributes = {};

       

      swfobject.embedSWF("http://myFMS.scoe.net/videoPlayer/swfs/StrobeMediaPlayback.swf?src=http://myFMS.scoe.net/v od/myProject/myVideo_manifest.f4m", "myAlternativeContent", "325", "247", "10.1.0", "expressInstall.swf", flashvars, params, attributes);

      </script>

        • 1. Re: How to Prevent Endless Buffering after Playback?
          A. Grahn Community Member

          This is a bug. I could fix it using the source patch below.

           

          Download the fixed version from:

           

          http://mirrors.ctan.org/macros/latex/contrib/media9/players/StrobeMediaPlayback.swf

           

          --- ./player/StrobeMediaPlayback/src/org/osmf/player/chrome/widgets/PlayButtonOverlay.as.orig   2012-11-14 15:48:22.000000000 +0100
          +++ ./player/StrobeMediaPlayback/src/org/osmf/player/chrome/widgets/PlayButtonOverlay.as    2012-11-20 15:14:02.000000000 +0100
          @@ -98,6 +98,11 @@
                  override protected function onMouseClick(event:MouseEvent):void
                  {
                      var playable:PlayTrait = media.getTrait(MediaTraitType.PLAY) as PlayTrait;
          +           var seekable:SeekTrait = media.getTrait(MediaTraitType.SEEK) as SeekTrait;
          +           if(playable.playState == PlayState.STOPPED)
          +           {
          +               try{seekable.seek(0);}catch(e:Object){}
          +           }
                      playable.play();
                  }

           

           

          @@ -134,4 +139,4 @@
                  /* static */
                  private static const VISIBILITY_DELAY:int = 500;
              }
          -}
          \ No newline at end of file
          +}
          --- ./player/StrobeMediaPlayback/src/org/osmf/player/chrome/widgets/PlayButton.as.orig  2012-11-14 15:48:22.000000000 +0100
          +++ ./player/StrobeMediaPlayback/src/org/osmf/player/chrome/widgets/PlayButton.as   2012-11-14 15:42:53.000000000 +0100
          @@ -26,6 +26,7 @@
              import org.osmf.traits.MediaTraitType;
              import org.osmf.traits.PlayState;
              import org.osmf.traits.PlayTrait;
          +   import org.osmf.traits.SeekTrait;

           

              public class PlayButton extends PlayableButton
              {
          @@ -44,6 +45,11 @@
                  override protected function onMouseClick(event:MouseEvent):void
                  {
                      var playable:PlayTrait = media.getTrait(MediaTraitType.PLAY) as PlayTrait;
          +            var seekable:SeekTrait = media.getTrait(MediaTraitType.SEEK) as SeekTrait;
          +           if(playable.playState == PlayState.STOPPED)
          +           {
          +               try{seekable.seek(0);}catch(e:Object){}
          +           }
                      playable.play();
                      event.stopImmediatePropagation();
                  }
          @@ -58,4 +64,4 @@
                      }
                  }
              }
          -}
          \ No newline at end of file
          +}

          • 2. Re: How to Prevent Endless Buffering after Playback?
            mrwizzer2 Community Member

            A. Grahn, thank you for your helpful response!   I downloaded the .swf and replaced the old one and... voila!  No more buffering issue!

             

            A million thanks!

             

            Mike

            • 3. Re: How to Prevent Endless Buffering after Playback?
              A. Grahn Community Member

              Glad to hear it. Could you please mark it as `correct answer'? Thanks!

              • 4. Re: How to Prevent Endless Buffering after Playback?
                mrwizzer2 Community Member

                Gladly.  Thanks again!