Details
-
Type:
New Feature
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 4
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial
Description
Issue Links
- blocks
-
ICE-9921 ace:audioPlayer and ace:videoPlayer, scope attribute not working for IceOutputResource
-
- Closed
-
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
ICEfaces4 trunk revision# 40068 Test Results
Test app is located at: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Manual/audioPlayer
1) The audio does not play on page load when using autoplay=true.
2) Setting the value attribute to null or an empty string throws an exception:
SEVERE: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at com.sun.faces.application.view.MultiViewHandler.getResourceURL(MultiViewHandler.java:383)
at javax.faces.application.ViewHandlerWrapper.getResourceURL(ViewHandlerWrapper.java:291)
at org.icefaces.impl.application.ExternalServletContextSetup.getResourceURL(ExternalServletContextSetup.java:43)
at org.icefaces.ace.util.MediaPlayerUtils.processStaticSrc(MediaPlayerUtils.java:67)
at org.icefaces.ace.util.MediaPlayerUtils.processSrcAttribute(MediaPlayerUtils.java:92)
at org.icefaces.ace.util.MediaPlayerUtils.deriveAndSetSourceAttribute(MediaPlayerUtils.java:53)
at org.icefaces.ace.component.audioplayer.AudioPlayerRenderer.encodeEnd(AudioPlayerRenderer.java:44)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:49)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:162)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:425)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
3) The url attribute is not being used at all, even if the value attribute is not present the URL attribute does nothing.
4) Changing the value attribute dynamically when using a byte array does nothing, the audio source stays as what it was originally. No dynamic issues when using a filename or JSF resource as the value.
5) In the add row to top/bottom tests, sometimes adding rows will case the audioPlayers on the page to disappear. They don't show up again unless you clear the cache and reload the page. In the console there is a warning:
Media resource (url-to-file) could not be decoded.
6) Sometimes when playing the audio, clicking ahead on the time bar will make the time indicator jump to the end of the clip and stop playing. After this the audio cannot be played unless you reload the page. This only seems to occur with certain audio clips (can reproduce this on the dynamic attribute test page with the 'Around The World' clip).
7) Need more info / further test instructions on the scope attribute.
Resolving JIRA. Issues #5 and #7 were spun off to ICE-9920 and
ICE-9921.