 		private function readCC(pes : PES):void
 		{
 			var country_code : uint = pes.data.readUnsignedByte();
-			
+
 			if (country_code == 181)
 			{
 				var provider_code : uint = pes.data.readUnsignedShort();
-				
+
 				if (provider_code == 49)
 				{
 					var user_structure : uint = pes.data.readUnsignedInt();
-					
+
 					if (user_structure == 0x47413934) // GA94
 					{
 						var user_data_type : uint = pes.data.readUnsignedByte();
-						
+
 						// CEA-608 wrapped in 708 ( user_data_type == 4 is raw 608, not handled yet )
 						if (user_data_type == 3)
 						{
 							// cc -- the first 8 bits are 1-Boolean-0 and the 5 bits for the number of CCs
 							var byte:uint = pes.data.readUnsignedByte();
-							
+
 							// get the total number of cc_datas
 							var total:uint = 31 & byte;
 							var count:uint = 0;
-							
+
 							// supposedly a flag to process the cc_datas or not
 							// isn't working for me, so i don't use it yet
 							var process:Boolean = !((64 & byte) == 0);
-							
+
 							var size:uint = total * 3;
-							
+
 							// em_data, do we need? It's not used for anything, but it's there, so i need to pull it out
 							var otherByte:uint = pes.data.readUnsignedByte();
-							
+
 							if (pes.data.bytesAvailable >= size)
 							{
 								// ByteArray for onCaptionInfo event
 								var sei : ByteArray = new ByteArray();
-								
+
 								// onCaptionInfo payloads need to know the size of the binary data
 								// there's two two bytes we just read, plus the cc_datas, which are 3 bytes each
 								sei.writeUnsignedInt(2+3*total);
-								
+
 								// write those two bytes
 								sei.writeByte(byte);
 								sei.writeByte(otherByte);
-								
+
 								// write the cc_datas
 								pes.data.readBytes(sei, 6, 3*total);
-								
+
 								pes.data.position -= total * 3;
-								
+
 								// onCaptionInfo expects Base64 data...
 								var sei_data:String = Base64.encode(sei);
-								
+
 								var cc_data:Object = {
 									type: "708",
 									data: sei_data
 								};
-								
+
 								// add a new FLVTag with the onCaptionInfo call
 								var tag:FLVTag = new FLVTag(FLVTag.METADATA, pes.pts, pes.pts, false);
-								
+
 								var data : ByteArray = new ByteArray();
 								data.objectEncoding = ObjectEncoding.AMF0;
 								data.writeObject("onCaptionInfo");

                                Log.warn("TS: reparsing PMT, unknown PID found");
                            }
                        }
                        todo -= _parsePMT(stt,data);
                        // if PMT was not parsed before, and some unknown packets have been skipped in between,
                        // rewind to beginning of the stream, it helps recovering bad segmented content
                        // in theory there should be no A/V packets before PAT/PMT)
                        if (_pmtParsed == false && _unknownPIDFound == true) {
                            CONFIG::LOGGING {
                                Log.warn("TS: late PMT found, rewinding at beginning of TS");
                            }
                            _pmtParsed = true;
                            _readPosition = 0;
                            return;
                        }
                        _pmtParsed = true;
                        _unknownPIDFound = false;
                    }
                    break;
                case _audioId:
                    if (_pmtParsed == false) {

							// Parse payload size.
							payload_size = 0;
							do {
								payload_size += pes.data.readUnsignedByte();
							} while (pes.data.bytesAvailable!=0 && payload_size == 0xFF);
							// Process the payload. We only support EIA-608 payloads currently.
							if (payload_type == 4) {
