예제 #1
0
		/// <summary> process the whole SWF stream, and close the input streams when finished.</summary>
		/// <param name="handler">
		/// </param>
		/// <throws>  IOException </throws>
		public void  parse(TagHandler handler)
		{
			this.handler = handler;
			try
			{
				try
				{
					handler.DecoderDictionary = dict;
					
					header = decodeHeader();
					handler.header(header);
					
					decodeTags(handler);
					handler.finish();
				}
				catch (FatalParseException)
				{
					// errors already reported to TagHandler.
				}
				finally
				{
					if (swfIn != null)
						swfIn.Close();
				}
			}
			finally
			{
				if (swdIn != null)
					swdIn.Close();
			}
		}