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:
@@ -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},
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user