mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 12:41:05 +00:00
Code cleanup: only call gst_x_overlay_set_window_handle from one place.
This commit is contained in:
parent
1c4d79835a
commit
a62471700f
1 changed files with 4 additions and 13 deletions
|
@ -128,6 +128,10 @@ static void check_initialization_complete (CustomData *data) {
|
||||||
JNIEnv *env = get_jni_env ();
|
JNIEnv *env = get_jni_env ();
|
||||||
if (!data->initialized && data->native_window && data->main_loop) {
|
if (!data->initialized && data->native_window && data->main_loop) {
|
||||||
GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop);
|
GST_DEBUG ("Initialization complete, notifying application. native_window:%p main_loop:%p", data->native_window, data->main_loop);
|
||||||
|
|
||||||
|
/* The main loop is running and we received a native window, inform the sink about it */
|
||||||
|
gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window);
|
||||||
|
|
||||||
(*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id);
|
(*env)->CallVoidMethod (env, data->app, on_gstreamer_initialized_method_id);
|
||||||
if ((*env)->ExceptionCheck (env)) {
|
if ((*env)->ExceptionCheck (env)) {
|
||||||
GST_ERROR ("Failed to call Java method");
|
GST_ERROR ("Failed to call Java method");
|
||||||
|
@ -170,11 +174,6 @@ static void *app_function (void *userdata) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data->native_window) {
|
|
||||||
GST_DEBUG ("Native window already received, notifying the pipeline about it.");
|
|
||||||
gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Instruct the bus to emit signals for each received message, and connect to the interesting signals */
|
/* Instruct the bus to emit signals for each received message, and connect to the interesting signals */
|
||||||
bus = gst_element_get_bus (data->pipeline);
|
bus = gst_element_get_bus (data->pipeline);
|
||||||
bus_source = gst_bus_create_watch (bus);
|
bus_source = gst_bus_create_watch (bus);
|
||||||
|
@ -289,14 +288,6 @@ static void gst_native_surface_init (JNIEnv *env, jobject thiz, jobject surface)
|
||||||
}
|
}
|
||||||
data->native_window = new_native_window;
|
data->native_window = new_native_window;
|
||||||
|
|
||||||
if (data->video_sink) {
|
|
||||||
GST_DEBUG ("Pipeline already created, notifying it about the native window.");
|
|
||||||
gst_element_set_state (data->pipeline, GST_STATE_READY);
|
|
||||||
gst_x_overlay_set_window_handle (GST_X_OVERLAY (data->video_sink), (guintptr)data->native_window);
|
|
||||||
} else {
|
|
||||||
GST_DEBUG ("Pipeline not created yet, it will later be notified about the native window.");
|
|
||||||
}
|
|
||||||
|
|
||||||
check_initialization_complete (data);
|
check_initialization_complete (data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue