Improves native Android audio implementations.

Summary:

Adds AudioTrackStartErrorCode to separate different types of error
codes in combination with StartPlayout.

Harmonizes WebRtcAudioRecord and WebRtcAudioTrack implementations
to ensure that init/start/stop is performed identically.

Adds thread checking in WebRtcAudio track.

Bug: webrtc:8453
Change-Id: Ic913e888ff9493c9cc748a7b4dae43eb6b37fa85
Reviewed-on: https://webrtc-review.googlesource.com/15481
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20448}
This commit is contained in:
henrika
2017-10-26 14:47:47 +02:00
committed by Commit Bot
parent 78161ca59d
commit 92b1ffd0f6
3 changed files with 90 additions and 47 deletions

View File

@ -61,6 +61,7 @@ import org.webrtc.voiceengine.WebRtcAudioRecord;
import org.webrtc.voiceengine.WebRtcAudioRecord.AudioRecordStartErrorCode;
import org.webrtc.voiceengine.WebRtcAudioRecord.WebRtcAudioRecordErrorCallback;
import org.webrtc.voiceengine.WebRtcAudioTrack;
import org.webrtc.voiceengine.WebRtcAudioTrack.AudioTrackStartErrorCode;
import org.webrtc.voiceengine.WebRtcAudioTrack.WebRtcAudioTrackErrorCallback;
import org.webrtc.voiceengine.WebRtcAudioUtils;
@ -495,16 +496,20 @@ public class PeerConnectionClient {
WebRtcAudioTrack.setErrorCallback(new WebRtcAudioTrackErrorCallback() {
@Override
public void onWebRtcAudioTrackInitError(String errorMessage) {
Log.e(TAG, "onWebRtcAudioTrackInitError: " + errorMessage);
reportError(errorMessage);
}
@Override
public void onWebRtcAudioTrackStartError(String errorMessage) {
public void onWebRtcAudioTrackStartError(
AudioTrackStartErrorCode errorCode, String errorMessage) {
Log.e(TAG, "onWebRtcAudioTrackStartError: " + errorCode + ". " + errorMessage);
reportError(errorMessage);
}
@Override
public void onWebRtcAudioTrackError(String errorMessage) {
Log.e(TAG, "onWebRtcAudioTrackError: " + errorMessage);
reportError(errorMessage);
}
});