Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gstreamer/gst-plugins-base
  • thiblahute/gst-plugins-base
  • slomo/gst-plugins-base
  • sree/gst-plugins-base
  • seungha.yang/gst-plugins-base
  • xclaesse/gst-plugins-base
  • haihao/gst-plugins-base
  • ystreet/gst-plugins-base
  • bilboed/gst-plugins-base
  • ndufresne/gst-plugins-base
  • changbok.chea/gst-plugins-base
  • hgr/gst-plugins-base
  • nielsdg/gst-plugins-base
  • sjoerd/gst-plugins-base
  • linussn/gst-plugins-base
  • alatiera/gst-plugins-base
  • nirbheek/gst-plugins-base
  • redstar/gst-plugins-base
  • philn/gst-plugins-base
  • gdesmott/gst-plugins-base
  • Yeongjin-Jeong/gst-plugins-base
  • vjaquez/gst-plugins-base
  • wangfei/gst-plugins-base
  • Freyr/gst-plugins-base
  • milloni-ct/gst-plugins-base
  • drakkan/gst-plugins-base
  • patricia/gst-plugins-base
  • ghodhben.marwen/gst-plugins-base
  • perfn/gst-plugins-base
  • arun/gst-plugins-base
  • alexashley/gst-plugins-base
  • heftig/gst-plugins-base
  • pH5/gst-plugins-base
  • joykim/gst-plugins-base
  • wonchul/gst-plugins-base
  • meh/gst-plugins-base
  • tpm/gst-plugins-base
  • krokodilerian/gst-plugins-base
  • ylatuya/gst-plugins-base
  • dabrain34/gst-plugins-base
  • wtaymans/gst-plugins-base
  • gkiagia/gst-plugins-base
  • victortoso/gst-plugins-base
  • andy/gst-plugins-base
  • hjespersen/gst-plugins-base
  • mrk501/gst-plugins-base
  • boxerab/gst-plugins-base
  • Yale323/gst-plugins-base
  • gracefulhoon83/gst-plugins-base
  • JimmyOhn/gst-plugins-base
  • Bjorkstrom/gst-plugins-base
  • vivia/gst-plugins-base
  • den_erpel/gst-plugins-base
  • rob-deutsch/gst-plugins-base
  • ulfo/gst-plugins-base
  • Eunhye/gst-plugins-base
  • laugilus/gst-plugins-base
  • lynxeye/gst-plugins-base
  • PanMichal/gst-plugins-base
  • adn770/gst-plugins-base
  • lord.jacold/gst-plugins-base
  • phw/gst-plugins-base
  • m.tretter/gst-plugins-base
  • loganek/gst-plugins-base
  • tomaszbulik/gst-plugins-base
  • He_Junyan/gst-plugins-base
  • awilfox/gst-plugins-base
  • JaredHu/gst-plugins-base
  • dannys/gst-plugins-base
  • dude/gst-plugins-base
  • sumaidsyed/gst-plugins-base
  • akinobu.mita/gst-plugins-base
  • smortex/gst-plugins-base
  • groleo/gst-plugins-base
  • dkl/gst-plugins-base
  • fherrera/gst-plugins-base
  • hein/gst-plugins-base
  • nicolashuet/gst-plugins-base
  • FurongZhang/gst-plugins-base
  • kevinbing.song/gst-plugins-base
  • rsiv/gst-plugins-base
  • GstBlub/gst-plugins-base
  • mgorse1/gst-plugins-base
  • dougnazar/gst-plugins-base
  • goranjn/gst-plugins-base
  • dylanmccall/gst-plugins-base
  • marxin.liska/gst-plugins-base
  • thaytan/gst-plugins-base
  • jh-hsd/gst-plugins-base
  • ljonas/gst-plugins-base
  • charles/gst-plugins-base
  • dv1/gst-plugins-base
  • DaveTrussel/gst-plugins-base
  • JoakimJ/gst-plugins-base
  • peat-psuwit/gst-plugins-base
  • Ambyjkl/gst-plugins-base
  • sancane/gst-plugins-base
  • HadrienPatte/gst-plugins-base
  • hwilkes/gst-plugins-base
  • mparisdiaz/gst-plugins-base
  • leio/gst-plugins-base
  • cap/gst-plugins-base
  • waiwits/gst-plugins-base
  • joshuadoe/gst-plugins-base
  • psreport/gst-plugins-base
  • ntrrgc/gst-plugins-base
  • ayaka/gst-plugins-base
  • andrew.voznytsa/gst-plugins-base
  • NPN/gst-plugins-base
  • Dmt/gst-plugins-base
  • michaelgruner/gst-plugins-base
  • kek/gst-plugins-base
  • thiagossantos/gst-plugins-base
  • Buora/gst-plugins-base
  • Cwiiis/gst-plugins-base
  • lool/gst-plugins-base
  • XuGuangxin/gst-plugins-base
  • cfoch/gst-plugins-base
  • cjmayo/gst-plugins-base
  • marian/gst-plugins-base
  • ludvigr/gst-plugins-base
  • uno20001/gst-plugins-base
  • Knopp/gst-plugins-base
  • rawoul/gst-plugins-base
  • Hosang/gst-plugins-base
  • ayush9398/gst-plugins-base
  • raytiley/gst-plugins-base
  • trollkarlen/gst-plugins-base
  • jedevc/gst-plugins-base
  • nazar-pc/gst-plugins-base
  • jusizela/gst-plugins-base
  • jdm/gst-plugins-base
  • bleetoteelb/gst-plugins-base
  • RomanValov/gst-plugins-base
  • SimonChristensson/gst-plugins-base
  • id_est/gst-plugins-base
  • gstreamer-release-bot/gst-plugins-base
  • will.miller/gst-plugins-base
  • gblanchard/gst-plugins-base
  • zfigura/gst-plugins-base
  • saidinesh5/gst-plugins-base
  • keis/gst-plugins-base
  • Rafostar/gst-plugins-base
  • SanchayanMaity/gst-plugins-base
  • jjardon/gst-plugins-base
  • xhaakon/gst-plugins-base
  • ding/gst-plugins-base
  • ParkJunsoo/gst-plugins-base
  • piotr.gasiorowski/gst-plugins-base
  • vicamo/gst-plugins-base
  • danielknobe/gst-plugins-base
  • kemen209/gst-plugins-base
  • avdb/gst-plugins-base
  • wantlamy/gst-plugins-base
  • davidventura/gst-plugins-base
  • dcasanova/gst-plugins-base
  • AlexTMjugador/gst-plugins-base
  • francisv/gst-plugins-base
  • AntoninRousset/gst-plugins-base
  • TheMuso/gst-plugins-base
  • hq/gst-plugins-base
  • tiger1987p/gst-plugins-base
  • cxw42/gst-plugins-base
  • crziter/gst-plugins-base
  • rburchell/gst-plugins-base
  • dwlsalmeida/gst-plugins-base
  • paul.goulpie/gst-plugins-base
  • lanodan/gst-plugins-base
  • quaresma.jose/gst-plugins-base
  • eocanha/gst-plugins-base
  • julian/gst-plugins-base
  • oreaus/gst-plugins-base
  • Roopang/gst-plugins-base
  • mol/gst-plugins-base
  • aferin/gst-plugins-base
  • mdegans/gst-plugins-base
  • sergei1/gst-plugins-base
  • mamunkc/gst-plugins-base
  • ezequielgarcia/gst-plugins-base
  • aslobodeniuk/gst-plugins-base
  • ccwu660601/gst-plugins-base
  • TobiasR/gst-plugins-base
  • blino/gst-plugins-base
  • felixonmars/gst-plugins-base
  • pldin601/gst-plugins-base
  • aniket_fti/gst-plugins-base
  • ssdeng6812/gst-plugins-base
  • rtiemann/gst-plugins-base
  • personalizedrefrigerator/gst-plugins-base
  • nuttle/gst-plugins-base
  • hoonhee.lee/gst-plugins-base
  • cnhzcy14/gst-plugins-base
  • liu_ming50/gst-plugins-base
  • vnguyentrong/gst-plugins-base
194 results
Show changes
Commits on Source (4)
......@@ -235,6 +235,7 @@ if gl_winsys.contains('auto')
need_win_win32 = 'auto'
need_win_winrt = 'auto'
need_win_cocoa = 'auto'
need_win_egl = 'auto'
need_win_eagl = 'auto'
need_win_dispmanx = 'auto'
need_win_viv_fb = 'auto'
......@@ -246,6 +247,7 @@ else
need_win_win32 = 'no'
need_win_winrt = 'no'
need_win_cocoa = 'no'
need_win_egl = 'no'
need_win_eagl = 'no'
need_win_dispmanx = 'no'
need_win_viv_fb = 'no'
......@@ -262,6 +264,8 @@ else
need_win_winrt = 'yes'
elif winsys == 'cocoa'
need_win_cocoa = 'yes'
elif winsys == 'egl'
need_win_egl = 'yes'
elif winsys == 'eagl'
need_win_eagl = 'yes'
elif winsys == 'dispmanx'
......@@ -520,6 +524,17 @@ if need_platform_egl != 'no'
endif
endif
# winsys_egl checks
if need_win_egl == 'yes'
if need_platform_egl == 'no'
error('Impossible situation requested: Cannot use Winsys egl without EGL support')
elif not egl_dep.found()
error ('Could not find EGL libraries for Winsys egl')
else
enabled_gl_winsys += 'egl'
endif
endif
# wayland checks
wayland_client_dep = unneeded_dep
wayland_cursor_dep = unneeded_dep
......
......@@ -554,8 +554,8 @@ gst_gl_window_wayland_egl_open (GstGLWindow * window, GError ** error)
wl_registry_add_listener (window_egl->display.registry, &registry_listener,
window_egl);
if (gst_gl_wl_display_roundtrip_queue (window_egl->display.display,
display->display, window_egl->window.queue) < 0) {
if (wl_display_roundtrip_queue (display->display,
window_egl->window.queue) < 0) {
g_set_error (error, GST_GL_WINDOW_ERROR,
GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
"Failed to perform a wayland roundtrip");
......@@ -610,8 +610,8 @@ _roundtrip_async (GstGLWindow * window)
create_surfaces (window_egl);
if (gst_gl_wl_display_roundtrip_queue (window_egl->display.display,
display->display, window_egl->window.queue) < 0)
if (wl_display_roundtrip_queue (display->display,
window_egl->window.queue) < 0)
GST_WARNING_OBJECT (window, "failed a roundtrip");
}
......
......@@ -54,75 +54,6 @@ init_debug (void)
}
}
static void
sync_callback (void *data, struct wl_callback *callback, uint32_t serial)
{
gboolean *done = data;
GST_TRACE ("roundtrip done. callback:%p", callback);
*done = TRUE;
wl_callback_destroy (callback);
}
static const struct wl_callback_listener sync_listener = {
sync_callback
};
/* only thread safe iff called on the same thread @queue is being dispatched on.
* Otherwise, two prepare_read{_queue}()'s can be indicated for the same
* queue and dispatch{_queue}() may be called for different threads which
* will cause deadlocks as no guarantees for thread-safety are given when
* pumping the same queue from multiple threads.
* As a concrete example, if the wayland event source (below) for a @queue is
* running on a certain thread, then this function must only be called in that
* thread (with that @queue). */
/* @sync_display is the wl_display that is used to create the sync object and
* may be a proxy wrapper.
* @dispatch_display must not be a proxy wrapper.
* @queue can be NULL. */
gint
gst_gl_wl_display_roundtrip_queue (struct wl_display *sync_display,
struct wl_display *dispatch_display, struct wl_event_queue *queue)
{
struct wl_callback *callback;
gboolean done = FALSE;
gint ret = 0;
init_debug ();
GST_TRACE ("roundtrip start for dpy %p and queue %p", dispatch_display,
queue);
if (!(callback = wl_display_sync (sync_display))) {
GST_WARNING ("creating sync callback failed");
return -1;
}
GST_TRACE ("create roundtrip callback %p", callback);
wl_callback_add_listener (callback, &sync_listener, &done);
if (queue) {
while (!done && ret >= 0) {
ret = wl_display_dispatch_queue (dispatch_display, queue);
GST_TRACE ("dispatch ret: %i, errno: (%i, 0x%x) \'%s\'", ret, errno,
errno, g_strerror (errno));
}
} else {
while (!done && ret >= 0) {
ret = wl_display_dispatch (dispatch_display);
GST_TRACE ("dispatch ret: %i, errno: (%i, 0x%x) \'%s\'", ret, errno,
errno, g_strerror (errno));
}
}
if (ret == -1 && !done)
wl_callback_destroy (callback);
GST_DEBUG ("roundtrip done for dpy %p and queue %p. ret %i, "
"errno: (%i, 0x%x) \'%s\'", dispatch_display, queue, ret, errno, errno,
g_strerror (errno));
return ret;
}
typedef struct _WaylandEventSource
{
GSource source;
......
......@@ -36,8 +36,4 @@
GSource * wayland_event_source_new (struct wl_display *display,
struct wl_event_queue *queue);
G_GNUC_INTERNAL gint gst_gl_wl_display_roundtrip_queue (struct wl_display *sync_display,
struct wl_display *dispatch_display,
struct wl_event_queue *queue);
#endif /* __WAYLAND_EVENT_SOURCE_H__ */
......@@ -4813,7 +4813,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
/**
* gst_rtsp_connection_connect:
* @conn: a #GstRTSPConnection
* @timeout: a #GTimeVal timeout
* @timeout: a GTimeVal timeout
*
* Attempt to connect to the url of @conn made with
* gst_rtsp_connection_create(). If @timeout is %NULL this function can block
......@@ -4835,7 +4835,7 @@ gst_rtsp_connection_connect (GstRTSPConnection * conn, GTimeVal * timeout)
/**
* gst_rtsp_connection_connect_with_response:
* @conn: a #GstRTSPConnection
* @timeout: a #GTimeVal timeout
* @timeout: a GTimeVal timeout
* @response: a #GstRTSPMessage
*
* Attempt to connect to the url of @conn made with
......@@ -5038,7 +5038,7 @@ gst_rtsp_connection_next_timeout (GstRTSPConnection * conn, GTimeVal * timeout)
/**
* gst_rtsp_watch_wait_backlog:
* @watch: a #GstRTSPWatch
* @timeout: a #GTimeVal timeout
* @timeout: a GTimeVal timeout
*
* Wait until there is place in the backlog queue, @timeout is reached
* or @watch is set to flushing.
......
......@@ -903,8 +903,18 @@ parse_subrip_time (const gchar * ts_string, GstClockTime * t)
GST_LOG ("parsing timestamp '%s'", s);
if (sscanf (s, "%u:%u:%u,%u", &hour, &min, &sec, &msec) != 4) {
GST_WARNING ("failed to parse subrip timestamp string '%s'", s);
return FALSE;
/* https://www.w3.org/TR/webvtt1/#webvtt-timestamp
*
* The hours component is optional with webVTT, for example
* mm:ss,500 is a valid webVTT timestamp. When not present,
* hours is 0.
*/
hour = 0;
if (sscanf (s, "%u:%u,%u", &min, &sec, &msec) != 3) {
GST_WARNING ("failed to parse subrip timestamp string '%s'", s);
return FALSE;
}
}
*t = ((hour * 3600) + (min * 60) + sec) * GST_SECOND + msec * GST_MSECOND;
......
......@@ -12,8 +12,8 @@ option('gl_platform', type : 'array',
choices : ['glx', 'egl', 'cgl', 'wgl', 'eagl', 'auto'], value : ['auto'],
description : 'A comma separated list of opengl platforms to enable building against')
option('gl_winsys', type : 'array',
choices : ['x11', 'wayland', 'win32', 'winrt', 'cocoa', 'dispmanx', 'viv-fb', 'gbm', 'android', 'auto'], value : ['auto'],
description : 'A comma separated list of opengl windows systems to enable building against. Supported values are x11, wayland, win32, winrt, cocoa, dispmanx, viv-fb, gbm, and android')
choices : ['x11', 'wayland', 'win32', 'winrt', 'cocoa', 'dispmanx', 'egl', 'viv-fb', 'gbm', 'android', 'auto'], value : ['auto'],
description : 'A comma separated list of opengl windows systems to enable building against. Supported values are x11, wayland, win32, winrt, cocoa, dispmanx, egl, viv-fb, gbm, and android')
option('egl_module_name', type : 'string', value : '',
description : 'The file to pass to g_module_open to open the libEGL library (default: libEGL)')
option('opengl_module_name', type : 'string', value : '',
......