google-code-export / red5

Automatically exported from code.google.com/p/red5
0 stars 0 forks source link

red5 does not inform client that video is complete #503

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create a client using spark.components.VideoPlayer
2. Add a listener to VideoPlayer for TimeEvent.COMPLETE to determine if this 
event is being fired
3. Stream a video from red5 until video is over

What is the expected output? What do you see instead?
Expected:
Event TimeEvent.COMPLETE should be triggered on VideoPlayer control.
Pause button in the VideoPlayer control should change to Play button to 
indicate video is over and can be replayed.

What I see instead:
Event TimeEvent.COMPLETE is never triggered
Pause button remains when video is complete. To replay a completed video, I 
have to manually seek and press the pause/play button twice, once to "stop" the 
video and again to play it.

What version of the product are you using? On what operating system?
1.0.2 release and 1.0.3 snapshot on windows 8

Please provide any additional information below.

Tested the same client and videos with adobe media server and it functions as 
intended. Upon completion of a video TimeEvent.COMPLETE is triggered and the 
pause button changes to a play button.

Original issue reported on code.google.com by jesse.w....@gmail.com on 14 May 2014 at 9:51

GoogleCodeExporter commented 9 years ago
TimeEvent.COMPLETE is most likely a client side event generated by some other 
event; since we are the server we need to know what its looking for to spawn 
that event. When a file is complete as far as the server is concerned you'll 
get a NetStream play stop event among other events.

Original comment by mondain on 29 May 2014 at 3:24

GoogleCodeExporter commented 9 years ago
I don't see a way to hook those events, the spark videoplayer control uses the 
OSMF framework behind the scenes and it doesn't accept a NetStream as a source 
directly, only string url or DynamicStreamingVideoSource. I think the place in 
OSMF where event onPlayStatus NetStream.Play.Complete triggers 
TimeEvent.COMPLETE happens in the code here:

http://sourceforge.net/adobe/osmf/svn/HEAD/tree/osmf/trunk/framework/OSMF/org/os
mf/net/NetStreamTimeTrait.as

The way it hooks this event is unusual, instead of NetStream.addEventListener 
it uses NetClient.addHandler. Maybe AMS does something differently to get this 
handler to invoke?

Original comment by jesse.w....@gmail.com on 31 May 2014 at 8:16

GoogleCodeExporter commented 9 years ago
I can't say what AMS does or doesnt do, sorry. If someone doesn't spell it out 
for the team, we probably won't be implementing this feature.

Original comment by mondain on 31 May 2014 at 7:55