You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by "Justin Mclean (JIRA)" <ji...@apache.org> on 2013/04/23 23:57:16 UTC

[jira] [Updated] (FLEX-19870) VideoPlayer causes RTE on videoDisplay.close()

     [ https://issues.apache.org/jira/browse/FLEX-19870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Mclean updated FLEX-19870:
---------------------------------

    Labels: easyfix easytest  (was: )
    
> VideoPlayer causes RTE on videoDisplay.close()
> ----------------------------------------------
>
>                 Key: FLEX-19870
>                 URL: https://issues.apache.org/jira/browse/FLEX-19870
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: mx: Video
>    Affects Versions: Adobe Flex SDK 3.4 (Release)
>         Environment: Affected OS(s): Mac
> Browser: Firefox 3.x
> Language Found: English
>            Reporter: Adobe JIRA
>            Priority: Minor
>              Labels: easyfix, easytest
>
> Steps to reproduce:
> 1. Create an instance of the mx:VideoDisplay
> 2. Set the source to an flv and allow it to start downloading
> 3. Call the videoDisplay.close() method to stop the flv from downloading
>  
>  Actual Results:
>  - throws an RTE everytime
> TypeError: Error #1009: Cannot access a property or method of a null object reference.
> 	at mx.controls.videoClasses::VideoPlayer/doUpdateProgress()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\controls\videoClasses\VideoPlayer.as:1766]
> 	at flash.utils::Timer/_timerDispatch()
> 	at flash.utils::Timer/tick()
> This is the source where the RTE is coming from
> mx.controls.videoClasses.VideoPlayer
> /**
>  *  @private
>  *  <p>Called by <code>Timer _updateProgressTimer</code> to send
>  *  "progress" events.  Event dispatch starts when
>  *  <code>_load</code> is called, ends when all bytes downloaded or
>  *  a network error of some kind occurs, dispatched every .25
>  *  seconds.
>  */
> public function doUpdateProgress(event:Event):void 
> {
> 	if (ns == null) 
> 		return;
> 	if (ns.bytesTotal >= 0 && ns.bytesLoaded != _priorBytesLoaded)
> 		dispatchEvent(new ProgressEvent(ProgressEvent.PROGRESS, false, false,
> 							 ns.bytesLoaded, ns.bytesTotal));
> 						  
> 	if (_state == DISCONNECTED || _state == CONNECTION_ERROR ||
> 		 ns.bytesLoaded == ns.bytesTotal)
> 	   updateProgressTimer.reset();
> 	   
> 	_priorBytesLoaded = ns.bytesLoaded; // this seems to be the offending line
> }
>  
>  Expected Results:
>  video should just stop downloading without error
>  
>  Workaround (if any):
>  no possible work arounds. I have tried adding try/catches around the close, but because the doUpdateProgress is called from a Timer it doesn't catch the error.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira