/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mangui.osmf.plugins.utils { import org.mangui.hls.event.HLSError; import org.mangui.hls.event.HLSEvent; import org.osmf.events.MediaErrorCodes; public class ErrorManager { public static function getMediaErrorCode(event : HLSEvent) : int { var errorCode : int = MediaErrorCodes.NETSTREAM_PLAY_FAILED; if (event && event.error) { switch (event.error.code) { case HLSError.FRAGMENT_LOADING_ERROR: case HLSError.KEY_LOADING_ERROR: case HLSError.MANIFEST_LOADING_IO_ERROR: errorCode = MediaErrorCodes.IO_ERROR; break; case HLSError.FRAGMENT_LOADING_CROSSDOMAIN_ERROR: case HLSError.KEY_LOADING_CROSSDOMAIN_ERROR: case HLSError.MANIFEST_LOADING_CROSSDOMAIN_ERROR: errorCode = MediaErrorCodes.SECURITY_ERROR break; case org.mangui.hls.event.HLSError.FRAGMENT_PARSING_ERROR: case org.mangui.hls.event.HLSError.KEY_PARSING_ERROR: case org.mangui.hls.event.HLSError.MANIFEST_PARSING_ERROR: errorCode = MediaErrorCodes.NETSTREAM_FILE_STRUCTURE_INVALID; break; case org.mangui.hls.event.HLSError.TAG_APPENDING_ERROR: errorCode = MediaErrorCodes.ARGUMENT_ERROR; break; } } return errorCode; }; public static function getMediaErrorMessage(event : HLSEvent) : String { return (event && event.error) ? event.error.msg : "Unknown error"; }; }; }