The Custom Integrator Show Installment 019 is live.  Now that we have wrapped up our discussions on UPnP technologies, DLNA, and DPWS, we take a break from a specific topic and discuss several of the recent technologies that impact our design and implementation strategies.


Direct Download – Subscribe via RSS – Subscribe via iTunes – Subscribe with Zune

Some of the topics we discuss include transcoding optimization considerations on the Windows Media Center PC when looking at GPU offloading capabilities and the new Secure Hardware Encoder/Decoder (SHED) features built into Windows 7.  We also delve into several other considerations with upgrading to Windows 7 including how sharing content might change and the impact of the new WTV format for recorded TV.


I have been long overdue in posting the updated to the Rx Flow Control setting available for the network interface under Windows 7.  Todd Rutherford (our friend from Microsoft), the person heading up the training work group for the Media Center Integrators Alliance (MCIA) brought it up in a thread on The Green Button a while ago (  I also will be talking about it as part of my session I am presenting at CEDIA on Networking for Media Distribution (Thursday morning).

Rx Flow Control configuration on a Windows 7 Network Interface Driver

When streaming TV content from a Windows Media Center PC using a gigabit Ethernet connection to an Extender for Windows Media Center connected via 100 Mb Ethernet, RTP/UDP Audio/Video packets are lost on the network by the Ethernet switch because of the “fast sender” bursting UDP packets and the relatively slower receiver not being able to consume the packers at the same rate the sender is bursting the data. Lost RTP/UDP A/V packets result in macroblocking, glitching audio and/or video, and poor quality audio/video in general despite the use of an Ethernet network.

If the NIC/driver on the Windows 7 Media Center PC is capable of respecting Flow Control Pause messages sent by the switch (when the switch buffer is full) and pausing transmission for the requested duration, the switch buffers will not overflow and the Ethernet switch will not drop packets. For applications streaming RTP/UDP such as Extenders, this will result in an optimal AV playback experience. Therefore, the desired configuration is to enable the Rx Flow Control option for the NIC/driver.

Issues with enabling Tx Flow Control on Windows 7 Network Interface Driver

If Tx Flow Control is enabled on the NIC/driver of a Windows 7 PC and the NIC/driver receives incoming data at a rate higher than it can handle or process, it will send a Flow Control Pause frame to the port on the Ethernet switch. The switch respects the Flow Control Pause frame and stops sending data for the duration requested in the Flow Control Pause frame. This sounds great, but unfortunately, most Ethernet switch manufacturers do not implement flow control on a per port basis (except for some of the better managed switches). This effectively means that, when a switch respects a Flow Control Pause frame sent by a Windows 7 PC’s NIC/driver, the switch pauses data transmission for all of its ports. This could slow down other network activity traveling through the switch and interrupt traffic for other devices on the network, which definitely is not the desired result.


The only real way to know if an Ethernet switch respects Rx Flow Control is to try it. Unfortunately, most vendors do not list this capability in their specifications. Many “commercial” switches do incorporate this feature, which is another reason why you want to be particular in your Ethernet switch selection and why we always recommend managed switches.  Also, do not forget our requirement for a minimum of 128K buffering PER PORT on the Ethernet switch.  This helps minimize buffer overflow for the slower speed connections, too.


Leave a Reply