GStreamer multimedia framework
Find a file
Thibault Saunier dabcc3b459 nlesource: Protect seeks from tear down
Otherwise there is a race where we trigger the seek at the exact
same time the composition is being teared down potentially leading
to basesrc restarting its srcpad task which ends up being leaked.

Fixes ges.playback.scrub_backward_seeking.test_title.audio_video.vorbis_theora_ogg
and probably all its friends timeouting with the following stack trace:

     (gdb) t a a bt

     Thread 4 (Thread 0x7f5962acd700 (LWP 19997)):
     #0  0x00007f5976713efd in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
     #1  0x00007f5976a9d3f3 in g_cond_wait (cond=cond@entry=0x7f5938125410, mutex=mutex@entry=0x7f59381253c8) at gthread-posix.c:1402
     #2  0x00007f5976c9e26b in gst_task_func (task=0x7f59381253b0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:313
     #3  0x00007f5976a7ecb3 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
     #4  0x00007f5976a7e2aa in g_thread_proxy (data=0x7f5954071d40) at gthread.c:784
     #5  0x00007f59767ea58e in start_thread (arg=<optimized out>) at pthread_create.c:486
     #6  0x00007f59767196a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

     Thread 3 (Thread 0x7f5963fff700 (LWP 19995)):
     #0  0x00007f597670e421 in __GI___poll (fds=0xe32da0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
     #1  0x00007f5976a553a6 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0xe32da0, timeout=<optimized out>, context=0xe31ff0) at gmain.c:4221
     #2  0x00007f5976a553a6 in g_main_context_iterate (context=0xe31ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
     #3  0x00007f5976a55762 in g_main_loop_run (loop=0xe32130) at gmain.c:4116
     #4  0x00007f59768db10a in gdbus_shared_thread_func (user_data=0xe31fc0) at gdbusprivate.c:275
     #5  0x00007f5976a7e2aa in g_thread_proxy (data=0xe1b8a0) at gthread.c:784
     #6  0x00007f59767ea58e in start_thread (arg=<optimized out>) at pthread_create.c:486
     #7  0x00007f59767196a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

     Thread 2 (Thread 0x7f5968dcc700 (LWP 19994)):
     #0  0x00007f597670e421 in __GI___poll (fds=0xe1bcc0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
     #1  0x00007f5976a553a6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0xe1bcc0, timeout=<optimized out>, context=0xe1b350) at gmain.c:4221
     #2  0x00007f5976a553a6 in g_main_context_iterate (context=context@entry=0xe1b350, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
     #3  0x00007f5976a554d0 in g_main_context_iteration (context=0xe1b350, may_block=may_block@entry=1) at gmain.c:3981
     #4  0x00007f5976a55521 in glib_worker_main (data=<optimized out>) at gmain.c:5861
     #5  0x00007f5976a7e2aa in g_thread_proxy (data=0xe1b800) at gthread.c:784
     #6  0x00007f59767ea58e in start_thread (arg=<optimized out>) at pthread_create.c:486
     #7  0x00007f59767196a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

     Thread 1 (Thread 0x7f5975df4fc0 (LWP 19993)):
     #0  0x00007f5976713efd in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
     #1  0x00007f5976a9d3f3 in g_cond_wait (cond=cond@entry=0xe34020, mutex=0xe39b80) at gthread-posix.c:1402
     #2  0x00007f5976a7f41c in g_thread_pool_free (pool=0xe34000, immediate=0, wait_=<optimized out>) at gthreadpool.c:776
     #3  0x00007f5976c9f1ca in default_cleanup (pool=0xe256b0 [GstTaskPool]) at ../subprojects/gstreamer/gst/gsttaskpool.c:89
     #4  0x00007f5976c9e32d in init_klass_pool (klass=<optimized out>) at ../subprojects/gstreamer/gst/gsttask.c:161
     #5  0x00007f5976c9e502 in gst_task_cleanup_all () at ../subprojects/gstreamer/gst/gsttask.c:381
     #6  0x00007f5976c214f4 in gst_deinit () at ../subprojects/gstreamer/gst/gst.c:1095
     #7  0x000000000040394f in main (argc=6, argv=<optimized out>) at ../subprojects/gst-editing-services/tools/ges-launch.c:94
2019-03-15 17:07:06 -03:00
bindings python: Remove __init__.py 2018-10-28 13:35:40 +00:00
common@59cb678164 Automatic update of common submodule 2018-12-05 17:25:04 -03:00
data/completions completion: Fix previous commit 2017-04-04 16:27:33 -04:00
docs ges: Add a ges_is_initialized function 2019-01-14 18:32:38 -03:00
examples examples: add gessrc example binary to .gitignore 2019-03-04 11:09:33 +00:00
ges asset-uri: Create a specific discoverer when discovering sync 2019-03-14 12:35:23 +00:00
hooks meson: Setup pre commit hook and fix getpluginsdir for standalone case 2016-09-30 13:35:01 -03:00
m4 remove m4/*.m4, will be automatically created by autogen.sh 2009-11-09 15:54:18 +01:00
pkgconfig meson: generate pkg-config -uninstalled pc files 2017-01-05 09:20:05 -03:00
plugins nlesource: Protect seeks from tear down 2019-03-15 17:07:06 -03:00
tests meson: Build benchmarks 2019-03-15 16:18:58 -03:00
tools launcher: Add options to set tracks restriction caps 2019-01-29 20:00:41 +00:00
.arcconfig ges: Set restriction caps in the audio source caps filter 2015-11-05 23:49:05 +01:00
.gitignore .gitignore: ignore test registry 2017-11-26 13:30:08 +00:00
.gitlab-ci.yml Add Gitlab CI configuration 2018-11-12 12:57:17 +02:00
.gitmodules Update git location to gitlab 2018-11-05 05:51:47 +00:00
AUTHORS AUTHORS/README: cleanup 2010-11-11 17:45:20 +01:00
autogen.sh Automatic update of common submodule 2017-04-10 23:51:18 +01:00
ChangeLog Release 1.15.2 2019-02-26 14:12:40 +00:00
configure.ac Back to development 2019-03-04 09:14:25 +00:00
COPYING Fix FSF address 2012-11-04 00:25:20 +00:00
COPYING.LIB Fix FSF address 2012-11-04 00:25:20 +00:00
gst-editing-services.doap Release 1.15.2 2019-02-26 14:12:40 +00:00
Makefile.am win32: remove .def file with exports 2017-11-26 13:30:08 +00:00
meson.build Back to development 2019-03-04 09:14:25 +00:00
meson_options.txt Add a way to disable xptv support 2018-11-30 15:40:43 -03:00
NEWS Back to development 2019-03-04 09:14:25 +00:00
README Remove obsolete dependency 2016-09-13 16:45:25 -03:00
RELEASE Back to development 2019-03-04 09:14:25 +00:00

GStreamer Editing Services
--------------------------

 This is a high-level library for facilitating the creation of audio/video
non-linear editors.

License:
--------

  This package and its contents are licensend under the GNU Lesser General
Public License (LGPL).

Dependencies:
-------------

 * GStreamer core
 * gst-plugins-base