/***************************************************** * * Copyright 2009 Adobe Systems Incorporated. All Rights Reserved. * ***************************************************** * The contents of this file are subject to the Mozilla Public License * Version 1.1 (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.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * * The Initial Developer of the Original Code is Adobe Systems Incorporated. * Portions created by Adobe Systems Incorporated are Copyright (C) 2009 Adobe Systems * Incorporated. All Rights Reserved. * * Contributor(s): Akamai Technologies * *****************************************************/ package org.osmf.netmocker { import flash.net.NetConnection; import flash.net.NetStream; import org.osmf.media.URLResource; import org.osmf.net.NetClient; import org.osmf.net.NetConnectionFactoryBase; import org.osmf.net.NetLoader; /** * A NetLoader which replaces the NetConnection and NetStream with mock * objects which don't hit the network. **/ public class MockNetLoader extends NetLoader implements IMockNetLoader { /** * Constructor * * @param netConnectionFactory the netConnection factory instance to be used * @param mockNetNegotiator the mock NetNegotiator to be used */ public function MockNetLoader(netConnectionFactory:NetConnectionFactoryBase= null) { if (netConnectionFactory == null) { netConnectionFactory = new DefaultNetConnectionFactory(); } super(netConnectionFactory); this.netConnectionFactory = netConnectionFactory; } /** * The client's expectation for how this loader's NetConnection will * behave after connect() is called. **/ public function set netConnectionExpectation(value:NetConnectionExpectation):void { if (netConnectionFactory is DefaultNetConnectionFactory) { DefaultNetConnectionFactory(netConnectionFactory).netConnectionExpectation = value; } } public function get netConnectionExpectation():NetConnectionExpectation { return netConnectionFactory is DefaultNetConnectionFactory ? DefaultNetConnectionFactory(netConnectionFactory).netConnectionExpectation : null; } /** * The expected duration of any mock NetStreams generated by this * loader. * * The expected duration will be returned in the onMetaData client * callback. **/ public function set netStreamExpectedDuration(value:Number):void { _netStreamExpectedDuration = value; } public function get netStreamExpectedDuration():Number { return _netStreamExpectedDuration; } /** * The expected total number of bytes of any mock NetStreams generated * by this loader. * * The expected bytesTotal will map to the bytesTotal property of * the mock NetStream. **/ public function set netStreamExpectedBytesTotal(value:Number):void { _netStreamExpectedBytesTotal = value; } public function get netStreamExpectedBytesTotal():Number { return _netStreamExpectedBytesTotal; } /** * The expected duration of any mock NetStreams generated by this * loader, where the streams are subclips. * * The expected duration will map to the playback duration of the * media. **/ public function set netStreamExpectedSubclipDuration(value:Number):void { _netStreamExpectedSubclipDuration = value; } public function get netStreamExpectedSubclipDuration():Number { return _netStreamExpectedSubclipDuration; } /** * The expected width of any mock NetStreams generated by this * loader. * * The expected width will be returned in the onMetaData client * callback. **/ public function set netStreamExpectedWidth(value:Number):void { _netStreamExpectedWidth = value; } public function get netStreamExpectedWidth():Number { return _netStreamExpectedWidth; } /** * The expected height of any mock NetStreams generated by this * loader. * * The expected height will be returned in the onMetaData client * callback. **/ public function set netStreamExpectedHeight(value:Number):void { _netStreamExpectedHeight = value; } public function get netStreamExpectedHeight():Number { return _netStreamExpectedHeight; } /** * An Array of EventInfos representing any events that are expected to * be dispatched when the mock NetStream's position crosses a certain * threshold. Note that these events are above and beyond what the * MockNetStream typically dispatches during playback. **/ public function set netStreamExpectedEvents(value:Array):void { _netStreamExpectedEvents = value; } public function get netStreamExpectedEvents():Array { return _netStreamExpectedEvents; } /** * An array of expected cue points. Necessary so that this * mock stream class can call the in-stream callback * onCuePoint with the data you expect. * * Each value in the array should be an object * with the following properties: *