| //////////////////////////////////////////////////////////////////////////////// |
| // |
| // Licensed to the Apache Software Foundation (ASF) under one or more |
| // contributor license agreements. See the NOTICE file distributed with |
| // this work for additional information regarding copyright ownership. |
| // The ASF licenses this file to You under the Apache License, Version 2.0 |
| // (the "License"); you may not use this file except in compliance with |
| // the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| // |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| package mx.controls.videoClasses |
| { |
| |
| import flash.net.NetConnection; |
| |
| [ExcludeClass] |
| |
| /** |
| * @private |
| * Creates <code>NetConnection</code> for <code>VideoPlayer</code>, |
| * a helper class for that user facing class. |
| */ |
| public interface INCManager |
| { |
| //-------------------------------------------------------------------------- |
| // |
| // Properties |
| // |
| //-------------------------------------------------------------------------- |
| |
| //---------------------------------- |
| // bitrate |
| //---------------------------------- |
| |
| /** |
| * The bandwidth to be used to switch between multiple streams, |
| * in bits per second. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get bitrate():Number; |
| |
| /** |
| * @private |
| */ |
| function set bitrate(b:Number):void; |
| |
| //---------------------------------- |
| // netConnection |
| //---------------------------------- |
| |
| /** |
| * Read-only <code>NetConnection</code>. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get netConnection():NetConnection; |
| |
| //---------------------------------- |
| // streamHeight |
| //---------------------------------- |
| |
| /** |
| * Read-only height of stream. |
| * After <code>VideoPlayer.ncConnected()</code> is called, |
| * if this is NaN or less than 0, that indicates to the VideoPlayer |
| * that we have determined no stream height information. |
| * If the VideoPlayer has autoSize or maintainAspectRatio set to true, |
| * then this value will be used and the resizing will happen instantly, |
| * rather than waiting. |
| * |
| * VideoPlayer#ncConnected() |
| * VideoPlayer#autoSize |
| * VideoPlayer#maintainAspectRatio |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get streamHeight():Number; |
| |
| //---------------------------------- |
| // streamLength |
| //---------------------------------- |
| |
| /** |
| * Read-only length of stream. |
| * After <code>VideoPlayer.ncConnected()</code> is called, |
| * if this is NaN or less than 0, that indicates to the VideoPlayer |
| * that we have determined no stream length information. |
| * Any stream length information that is returned will be assumed |
| * to trump any other, including that set via the <code>totalTime</code> |
| * parameter of the <code>VideoPlayer.play()</code> or |
| * <code>VideoPlayer.load()</code> method or from FLV metadata. |
| * |
| * VideoPlayer#ncConnected() |
| * VideoPlayer#play() |
| * VideoPlayer#load() |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get streamLength():Number; |
| |
| //---------------------------------- |
| // streamName |
| //---------------------------------- |
| |
| /** |
| * Read-only stream name to be passed into <code>NetStream.play</code>. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get streamName():String; |
| |
| //---------------------------------- |
| // streamWidth |
| //---------------------------------- |
| |
| /** |
| * Read-only width of stream. |
| * After <code>VideoPlayer.ncConnected()</code> is called, |
| * if this is NaN or less than 0, that indicates to the VideoPlayer |
| * that we have determined no stream width information. |
| * If the VideoPlayer has autoSize or maintainAspectRatio set to true, |
| * then this value will be used and the resizing will happen instantly, |
| * rather than waiting. |
| * |
| * VideoPlayer#ncConnected() |
| * VideoPlayer#autoSize |
| * VideoPlayer#maintainAspectRatio |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get streamWidth():Number; |
| |
| //---------------------------------- |
| // timeout |
| //---------------------------------- |
| |
| /** |
| * Timeout after which we give up on connection, in milliseconds. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get timeout():uint; |
| |
| /** |
| * @private |
| */ |
| function set timeout(t:uint):void; |
| |
| //---------------------------------- |
| // videoPlayer |
| //---------------------------------- |
| |
| /** |
| * The <code>VideoPlayer</code> object which owns this object. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function get videoPlayer():VideoPlayer; |
| |
| /** |
| * @private |
| */ |
| function set videoPlayer(v:VideoPlayer):void; |
| |
| //-------------------------------------------------------------------------- |
| // |
| // Methods |
| // |
| //-------------------------------------------------------------------------- |
| |
| /** |
| * Called by <code>VideoPlayer</code> to ask for connection to URL. |
| * Once connection is either successful or failed, |
| * call <code>VideoPlayer.ncConnected()</code>. |
| * If connection failed, set <code>nc = null</code> before calling. |
| * |
| * @return true if connection made synchronously; |
| * false attempt made asynchronously so caller should expect |
| * a "connected" event coming. |
| * |
| * @see #netConnection |
| * @see #reconnect() |
| * @see VideoPlayer#ncConnected() |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function connectToURL(url:String):Boolean; |
| |
| /** |
| * Called by <code>VideoPlayer</code> if connection successfully |
| * made but stream not found. |
| * If multiple alternate interpretations of the RTMP URL are possible, |
| * it should retry to connect to the server with a different URL |
| * and hand back a |
| * different stream name. |
| * |
| * <p>This can be necessary in cases where the URL is something |
| * like rtmp://servername/path1/path2/path3. |
| * The user could be passing in an application name and an instance |
| * name, so the NetConnection should be opened with |
| * rtmp://servername/path1/path2, or they might want to use the default |
| * instance so the stream should be opened with path2/path3. |
| * In general this is possible whenever there are more than two parts |
| * to the path, but not possible if there are only two. |
| * There should never only be one.</p> |
| * |
| * @return true if will attempt to make another connection; |
| * false if already made attempt or no additional attempts |
| * are merited. |
| * |
| * @see #connectToURL() |
| * @see VideoPlayer#rtmpOnStatus() |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function connectAgain():Boolean; |
| |
| /** |
| * Called by <code>VideoPlayer</code> to ask for reconnection |
| * after connection is lost. |
| * Once connection is either successful or failed, |
| * call <code>VideoPlayer.ncReonnected()</code>. |
| * If connection failed, set <code>nc = null</code> before calling. |
| * |
| * @see #netConnection |
| * @see #connect() |
| * @see VideoPlayer#idleTimeout |
| * @see VideoPlayer#ncReonnected() |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function reconnect():void; |
| |
| /** |
| * Close the NetConnection |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function close():void; |
| |
| /** |
| * Whether URL is for RTMP streaming from Flash Communication |
| * Server or progressive download. |
| * |
| * @returns true if stream is rtmp streaming from FCS, |
| * false if progressive download of HTTP, local or other file. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 9 |
| * @playerversion AIR 1.1 |
| * @productversion Flex 3 |
| */ |
| function isRTMP():Boolean; |
| } |
| |
| } |