diff --git a/playback/player/android/build.xml b/playback/player/android/build.xml new file mode 100644 index 0000000000..4ef18c8f98 --- /dev/null +++ b/playback/player/android/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/playback/player/android/jni/player.c b/playback/player/android/jni/player.c index bdf8e312e0..fe7f29d9b4 100644 --- a/playback/player/android/jni/player.c +++ b/playback/player/android/jni/player.c @@ -161,11 +161,10 @@ on_error (GstPlayer * unused, GError * err, Player * player) JNIEnv *env = get_jni_env (); jstring error_msg; - // FIXME - error_msg = err ? (*env)->NewStringUTF (env, err->message) : NULL; + error_msg =(*env)->NewStringUTF (env, err->message); (*env)->CallVoidMethod (env, player->java_player, on_error_method_id, - error_msg); + err->code, error_msg); if ((*env)->ExceptionCheck (env)) { (*env)->ExceptionDescribe (env); (*env)->ExceptionClear (env); @@ -427,7 +426,7 @@ native_class_init (JNIEnv * env, jclass klass) on_seek_finished_method_id = (*env)->GetMethodID (env, klass, "onSeekFinished", "()V"); on_error_method_id = - (*env)->GetMethodID (env, klass, "onError", "(Ljava/lang/String;)V"); + (*env)->GetMethodID (env, klass, "onError", "(ILjava/lang/String;)V"); on_video_dimensions_changed_method_id = (*env)->GetMethodID (env, klass, "onVideoDimensionsChanged", "(II)V"); diff --git a/playback/player/android/res/layout/main.xml b/playback/player/android/res/layout/main.xml new file mode 100644 index 0000000000..b745d8069e --- /dev/null +++ b/playback/player/android/res/layout/main.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/playback/player/android/res/values/strings.xml b/playback/player/android/res/values/strings.xml new file mode 100644 index 0000000000..9587e3c40c --- /dev/null +++ b/playback/player/android/res/values/strings.xml @@ -0,0 +1,6 @@ + + + GStreamer Play + Play + Pause + diff --git a/playback/player/android/src/org/freedesktop/gstreamer/Player.java b/playback/player/android/src/org/freedesktop/gstreamer/Player.java index 862444ba03..993001a759 100644 --- a/playback/player/android/src/org/freedesktop/gstreamer/Player.java +++ b/playback/player/android/src/org/freedesktop/gstreamer/Player.java @@ -183,9 +183,14 @@ public class Player implements Closeable { } } + // Keep these in sync with gstplayer.h + private static final Error[] errorMap = {Error.FAILED}; + public enum Error { + FAILED + } + public static interface ErrorListener { - // FIXME: enums - abstract void error(Player player, String errorMessage); + abstract void error(Player player, Error error, String errorMessage); } private ErrorListener errorListener; @@ -193,9 +198,10 @@ public class Player implements Closeable { errorListener = listener; } - private void onError(String errorMessage) { + private void onError(int errorCode, String errorMessage) { if (errorListener != null) { - errorListener.error(this, errorMessage); + Error error = errorMap[errorCode]; + errorListener.error(this, error, errorMessage); } }