Oddity with flv netStream.time

I don’t know if this is something I’m doing wrong or what…
I’ve googled it, and am aware that there’s a lot of inconsistencies with flv playback in flash, but couldn’t find much addressing this directly… at least nothing helpful.

I’m building an flv video player for work (partially for practice) and have run into a peculiar behavior…
If you .seek to the end of a NetStream it’s .time doesn’t seem to update properly…
here’s a very specific example that I’ve cut/pasted from a component I’m making.

package  {
    
    import flash.display.MovieClip;
    import flash.events.NetStatusEvent;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.utils.getTimer;
    
    
    public class TestVideo extends MovieClip 
    {
        // Put your sample FLV here
        private const VIDEO_URL:String = "videos/Test Video.flv";

        private var _videoDisplay:Video;
        private var _videoNC:NetConnection;
        private var _videoNS:NetStream;
        private var _videoMetaData:Object;
        
        public function TestVideo() 
        {
            loadVideo();
        }
        
        private function loadVideo():void
        {
            trace(getTimer(), ":", this, "<FUNCTION>: loadVideo()");
            
            try
            {
                _videoNC = new NetConnection();
                _videoNC.connect(null);
                
                _videoNS = new NetStream(_videoNC);
                _videoNS.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                //_videoNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
                _videoNS.client = this;
                
                //_videoNS.play(__videoURL);
                _videoNS.play(VIDEO_URL);
                
            }
            catch (err:Error)
            {
                trace(getTimer(), ":", this, "<ERROR>:", err);
            }
            
            _videoDisplay = new Video();
            _videoDisplay.attachNetStream(_videoNS);
            
            addChild(_videoDisplay);
        }
        public function onMetaData(metaData:Object):void
        {
            trace(getTimer(), ":", this, "<FUNCTION>: onMetaData()");
            _videoMetaData = metaData;
            
            _videoNS.seek(_videoMetaData.duration);
            trace("_videoNS.time", _videoNS.time);
            trace("_videoMetaData.duration", _videoMetaData.duration);
            
            trace("
_videoNS.time shows the flv not at the end...
_videoNS.resume()");
            _videoNS.resume();
            trace("_videoNS.time", _videoNS.time);
            trace("_videoMetaData.duration", _videoMetaData.duration);
            
            trace("
_videoNS.time shows the flv not at the end...
_videoNS.resume()");
            _videoNS.resume();
            trace("_videoNS.time", _videoNS.time);
            trace("_videoMetaData.duration", _videoMetaData.duration);
        }
        
        public function onXMPData(xmpData:Object):void
        {
            trace(getTimer(), ":", this, "<FUNCTION>: onXMPData()");
        }
        
        public function netStatusHandler(evt:NetStatusEvent):void
        {
            switch (evt.info.code) 
            {
                // trace a messeage when the stream is not found
                case "NetStream.Play.StreamNotFound":
                    trace(getTimer(), ":", this, "<ERROR> Stream not found");
                break;
                
                // when the video reaches its end, we stop the player
                case "NetStream.Play.Stop":
                    trace(getTimer(), ":", this, "<STATUS>: End of Video");
                    _videoNS.pause();
                break;
            }
        }
        
    }  //  END class
}  //  END package

This should run on its own, just change the constant at the top.

If you run it, you’ll notice that the video acts as if it’s stuck at the end of the video and won’t .resume() but .time reports that it is not.

Am I doing something wrong here?