 					} else if (_videoPES.length) {
 						_videoPES[_videoPES.length-1].data.writeBytes(_data,_data.position,todo);
 					} else {
-						Log.txt("Discarding TS video packet with id "+pid);
+						Log.txt("Discarding TS video packet with id "+pid + " bad TS segmentation ?");
 					}
 					break;
 				case _sdtId:
 						break;
 				default:
-					// Ignored other packet IDs, only report error if PMT not yet parsed 
-					// this helps to detect discarded TS packets because of PAT/PMT not being at beginning of TS fragment
-					if(_pmtId == -1)
-					   Log.txt("Discarding unassignable TS packets with id "+pid);
+				_AVpacketsBeforePMT++;
 					break;
 			}
 			// Jump to the next packet.

			_timer = new Timer(0,0);
			_timer.addEventListener(TimerEvent.TIMER, _readData);
		};
		
		/** Read a small chunk of packets each time to avoid blocking **/
		private function _readData(e:Event):void {

			// Check the section length for a single PMT.
			_data.position += 3;
			if(_data.readUnsignedByte() > 13) {
				throw new Error("Multiple PMT entries are not supported.");
			}
			// Grab the PMT ID.
			_data.position += 7;
