Copy link to clipboard
Copied
I have created a simple multicast player using actinscript 3 which works fine and plays multicast stream well . Although when stream should fail . Or even if I stop Flash Media server it returns success codes : "NetConnection.Connect.Success" ,"NetStream.Connect.Success" and "NetStream.Play.Start" . I cant detect it when multicast stream fails in flash player. I need to switch to unicast stream if multicast fails and I cant detect a failure because of wrong status.
Why I am getting wrong status ?
"NetStream.MulticastStream.Reset" does not depend on the version of FMS. Also, "NetStream.MulticastStream.Reset" event is dispatched, if the publisher for that instance of the named stream stops, the playing client resets to another instance of the named stream.
In your case if you are able to playback the stream, you will definitely receive "NetStream.Buffer.Full" before the start of the playback. If you are not receiving this event, then the playback will not start.
Copy link to clipboard
Copied
Can anyone from adobe check this ? When I do nc.connect("rtmfp:") and even though there is no flash media server on my local network I still get all success code.
Copy link to clipboard
Copied
Any one from adobe staff cares to reply on this ?
Copy link to clipboard
Copied
Hi,
When we do nc.connect("rtmfp:"), it means we are using IP multicast. It uses routers to send data to a specified IP address. The routers send the data to any client registered to an IP multicast group. So, for this even if no flash media server is there on the network, you will get NetConnection.Connect.Success.
Copy link to clipboard
Copied
Abhishek
Thanks a lot . I was digging it over net for last 3 days and didnt find anything . I really appreciate your response.
Even though there is no stream I get NetStream.Connect.Success , NetStream.Play.Reset and NetStream.Play.Start after NetConnection.Connect.Success .
Since I am trying to rollback to unicast stream I need to know somehow that user couldnt play stream or is not on expected flash server network . Is there any way to find that ?
Copy link to clipboard
Copied
Also I noticed that when player successfully plays video I receive 2 more status
"NetStream.MulticastStream.Reset" and NetStream.Video.DimensionChange" . Can I always say that "NetStream.MulticastStream.Reset" will be always received when video plays ?
Copy link to clipboard
Copied
You can do it using NetStream.Buffer.Full status code. In case of video being played back, you will definitely receive "NetStream.Buffer.Full" status code. So, you can set a Timer and if you are not getting Buffer.Full status within that given time then you can say that user is not on expected flash server network.
Copy link to clipboard
Copied
I checked that and I never receive "NetStream.Buffer.Full" . Here is status list in order I receive them .
NetConnection.Connect.Success
NetStream.Connect.Success
NetStream.Play.Reset
NetStream.Play.Start
NetStream.MulticastStream.Reset
NetStream.Video.DimensionChange
Even though I receive NetStream.MulticastStream.Reset all the time I wanted to make sure that it doesnt depend on FMS version .
Copy link to clipboard
Copied
"NetStream.MulticastStream.Reset" does not depend on the version of FMS. Also, "NetStream.MulticastStream.Reset" event is dispatched, if the publisher for that instance of the named stream stops, the playing client resets to another instance of the named stream.
In your case if you are able to playback the stream, you will definitely receive "NetStream.Buffer.Full" before the start of the playback. If you are not receiving this event, then the playback will not start.