Out of home restrictions for streams
Recording/live streams API responses
Out of home restrictions is reflected in the response code obtained when querying /channels/{channel_id}/relationships/streams (for live streams) or /recordings/{recording_id}/relationships/streams (for nPVR streams). If the response code is 200 everything is good, but if the response is 451 it means the client is trying to access the stream from a location (IP) that has been restricted.
Additional checks
Once the stream is playing, the client should either on detected network change, or just periodically call the streams API (channel or recordings, depending on what's playing) to see if it gets 200 response. The client must keep playing previous stream, do not use the response body from consecutive calls, they are just to confirm that it still has rights. And of course if the response is 451 then the stream should be stopped.