X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=gtk%2Fsrc%2Fpreview.c;h=e85130e905e7b1a79fe1ecc6d59a323e547906c7;hb=ce5ed36e140b4ae5aed7edd22e0adc4fa21aea24;hp=796867817dcf55f867f0646714fe7c9a656f2b20;hpb=c8562a0ad08cc404f3fdbd2da858d4776a31c4a4;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/gtk/src/preview.c b/gtk/src/preview.c index 79686781..e85130e9 100644 --- a/gtk/src/preview.c +++ b/gtk/src/preview.c @@ -142,6 +142,8 @@ ghb_par_scale(signal_user_data_t *ud, gint *width, gint *height, gint par_n, gin void ghb_preview_init(signal_user_data_t *ud) { + GtkWidget *widget; + ud->preview = g_malloc0(sizeof(preview_t)); ud->preview->view = GHB_WIDGET(ud->builder, "preview_image"); gtk_widget_realize(ud->preview->view); @@ -151,12 +153,18 @@ ghb_preview_init(signal_user_data_t *ud) ud->preview->pause = TRUE; ud->preview->encode_frame = -1; ud->preview->live_id = -1; - + widget = GHB_WIDGET (ud->builder, "preview_button_image"); + gtk_widget_get_size_request(widget, &ud->preview->button_width, &ud->preview->button_height); + #if defined(_ENABLE_GST) GstBus *bus; GstElement *xover; +#if !defined(_WIN32) ud->preview->xid = GDK_DRAWABLE_XID(ud->preview->view->window); +#else + ud->preview->xid = GDK_WINDOW_HWND(ud->preview->view->window); +#endif ud->preview->play = gst_element_factory_make("playbin", "play"); //xover = gst_element_factory_make("xvimagesink", "xover"); //xover = gst_element_factory_make("ximagesink", "xover"); @@ -209,8 +217,13 @@ create_window(GstBus *bus, GstMessage *msg, gpointer data) { if (!gst_structure_has_name(msg->structure, "prepare-xwindow-id")) return GST_BUS_PASS; +#if !defined(_WIN32) gst_x_overlay_set_xwindow_id( GST_X_OVERLAY(GST_MESSAGE_SRC(msg)), preview->xid); +#else + gst_directdraw_sink_set_window_id( + GST_X_OVERLAY(GST_MESSAGE_SRC(msg)), preview->xid); +#endif gst_message_unref(msg); return GST_BUS_DROP; } break;