All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.webrtc.AudioSource Maven / Gradle / Ivy

/*
 *  Copyright 2013 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

package org.webrtc;

/**
 * Java wrapper for a C++ AudioSourceInterface.  Used as the source for one or
 * more {@code AudioTrack} objects.
 */
public class AudioSource extends MediaSource {
	/**
	 * Native Peer Connection Factory
	 */
	private long nativeFactory;

	public AudioSource(long nativeSource, long nativeFactory) {
		super(nativeSource);
		this.nativeFactory = nativeFactory;
	}


	public void writeAudioFrame(byte[] data, int length) {
		nativeWriteAudioFrame(nativeFactory, data, length);
	}
	
	public void writeMockFrame(int length) {
		  nativeWriteMockAudioFrame(nativeFactory, length);
	 }
	
	/**
	 * Write 48K Hz stereo data
	 * @param data
	 * @param length
	 */
	private native void nativeWriteAudioFrame(long nativeFactory, byte[] data, int length);
	
	private native void nativeWriteMockAudioFrame(long nativeFactory, int length);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy