Program: 104252
Project: 104252
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 participant and the local controller.
 */
private void createSendStreams(Vector 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++) {
    RTPManager rtpManager=null;
    if (streams[i].getFormat() instanceof VideoFormat) {
      rtpManager=getVideoRtpManager();
    }
 else     if (streams[i].getFormat() instanceof AudioFormat) {
      rtpManager=getAudioRtpManager();
    }
 else {
      logger.warn("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ streams[i].getFormat());
      continue;
    }
    try {
      SendStream stream=rtpManager.createSendStream(dataSource,i);
      logger.trace("String_Node_Str" + streams[i].getFormat());
    }
 catch (    Exception exc) {
      throw new MediaException("String_Node_Str" + streams[i].getFormat(),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 participant 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++) {
    RTPManager rtpManager=null;
    if (streams[i].getFormat() instanceof VideoFormat) {
      rtpManager=getVideoRtpManager();
    }
 else     if (streams[i].getFormat() instanceof AudioFormat) {
      rtpManager=getAudioRtpManager();
    }
 else {
      logger.warn("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ streams[i].getFormat());
      continue;
    }
    try {
      SendStream stream=rtpManager.createSendStream(dataSource,i);
      logger.trace("String_Node_Str" + streams[i].getFormat());
    }
 catch (    Exception exc) {
      throw new MediaException("String_Node_Str" + streams[i].getFormat(),MediaException.IO_ERROR,exc);
    }
  }
}