Patent ID: 8619642

Claim:
A method for controlling a size of a jitter buffer, the method comprising: during a first iteration performing, using one or more processors, operations comprising: determining a first duplex mode of operation of a first network device using a communication channel to communicate with a second network device, the first duplex mode being a half-duplex mode or a full-duplex mode; in response to the first duplex mode determined to be the half-duplex mode, performing a first set of operations comprising: buffering packets associated with an incoming media stream, applying an adaptive algorithm to the jitter buffer, wherein the adaptive algorithm dynamically adjusts the jitter buffer to a first size within a first range of sizes having a first lower bound and a first upper bound, determining whether the first duplex mode changed to the full-duplex mode, in response to the determining that the first duplex mode changed to the full-duplex mode, storing the first size of the jitter buffer and proceeding to a second iteration, in response to the determining that the first duplex mode is not changed, continuing the buffering of the packets and the applying of the adaptive algorithm of the first set of operations; in response to the first duplex mode determined to be the full-duplex mode, performing a second set of operations comprising: buffering packets associated with the incoming media stream, applying the adaptive algorithm to the jitter buffer, wherein the adaptive algorithm dynamically adjusts the jitter buffer to a second size within a second range of sizes having a second lower bound and a second upper bound, determining whether the first duplex mode changed to the half-duplex mode, in response to the determining that the first duplex mode changed to the half-duplex mode, storing the second size of the jitter buffer and proceeding to the second iteration, in response to the determining that the first duplex mode is not changed, continuing the buffering of the packets and the applying of the adaptive algorithm of the second set of operations; and during the second iteration performing, using the one or more processors, operations comprising: determining a second duplex mode of operation of the first network device using the communication channel to communicate with the second network device, the second duplex mode being the half-duplex mode or the full-duplex mode, in response to the second duplex mode determined to be the half-duplex mode, if the first size of the jitter buffer is stored, immediately adapting the jitter buffer to the first size before dynamically adjusting the jitter buffer, if the first size of the jitter buffer is not stored, performing the first set of operations, in response to the second duplex mode determined to be the full-duplex mode, if the second size of the jitter buffer is stored, immediately adapting the jitter buffer to the second size before dynamically adjusting the jitter buffer, if the second size of the jitter buffer is not stored, performing the second set of operations.