diff --git a/media/jni/android_media_SyncSettings.h b/media/jni/android_media_SyncSettings.h
new file mode 100644
index 0000000..586533f
--- /dev/null
+++ b/media/jni/android_media_SyncSettings.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2015, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ANDROID_MEDIA_SYNC_SETTINGS_H_
+#define _ANDROID_MEDIA_SYNC_SETTINGS_H_
+
+#include "jni.h"
+
+namespace android {
+
+struct SyncSettings {
+    // keep this here until it is implemented
+    int syncSource;
+    int audioAdjustMode;
+    float tolerance;
+    float frameRate;
+
+    bool syncSourceSet;
+    bool audioAdjustModeSet;
+    bool toleranceSet;
+    bool frameRateSet;
+
+    struct fields_t {
+        jclass      clazz;
+        jmethodID   constructID;
+
+        jfieldID    sync_source;
+        jfieldID    audio_adjust_mode;
+        jfieldID    tolerance;
+        jfieldID    frame_rate;
+        jfieldID    set;
+        jint        set_sync_source;
+        jint        set_audio_adjust_mode;
+        jint        set_tolerance;
+        jint        set_frame_rate;
+
+        // initializes fields
+        void init(JNIEnv *env);
+
+        // releases global references held
+        void exit(JNIEnv *env);
+    };
+
+    // fills this from an android.media.SyncSettings object
+    void fillFromJobject(JNIEnv *env, const fields_t& fields, jobject settings);
+
+    // returns this as a android.media.SyncSettings object
+    jobject asJobject(JNIEnv *env, const fields_t& fields);
+};
+
+}  // namespace android
+
+#endif  // _ANDROID_MEDIA_SYNC_SETTINGS_H_
