am 56811fe9: Merge "AudioSystem: add API to query audio HW sync source" into lmp-dev

* commit '56811fe93605fc8faf7f4f6e2bcf5c30bba833aa':
  AudioSystem: add API to query audio HW sync source
This commit is contained in:
Eric Laurent
2014-08-06 19:51:06 +00:00
committed by Android Git Automerger
3 changed files with 21 additions and 2 deletions

View File

@@ -1293,6 +1293,12 @@ android_media_AudioSystem_eventHandlerFinalize(JNIEnv *env, jobject thiz)
AudioSystem::setAudioPortCallback(callback);
}
static jint
android_media_AudioSystem_getAudioHwSyncForSession(JNIEnv *env, jobject thiz, jint sessionId)
{
return (jint)AudioSystem::getAudioHwSyncForSession((audio_session_t)sessionId);
}
// ----------------------------------------------------------------------------
static JNINativeMethod gMethods[] = {
@@ -1332,6 +1338,8 @@ static JNINativeMethod gMethods[] = {
(void *)android_media_AudioSystem_listAudioPatches},
{"setAudioPortConfig", "(Landroid/media/AudioPortConfig;)I",
(void *)android_media_AudioSystem_setAudioPortConfig},
{"getAudioHwSyncForSession", "(I)I",
(void *)android_media_AudioSystem_getAudioHwSyncForSession},
};

View File

@@ -152,6 +152,12 @@ public final class AudioAttributes implements Parcelable {
*/
public final static int FLAG_SCO = 0x1 << 2;
/**
* @hide
* CANDIDATE FOR PUBLIC API
* Flag requesting the use of an output stream supporting hardware A/V synchronization.
*/
public final static int FLAG_HW_AV_SYNC = 0x1 << 4;
private int mUsage = USAGE_UNKNOWN;
private int mContentType = CONTENT_TYPE_UNKNOWN;
@@ -196,7 +202,7 @@ public final class AudioAttributes implements Parcelable {
*/
public int getFlags() {
// only return the flags that are public
return (mFlags & (FLAG_AUDIBILITY_ENFORCED));
return (mFlags & (FLAG_AUDIBILITY_ENFORCED | FLAG_HW_AV_SYNC));
}
/**
@@ -340,7 +346,7 @@ public final class AudioAttributes implements Parcelable {
*/
public Builder setFlags(int flags) {
flags &= (AudioAttributes.FLAG_AUDIBILITY_ENFORCED | AudioAttributes.FLAG_SCO
| AudioAttributes.FLAG_SECURE);
| AudioAttributes.FLAG_SECURE | AudioAttributes.FLAG_HW_AV_SYNC);
mFlags |= flags;
return this;
}

View File

@@ -487,5 +487,10 @@ public class AudioSystem
public static native int releaseAudioPatch(AudioPatch patch);
public static native int listAudioPatches(ArrayList<AudioPatch> patches, int[] generation);
public static native int setAudioPortConfig(AudioPortConfig config);
// must be kept in sync with value in include/system/audio.h
public static final int AUDIO_HW_SYNC_INVALID = 0;
public static native int getAudioHwSyncForSession(int sessionId);
}