From 19d2276dd4ff5e3458b9aafd876aa38391feeac5 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Fri, 5 Oct 2012 11:58:37 +0000 Subject: [PATCH] Adds FEC support for the SILK codec. Minor clean-ups in EncodingConfiguration and MediaConfigurationImpl. --- lib/installer-exclude/libjitsi.jar | Bin 986465 -> 990445 bytes resources/languages/resources.properties | 11 + .../impl/neomedia/MediaConfigurationImpl.java | 13 +- .../GeneralConfigPluginActivator.java | 11 + .../plugin/generalconfig/SilkConfigForm.java | 189 ++++++++++++++++++ 5 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 src/net/java/sip/communicator/plugin/generalconfig/SilkConfigForm.java diff --git a/lib/installer-exclude/libjitsi.jar b/lib/installer-exclude/libjitsi.jar index aff8795ba6e512dd5656ac1820784a62d30c221f..479c46c2d87a6436371451eaca9c3e8c11e5f86f 100644 GIT binary patch delta 64630 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 *;-32tgUg+u0xL2dwn|{|p)22Cy#FPi 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 diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties index 9eac3c15f..7b89228a3 100644 --- a/resources/languages/resources.properties +++ b/resources/languages/resources.properties @@ -885,6 +885,17 @@ plugin.generalconfig.REMOVE_SPECIAL_PHONE_SYMBOLS=Remove special symbols before plugin.generalconfig.ACCEPT_PHONE_NUMBER_WITH_ALPHA_CHARS=Convert letters in phone numbers plugin.generalconfig.ACCEPT_PHONE_NUMBER_WITH_ALPHA_CHARS_EXAMPLE=e.g. +1-800-MYPHONE -> +1-800-694663 plugin.generalconfig.SIP_CALL_CONFIG=SIP +plugin.generalconfig.OPUS_CONFIG=Opus +plugin.generalconfig.OPUS_AUDIO_BANDWIDTH=Audio bandwidth: +plugin.generalconfig.OPUS_BITRATE=Maximun average bitrate: +plugin.generalconfig.OPUS_USE_DTX=Use DTX: +plugin.generalconfig.OPUS_USE_CBR=Use CBR: +plugin.generalconfig.OPUS_USE_FEC=Use inband FEC: +plugin.generalconfig.SILK_CONFIG=Silk +plugin.generalconfig.SILK_USE_FEC=Use inband FEC: +plugin.generalconfig.SILK_FORCE_FEC_PACKET_LOSS=Force the encoder to expect packet loss: +plugin.generalconfig.SILK_SAT=Speech activity threshold (0-1): +plugin.generalconfig.RESTORE=Restore defaults # gibberish accregwizz plugin.gibberishaccregwizz.PROTOCOL_NAME=Gibberish diff --git a/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java b/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java index 8df883b8c..a0f8a3f64 100644 --- a/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java +++ b/src/net/java/sip/communicator/impl/neomedia/MediaConfigurationImpl.java @@ -581,6 +581,7 @@ public void run() /** * Creates all the controls (including encoding) for a type(AUDIO or VIDEO) + * * @param type the type. * @return the build Component. */ @@ -627,8 +628,12 @@ private Component createControls(int type) /** * Returns a component for encodings configuration for the given * mediaType + * * @param mediaType Either MediaType.AUDIO or * MediaType.VIDEO + * @param encodingConfiguration The EncodingConfiguration instance + * to use. If null, it will use the current encoding configuration from + * the media service. * @return The component for encodings configuration. */ public Component createEncodingControls( @@ -665,7 +670,12 @@ public Component createEncodingControls( /** * Creates Component for the encodings of type(AUDIO or VIDEO). - * @param type the type + * + * @param type the type, either DeviceConfigurationComboBoxModel.AUDIO or + * DeviceConfigurationComboBoxModel.AUDIO + * @param encodingConfiguration The EncodingConfiguration instance + * to use. If null, it will use the current encoding configuration from + * the media service. * @return the component. */ private Component createEncodingControls(int type, @@ -946,6 +956,7 @@ private static String getLabelText(int type) /** * Used to move encoding options. + * * @param table the table with encodings * @param up move direction. */ diff --git a/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java b/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java index ca7b5920b..27674005f 100644 --- a/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java +++ b/src/net/java/sip/communicator/plugin/generalconfig/GeneralConfigPluginActivator.java @@ -145,6 +145,17 @@ public void start(BundleContext bc) 52, true), properties); } + properties.put( ConfigurationForm.FORM_TYPE, + ConfigurationForm.ADVANCED_TYPE); + bundleContext.registerService( + ConfigurationForm.class.getName(), + new LazyConfigurationForm( + SilkConfigForm.class.getName(), + getClass().getClassLoader(), + null, + "plugin.generalconfig.SILK_CONFIG", + 52, true), + properties); /* * Wait for the first ProtocolProviderService to register in order to diff --git a/src/net/java/sip/communicator/plugin/generalconfig/SilkConfigForm.java b/src/net/java/sip/communicator/plugin/generalconfig/SilkConfigForm.java new file mode 100644 index 000000000..5ebac66fd --- /dev/null +++ b/src/net/java/sip/communicator/plugin/generalconfig/SilkConfigForm.java @@ -0,0 +1,189 @@ +/* + * Jitsi, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.plugin.generalconfig; + + +import net.java.sip.communicator.util.swing.*; +import org.jitsi.service.configuration.ConfigurationService; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; + + +/** + * Implements the Silk configuration panel. + * + * @author Boris Grozev + */ +public class SilkConfigForm + extends TransparentPanel +{ + /** + * The property name associated with the 'use fec' setting + */ + private static final String FEC_PROP + = "net.java.sip.communicator.impl.neomedia.codec.audio.silk." + + "encoder.usefec"; + + /** + * The property name associated with the 'force packet loss' setting + */ + private static final String FEC_FORCE_PL_PROP + = "net.java.sip.communicator.impl.neomedia.codec.audio.silk." + + "encoder.forcepacketloss"; + + /** + * The property name associated with the 'speech activity threshold' setting + */ + private static final String FEC_SAT_PROP + = "net.java.sip.communicator.impl.neomedia.codec.audio.silk." + + "encoder.sat"; + + /** + * The default value for the SAT setting + */ + private static final String FEC_SAT_DEFAULT = "0.5"; + + /** + * The default value for the FEC setting + */ + private static final boolean FEC_DEFAULT = true; + + /** + * The default value for the FEC force packet loss setting + */ + private static final boolean FEC_FORCE_PL_DEFAULT = true; + + /** + * The "restore defaults" button + */ + private final JButton restoreButton = new JButton(Resources.getString( + "plugin.generalconfig.RESTORE")); + + /** + * The "use fec" checkbox + */ + private final JCheckBox fecCheckbox = new JCheckBox(); + + /** + * The "force packet loss" checkbox + */ + private final JCheckBox fecForcePLCheckbox = new JCheckBox(); + + /** + * The "speech activity threshold" field + */ + private final JTextField SATField = new JTextField(6); + + /** + * The ConfigurationService to be used to access configuration + */ + ConfigurationService configurationService + = GeneralConfigPluginActivator.getConfigurationService(); + + + /** + * Initialize a new OpusConfigForm instance. + */ + public SilkConfigForm() + { + super(new BorderLayout()); + Box box = Box.createVerticalBox(); + add(box, BorderLayout.NORTH); + + TransparentPanel contentPanel = new TransparentPanel(); + contentPanel.setLayout(new BorderLayout(10, 10)); + + box.add(contentPanel); + + TransparentPanel labelPanel + = new TransparentPanel(new GridLayout(0, 1, 2, 2)); + TransparentPanel valuePanel + = new TransparentPanel(new GridLayout(0, 1, 2, 2)); + TransparentPanel southPanel + = new TransparentPanel(new GridLayout(0, 1, 2, 2)); + + contentPanel.add(labelPanel, BorderLayout.WEST); + contentPanel.add(valuePanel, BorderLayout.CENTER); + contentPanel.add(southPanel, BorderLayout.SOUTH); + + labelPanel.add(new JLabel(Resources.getString( + "plugin.generalconfig.SILK_USE_FEC"))); + labelPanel.add(new JLabel(Resources.getString( + "plugin.generalconfig.SILK_FORCE_FEC_PACKET_LOSS"))); + labelPanel.add(new JLabel(Resources.getString( + "plugin.generalconfig.SILK_SAT"))); + + + fecCheckbox.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent actionEvent) { + configurationService.setProperty(FEC_PROP, + fecCheckbox.isSelected()); + } + }); + fecCheckbox.setSelected(configurationService.getBoolean( + FEC_PROP, FEC_DEFAULT)); + valuePanel.add(fecCheckbox); + + fecForcePLCheckbox.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent actionEvent) { + configurationService.setProperty(FEC_PROP, + fecForcePLCheckbox.isSelected()); + } + }); + fecForcePLCheckbox.setSelected(configurationService.getBoolean( + FEC_FORCE_PL_PROP, FEC_FORCE_PL_DEFAULT)); + valuePanel.add(fecForcePLCheckbox); + + SATField.addFocusListener(new FocusListener() { + @Override + public void focusGained(FocusEvent focusEvent){} + + @Override + public void focusLost(FocusEvent focusEvent) + { + configurationService.setProperty(FEC_SAT_PROP, + SATField.getText()); + } + }); + SATField.setText(configurationService.getString( + FEC_SAT_PROP, FEC_SAT_DEFAULT)); + valuePanel.add(SATField); + + + southPanel.add(restoreButton); + restoreButton.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent e) + { + restoreDefaults(); + } + }); + + } + + /** + * Restores the UI components and the configuration to their default state + */ + private void restoreDefaults() + { + fecCheckbox.setSelected(FEC_DEFAULT); + configurationService.setProperty(FEC_PROP, FEC_DEFAULT); + + fecForcePLCheckbox.setSelected(FEC_FORCE_PL_DEFAULT); + configurationService.setProperty( + FEC_FORCE_PL_PROP, FEC_FORCE_PL_DEFAULT); + + SATField.setText(FEC_SAT_DEFAULT); + configurationService.setProperty(FEC_SAT_PROP, FEC_SAT_DEFAULT); + } +} \ No newline at end of file