aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-sato/owl-video-widget/files/upgrade-gstreamer.patch
blob: 6f1ba74e361dbb82c29b96594b2dcf6e596476b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
diff --git a/configure.ac b/configure.ac
index 8747268..90cf26f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,9 +12,9 @@ AC_STDC_HEADERS
 AC_PROG_LIBTOOL
 
 PKG_CHECK_MODULES(LIBOWL_AV, gtk+-2.0 \
-                             gstreamer-0.10 \
-                             gstreamer-plugins-base-0.10)
-LIBOWL_AV_LIBS="$LIBOWL_AV_LIBS -lgstinterfaces-0.10"
+                             gstreamer-1.0 \
+                             gstreamer-plugins-base-1.0)
+LIBOWL_AV_LIBS="$LIBOWL_AV_LIBS -lgstvideo-1.0"
 
 PKG_CHECK_MODULES(VALA, [vala-1.0 >= 0.3.1], have_vala=yes, have_vala=no)
 
diff --git a/libowl-av.pc.in b/libowl-av.pc.in
index bf45b14..8a83112 100644
--- a/libowl-av.pc.in
+++ b/libowl-av.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: libowl-av
 Description: OpenedHand Audio/Video Widgets Library
-Requires: gtk+-2.0 gstreamer-0.10 gstreamer-plugins-base-0.10
+Requires: gtk+-2.0 gstreamer-1.0 gstreamer-plugins-base-1.0
 Version: @VERSION@
-Libs: -L${libdir} -lowl-av -lgstinterfaces-0.10
+Libs: -L${libdir} -lowl-av -lgstvideo-1.0
 Cflags: -I${includedir}
diff --git a/libowl-av/owl-tag-reader.c b/libowl-av/owl-tag-reader.c
index a03aadf..b7a0316 100644
--- a/libowl-av/owl-tag-reader.c
+++ b/libowl-av/owl-tag-reader.c
@@ -80,7 +80,8 @@ feed_head (OwlTagReader *tag_reader)
          * Get appropriate src element.
          **/
         tag_reader->priv->src =
-                gst_element_make_from_uri (GST_URI_SRC, data->uri, "src");
+                gst_element_make_from_uri (GST_URI_SRC, data->uri, "src",
+                                           &tag_reader->priv->current_error);
         
         /**
          * Add to pipeline & link up.
@@ -250,7 +251,7 @@ bus_message_application_cb (GstBus       *bus,
                  **/
                 if (!tag_reader->priv->current_tag_list) {
                         tag_reader->priv->current_tag_list =
-                                gst_tag_list_new ();
+                                gst_tag_list_new_empty ();
                 }
 
                 /**
@@ -287,7 +288,7 @@ decodebin_new_decoded_pad_cb (GstElement   *decodebin,
          * The last discovered pad will always be the one hooked up to
          * the sink.
          **/
-        sink_pad = gst_element_get_pad (tag_reader->priv->sink, "sink");
+        sink_pad = gst_element_get_static_pad (tag_reader->priv->sink, "sink");
         gst_pad_link (pad, sink_pad);
 }
 
diff --git a/libowl-av/owl-video-widget.c b/libowl-av/owl-video-widget.c
index e200155..af90f39 100644
--- a/libowl-av/owl-video-widget.c
+++ b/libowl-av/owl-video-widget.c
@@ -21,7 +21,7 @@
 
 #include <gdk/gdkx.h>
 #include <gst/gst.h>
-#include <gst/interfaces/xoverlay.h>
+#include <gst/video/videooverlay.h>
 
 #include "owl-video-widget.h"
 
@@ -40,7 +40,7 @@ G_DEFINE_TYPE (OwlVideoWidget,
 
 struct _OwlVideoWidgetPrivate {
         GstElement *playbin;
-        GstXOverlay *overlay;
+        GstVideoOverlay *overlay;
 
         GMutex *overlay_lock;
 
@@ -168,7 +168,7 @@ bus_sync_handler_cb (GstBus            *bus,
         if (!str)
                 return GST_BUS_PASS;
         
-        if (!gst_structure_has_name (str, "prepare-xwindow-id"))
+        if (!gst_structure_has_name (str, "prepare-window-handle"))
                 return GST_BUS_PASS;
 
         /**
@@ -187,7 +187,7 @@ bus_sync_handler_cb (GstBus            *bus,
                          (gpointer) &video_widget->priv->overlay);
         }
         
-        video_widget->priv->overlay = GST_X_OVERLAY (GST_MESSAGE_SRC (message));
+        video_widget->priv->overlay = GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message));
 
         g_object_add_weak_pointer (G_OBJECT (video_widget->priv->overlay),
                                    (gpointer) &video_widget->priv->overlay);
@@ -206,13 +206,13 @@ bus_sync_handler_cb (GstBus            *bus,
         else
                 xid = create_dummy_window (video_widget);
 
-        gst_x_overlay_set_xwindow_id (video_widget->priv->overlay, xid);
+        gst_video_overlay_set_window_handle (video_widget->priv->overlay, xid);
 
         /**
          * And expose.
          **/
         if (GTK_WIDGET_REALIZED (video_widget))
-                gst_x_overlay_expose (video_widget->priv->overlay);
+                gst_video_overlay_expose (video_widget->priv->overlay);
         
         /**
          * Unlock.
@@ -507,7 +507,8 @@ construct_pipeline (OwlVideoWidget *video_widget)
 
         gst_bus_set_sync_handler (bus,
                                   (GstBusSyncHandler) bus_sync_handler_cb,
-                                  video_widget);
+                                  video_widget,
+                                  NULL);
         
         g_signal_connect_object (bus,
                                  "message::error",
@@ -776,8 +777,8 @@ owl_video_widget_realize (GtkWidget *widget)
                 XID xid;
                 
                 xid = GDK_WINDOW_XID (widget->window);
-                gst_x_overlay_set_xwindow_id (video_widget->priv->overlay, xid);
-                gst_x_overlay_expose (video_widget->priv->overlay);
+                gst_video_overlay_set_window_handle (video_widget->priv->overlay, xid);
+                gst_video_overlay_expose (video_widget->priv->overlay);
 
                 /**
                  * Destroy dummy window if it was there.
@@ -817,7 +818,7 @@ owl_video_widget_unrealize (GtkWidget *widget)
 
                 xid = create_dummy_window (video_widget);
                 
-                gst_x_overlay_set_xwindow_id (video_widget->priv->overlay, xid);
+                gst_video_overlay_set_window_handle (video_widget->priv->overlay, xid);
         }
 
         /**
@@ -864,7 +865,7 @@ owl_video_widget_expose (GtkWidget      *widget,
          * If we have an overlay, forward the expose to GStreamer.
          **/
         if (video_widget->priv->overlay)
-                gst_x_overlay_expose (video_widget->priv->overlay);
+                gst_video_overlay_expose (video_widget->priv->overlay);
 
         /**
          * Unlock.