Commit [r50] Maximize Restore History

Allows support for RTCP XR to be implemented outside FMJ.

lyub0m1r 2014-07-14

1 2 > >> (Page 1 of 2)
added /fmj/src.rtp/net/sf/fmj/media/rtp/BurstMetrics.java
added /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReceiverReport.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPSDESPacket.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReportBlock.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/AudioJitterBufferBehaviour.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTPStats.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/SSRCInfo.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTPReceiver.java
changed /fmj/src.rtp/net/sf/fmj/media/protocol/rtp/DataSource.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReceiver.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/SSRCCache.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/JitterBufferBehaviour.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPBYEPacket.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPPacket.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPAPPPacket.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/BasicJitterBufferBehaviour.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTPSourceStream.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReport.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPRRPacket.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPCompoundPacket.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPSRPacket.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPSenderReport.java
changed /fmj/src.rtp/net/sf/fmj/media/rtp/RTCPTransmitter.java
copied /fmj/src/javax/media/control/PacketQueueControl.java -> /fmj/src/javax/media/control/JitterBufferControl.java
/fmj/src.rtp/net/sf/fmj/media/rtp/BurstMetrics.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReceiverReport.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPSDESPacket.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReportBlock.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/AudioJitterBufferBehaviour.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTPStats.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/SSRCInfo.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTPReceiver.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/protocol/rtp/DataSource.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReceiver.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/SSRCCache.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/JitterBufferBehaviour.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPBYEPacket.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPPacket.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPAPPPacket.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/BasicJitterBufferBehaviour.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTPSourceStream.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPReport.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPRRPacket.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPCompoundPacket.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPSRPacket.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPSenderReport.java Diff Switch to side-by-side view
Loading...
/fmj/src.rtp/net/sf/fmj/media/rtp/RTCPTransmitter.java Diff Switch to side-by-side view
Loading...
/fmj/src/javax/media/control/PacketQueueControl.java to /fmj/src/javax/media/control/JitterBufferControl.java
--- a/fmj/src/javax/media/control/PacketQueueControl.java
+++ b/fmj/src/javax/media/control/JitterBufferControl.java
@@ -1,14 +1,26 @@
 package javax.media.control;
 
-import javax.media.Control;
+import javax.media.*;
 
 /**
  * Control for the packet queue
  *
  * @author Boris Grozev
+ * @author Lyubomir Marinov
  */
-public interface PacketQueueControl extends Control
+public interface JitterBufferControl extends Control
 {
+    /**
+     * Gets the absolute maximum delay in milliseconds that an adaptive jitter
+     * buffer can reach under worst case conditions. If this value exceeds 65535
+     * milliseconds, then 65535 shall be returned. Returns <tt>maximumDelay</tt>
+     * for a fixed jitter buffer implementation.
+     *
+     * @return the absolute maximum delay in milliseconds that an adaptive
+     * jitter buffer can reach under worst case conditions
+     */
+    int getAbsoluteMaximumDelay();
+
     /**
      * Returns the current approximate delay in milliseconds that the queue
      * introduces.
@@ -77,11 +89,34 @@
     public int getDiscardedShrink();
 
     /**
+     * Gets the current maximum jitter buffer delay in milliseconds which
+     * corresponds to the earliest arriving packet that would not be discarded.
+     * In simple queue implementations it may correspond to the nominal size. In
+     * adaptive jitter buffer implementations, the value may dynamically vary up
+     * to <tt>absoluteMaximumDelay</tt>.
+     *
+     * @return the current maximum jitter buffer delay in milliseconds which
+     * corresponds to the earliest arriving packet that would not be discarded
+     */
+    int getMaximumDelay();
+
+    /**
      * Returns the maximum size that the queue reached (in number of packets).
      *
      * @return the maximum size that the queue reached (in number of packets).
      */
     public int getMaxSizeReached();
+
+    /**
+     * Gets the current nominal jitter buffer delay in milliseconds, which
+     * corresponds to the nominal jitter buffer delay for packets that arrive
+     * exactly on time.
+     *
+     * @return the current nominal jitter buffer delay in milliseconds, which
+     * corresponds to the nominal jitter buffer delay for packets that arrive
+     * exactly on time
+     */
+    int getNominalDelay();
 
     /**
      * Whether the adaptive jitter buffer mode is enabled.
1 2 > >> (Page 1 of 2)