A method and 
system are provided for remultiplexing program bearing data. The remultiplexing method and 
system are applicable to MPEG-2 compliant transport streams carrying video programs. A descriptor based 
system is used for scheduling the timely output of transport packets wherein each descriptor records a dispatch time as well as a 
receipt time for each transport packet. The 
receipt time is used for estimating 
program clock reference adjustments, but final 
program clock reference adjustment is performed in hardware in relation to the precise output timing of each transport packets. A descriptor and transport packet caching technique is used for decoupling the synchronous 
receipt and transmission of transport packets from any 
asynchronous processing performed thereon. The descriptors can also be used for managing scrambling and descrambling control words (
encryption and decryption keys). Remultiplexing functions may be distributed across a network. The remultiplexer can furthermore optimize the bandwidth of transport streams by replacing null transport packets with transport packet data to be inserted into the output transport 
stream. Program data transmitted via 
asynchronous communication links is re-timed and assistance is provided for outputting program data on such 
asynchronous communication links to reduce a variation in end-to-end 
delay incurred by the program data. Remultiplexing and 
program specific information can be searnlessly dynamically varied without stopping, or introducing a discontinuity in, the flow of outputted transport packets. A technique is also provided for locking multiple internal reference 
clock generators.