summaryrefslogtreecommitdiffstats
path: root/media/jni/android_media_MediaSync.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/jni/android_media_MediaSync.cpp')
-rw-r--r--media/jni/android_media_MediaSync.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/media/jni/android_media_MediaSync.cpp b/media/jni/android_media_MediaSync.cpp
index 8e0ed64..893c414 100644
--- a/media/jni/android_media_MediaSync.cpp
+++ b/media/jni/android_media_MediaSync.cpp
@@ -102,6 +102,10 @@ float JMediaSync::getVideoFrameRate() {
return mSync->getVideoFrameRate();
}
+void JMediaSync::flush() {
+ mSync->flush();
+}
+
status_t JMediaSync::updateQueuedAudioData(
int sizeInBytes, int64_t presentationTimeUs) {
return mSync->updateQueuedAudioData(sizeInBytes, presentationTimeUs);
@@ -464,6 +468,16 @@ static jobject android_media_MediaSync_getSyncParams(JNIEnv *env, jobject thiz)
return scs.asJobject(env, gSyncParamsFields);
}
+static void android_media_MediaSync_native_flush(JNIEnv *env, jobject thiz) {
+ sp<JMediaSync> sync = getMediaSync(env, thiz);
+ if (sync == NULL) {
+ throwExceptionAsNecessary(env, INVALID_OPERATION);
+ return;
+ }
+
+ sync->flush();
+}
+
static void android_media_MediaSync_native_init(JNIEnv *env) {
ScopedLocalRef<jclass> clazz(env, env->FindClass("android/media/MediaSync"));
CHECK(clazz.get() != NULL);
@@ -524,6 +538,8 @@ static JNINativeMethod gMethods[] = {
"()J",
(void *)android_media_MediaSync_native_getPlayTimeForPendingAudioFrames },
+ { "native_flush", "()V", (void *)android_media_MediaSync_native_flush },
+
{ "native_init", "()V", (void *)android_media_MediaSync_native_init },
{ "native_setup", "()V", (void *)android_media_MediaSync_native_setup },