aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/service/neomedia/QualityControls.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/service/neomedia/QualityControls.java')
-rw-r--r--src/net/java/sip/communicator/service/neomedia/QualityControls.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/net/java/sip/communicator/service/neomedia/QualityControls.java b/src/net/java/sip/communicator/service/neomedia/QualityControls.java
new file mode 100644
index 0000000..78bfe10
--- /dev/null
+++ b/src/net/java/sip/communicator/service/neomedia/QualityControls.java
@@ -0,0 +1,53 @@
+/*
+ * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package net.java.sip.communicator.service.neomedia;
+
+import net.java.sip.communicator.service.protocol.*;
+
+/**
+ * The quality controls we use to control other party video presets.
+ * @author Damian Minkov
+ */
+public interface QualityControls
+{
+ /**
+ * The currently used quality preset announced as receive by remote party.
+ * @return the current quality preset.
+ */
+ public QualityPresets getRemoteReceivePreset();
+
+ /**
+ * The minimum preset that the remote party is sending and we are receiving.
+ * @return the minimum remote preset.
+ */
+ public QualityPresets getRemoteSendMinPreset();
+
+ /**
+ * The maximum preset that the remote party is sending and we are receiving.
+ * @return the maximum preset announced from remote party as send.
+ */
+ public QualityPresets getRemoteSendMaxPreset();
+
+ /**
+ * Changes remote send preset. This doesn't have impact of current stream.
+ * But will have on next media changes.
+ * With this we can try to change the resolution that the remote part
+ * is sending.
+ * @param preset the new preset value.
+ */
+ public void setRemoteSendMaxPreset(QualityPresets preset);
+
+ /**
+ * Changes remote send preset and protocols who can handle the changes
+ * will implement this for re-inviting the other party or just sending that
+ * media has changed.
+ * @param preset the new preset.
+ * @throws OperationFailedException
+ */
+ public void setPreferredRemoteSendMaxPreset(QualityPresets preset)
+ throws OperationFailedException;
+}