Program: 103886
Project: 103886
Buggy source:
/** 
 * Creates a DataSource for all encodings in the mediaDescriptions vector and initializes send streams in our rtp managers for every stream in the data source.
 * @param mediaDescriptions a <tt>Vector</tt> containing<tt>MediaDescription</tt> instances as sent by the remote side with their SDP description.
 * @throws MediaException if we fail to create our data source with theproper encodings and/or fail to initialize the RTP managers with the necessary streams and/or don't find encodings supported by both the remote peer and the local controller.
 */
private void createSendStreams(Vector<MediaDescription> mediaDescriptions) throws MediaException {
  Hashtable<String,List<String>> mediaEncodings=extractMediaEncodings(mediaDescriptions);
  DataSource dataSource=mediaServCallback.getMediaControl(getCall()).createDataSourceForEncodings(mediaEncodings);
  PushBufferStream[] streams=((PushBufferDataSource)dataSource).getStreams();
  for (int i=0; i < streams.length; i++) {
    PushBufferStream stream=streams[i];
    javax.media.Format format=stream.getFormat();
    RTPManager rtpManager=null;
    if (format instanceof VideoFormat) {
      rtpManager=getVideoRtpManager();
    }
 else     if (format instanceof AudioFormat) {
      rtpManager=getAudioRtpManager();
    }
 else {
      logger.warn("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ format);
      continue;
    }
    try {
      rtpManager.createSendStream(dataSource,i);
      logger.trace("String_Node_Str" + format);
    }
 catch (    Exception exc) {
      throw new MediaException("String_Node_Str" + format,MediaException.IO_ERROR,exc);
    }
  }
}

Fixed version (ground truth):
/** 
 * Creates a DataSource for all encodings in the mediaDescriptions vector and initializes send streams in our rtp managers for every stream in the data source.
 * @param mediaDescriptions a <tt>Vector</tt> containing<tt>MediaDescription</tt> instances as sent by the remote side with their SDP description.
 * @throws MediaException if we fail to create our data source with theproper encodings and/or fail to initialize the RTP managers with the necessary streams and/or don't find encodings supported by both the remote peer and the local controller.
 */
private void createSendStreams(Vector<MediaDescription> mediaDescriptions) throws MediaException {
  Hashtable<String,List<String>> mediaEncodings=extractMediaEncodings(mediaDescriptions);
  DataSource dataSource=mediaServCallback.getMediaControl(getCall()).createDataSourceForEncodings(mediaEncodings);
  PushBufferStream[] streams=((PushBufferDataSource)dataSource).getStreams();
  for (int i=0; i < streams.length; i++) {
    PushBufferStream stream=streams[i];
    javax.media.Format format=stream.getFormat();
    RTPManager rtpManager=null;
    if (format instanceof VideoFormat) {
      rtpManager=getVideoRtpManager();
    }
 else     if (format instanceof AudioFormat) {
      rtpManager=getAudioRtpManager();
    }
 else {
      logger.warn("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ format);
      continue;
    }
    try {
      SendStream sendStream=rtpManager.createSendStream(dataSource,i);
      TransformConnector transConnector=this.transConnectors.get(rtpManager);
      if (transConnector != null) {
        long ssrc=sendStream.getSSRC();
        ZRTPTransformEngine engine=(ZRTPTransformEngine)transConnector.getEngine();
        engine.setOwnSSRC(ssrc);
      }
      logger.trace("String_Node_Str" + format);
    }
 catch (    Exception exc) {
      throw new MediaException("String_Node_Str" + format,MediaException.IO_ERROR,exc);
    }
  }
}