I would like to have the possibility to detect when NetStream is not working (i.e. the name used in initialization can't be found on the server side). The StreamNotFound doesn't work at all. I've read that it's the fault of the Flash Media Server, which automaticaly creates new stream, if it cannot be found (of course it's an empty stream - what is wrong from my point of view). Is it true? If yes, can I disable it on the server side, so I could easily detect if the stream name is correct?
If you are talking about recorded streams or VOD content - then if the file is not present on the server - you will get NetStream.Play.StreamNotFound - but if you are subscribing for live stream and there is no one publishing - it will create stream and wait for someone to publish. You can howerver set some timer at client side and see if you dont recieve NetStream.Buffer.Full after you recieve NetStream.Play.Start - you can conclude there is no one publishing and close the stream.
It's not working this way. When I try to play an unpublished stream, the next thrown event is NetStream.Buffer.Full .
Isn't it possible to configure server, so it sends NetStream.Play.StreamNotFound, when nobody is publishing live stream?
So what is the best way to check if the stream is flowing?
Ok, so I will answer it by myself. I see no elegant way to resolve this issue. But in my opinion, the best one is to periodicaly check, for example, the time property and compare it with its last value. Thanks to that we can have (nearly) constant information about flow of the stream.
I see no Publish property in NetStream class:
First of all if you are getting NetStream.Buffer.Full for non existent stream - i would consider that as bug. Please provide details for us to investigate the issue.
Secondly the solution which you talked about setting time and checking time property should work as per me - though i have not tried it.
I am facing exactly similar issues . I need a way to find if a live stream exist on .
In server application I tried to do Stream.get which creates stream if it doesnt exist , I tried Stream.length which returns 0 always for live streams .
On client side it never returns NetStream.Play.StreamNotFound or any other status if stream is not there .
So in short there is no way other than putting a timeout on client side to check if a live stream exist . I dont know why Adobe gives so much weightage to .flv on demand content when people are using it for live streams also . Lot of times we do lot of work arounds to achieve what adobe should be providing in their products and its hard to get any support when it comes to development .
I am not aware of what exactly is your use case - but you can always use Admin API "getLiveStreams" (http://help.adobe.com/en_US/flashmediaserver/adminapi/WSa4cb07693d1238 8431df580a12a34991ebc-8000.html#WS5b3ccc516d4fbf351e63e3d11a0d3edb98-7 fe7AdminAPI) to know which all streams are published to a particular application.