mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
seek: Directly use navigation interface on playbin2
This commit is contained in:
parent
46a3ea011d
commit
3ab387cd91
1 changed files with 28 additions and 8 deletions
|
@ -2631,8 +2631,9 @@ find_interface_elements (void)
|
||||||
gst_object_unref (colorbalance_element);
|
gst_object_unref (colorbalance_element);
|
||||||
colorbalance_element = NULL;
|
colorbalance_element = NULL;
|
||||||
|
|
||||||
navigation_element =
|
if (pipeline_type != 16)
|
||||||
gst_bin_get_by_interface (GST_BIN (pipeline), GST_TYPE_NAVIGATION);
|
navigation_element =
|
||||||
|
gst_bin_get_by_interface (GST_BIN (pipeline), GST_TYPE_NAVIGATION);
|
||||||
|
|
||||||
it = gst_bin_iterate_all_by_interface (GST_BIN (pipeline),
|
it = gst_bin_iterate_all_by_interface (GST_BIN (pipeline),
|
||||||
GST_TYPE_COLOR_BALANCE);
|
GST_TYPE_COLOR_BALANCE);
|
||||||
|
@ -2692,13 +2693,17 @@ navigation_cmd_cb (GtkButton * button, gpointer data)
|
||||||
{
|
{
|
||||||
GstNavigationCommand cmd = GPOINTER_TO_INT (data);
|
GstNavigationCommand cmd = GPOINTER_TO_INT (data);
|
||||||
|
|
||||||
if (!navigation_element) {
|
if (pipeline_type == 16) {
|
||||||
find_interface_elements ();
|
gst_navigation_send_command (GST_NAVIGATION (pipeline), cmd);
|
||||||
if (!navigation_element)
|
} else {
|
||||||
return;
|
if (!navigation_element) {
|
||||||
}
|
find_interface_elements ();
|
||||||
|
if (!navigation_element)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
gst_navigation_send_command (GST_NAVIGATION (navigation_element), cmd);
|
gst_navigation_send_command (GST_NAVIGATION (navigation_element), cmd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ)
|
#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_QUARTZ)
|
||||||
|
@ -2799,6 +2804,9 @@ button_press_cb (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
|
||||||
if (navigation_element)
|
if (navigation_element)
|
||||||
gst_navigation_send_mouse_event (GST_NAVIGATION (navigation_element),
|
gst_navigation_send_mouse_event (GST_NAVIGATION (navigation_element),
|
||||||
"mouse-button-press", event->button, event->x, event->y);
|
"mouse-button-press", event->button, event->x, event->y);
|
||||||
|
else if (pipeline_type == 16)
|
||||||
|
gst_navigation_send_mouse_event (GST_NAVIGATION (pipeline),
|
||||||
|
"mouse-button-press", event->button, event->x, event->y);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -2810,6 +2818,9 @@ button_release_cb (GtkWidget * widget, GdkEventButton * event,
|
||||||
if (navigation_element)
|
if (navigation_element)
|
||||||
gst_navigation_send_mouse_event (GST_NAVIGATION (navigation_element),
|
gst_navigation_send_mouse_event (GST_NAVIGATION (navigation_element),
|
||||||
"mouse-button-release", event->button, event->x, event->y);
|
"mouse-button-release", event->button, event->x, event->y);
|
||||||
|
else if (pipeline_type == 16)
|
||||||
|
gst_navigation_send_mouse_event (GST_NAVIGATION (pipeline),
|
||||||
|
"mouse-button-release", event->button, event->x, event->y);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -2820,6 +2831,9 @@ key_press_cb (GtkWidget * widget, GdkEventKey * event, gpointer user_data)
|
||||||
if (navigation_element)
|
if (navigation_element)
|
||||||
gst_navigation_send_key_event (GST_NAVIGATION (navigation_element),
|
gst_navigation_send_key_event (GST_NAVIGATION (navigation_element),
|
||||||
"key-press", gdk_keyval_name (event->keyval));
|
"key-press", gdk_keyval_name (event->keyval));
|
||||||
|
else if (pipeline_type == 16)
|
||||||
|
gst_navigation_send_key_event (GST_NAVIGATION (pipeline),
|
||||||
|
"key-press", gdk_keyval_name (event->keyval));
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -2830,6 +2844,9 @@ key_release_cb (GtkWidget * widget, GdkEventKey * event, gpointer user_data)
|
||||||
if (navigation_element)
|
if (navigation_element)
|
||||||
gst_navigation_send_key_event (GST_NAVIGATION (navigation_element),
|
gst_navigation_send_key_event (GST_NAVIGATION (navigation_element),
|
||||||
"key-release", gdk_keyval_name (event->keyval));
|
"key-release", gdk_keyval_name (event->keyval));
|
||||||
|
else if (pipeline_type == 16)
|
||||||
|
gst_navigation_send_key_event (GST_NAVIGATION (pipeline),
|
||||||
|
"key-release", gdk_keyval_name (event->keyval));
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -2841,6 +2858,9 @@ motion_notify_cb (GtkWidget * widget, GdkEventMotion * event,
|
||||||
if (navigation_element)
|
if (navigation_element)
|
||||||
gst_navigation_send_mouse_event (GST_NAVIGATION (navigation_element),
|
gst_navigation_send_mouse_event (GST_NAVIGATION (navigation_element),
|
||||||
"mouse-move", 0, event->x, event->y);
|
"mouse-move", 0, event->x, event->y);
|
||||||
|
else if (pipeline_type == 16)
|
||||||
|
gst_navigation_send_mouse_event (GST_NAVIGATION (pipeline),
|
||||||
|
"mouse-move", 0, event->x, event->y);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue