/* * Copyright (C) 2012, Collabora Ltd. * Author: Youness Alaoui * * Copyright (C) 2015, Collabora Ltd. * Author: Justin Kim * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ package org.freedesktop.gstreamer.androidmedia; import android.hardware.Camera; public class GstAhcCallback implements Camera.PreviewCallback, Camera.ErrorCallback, Camera.AutoFocusCallback { public long mUserData; public long mCallback; public static native void gst_ah_camera_on_preview_frame(byte[] data, Camera camera, long callback, long user_data); public static native void gst_ah_camera_on_error(int error, Camera camera, long callback, long user_data); public static native void gst_ah_camera_on_auto_focus(boolean success, Camera camera, long callback, long user_data); public GstAhcCallback(long callback, long user_data) { mCallback = callback; mUserData = user_data; } @Override public void onPreviewFrame(byte[] data, Camera camera) { gst_ah_camera_on_preview_frame(data, camera, mCallback, mUserData); } @Override public void onError(int error, Camera camera) { gst_ah_camera_on_error(error, camera, mCallback, mUserData); } @Override public void onAutoFocus(boolean success, Camera camera) { gst_ah_camera_on_auto_focus(success, camera, mCallback, mUserData); } }