decodebin3: Make input activation "atomic"
When adding inputs dynamically, we need to make sure the new parsebin are added *and* activated by the same thread (by taking the state change lock). The rationale for this is that the calling thread might be an upstream streaming thread and when activating parsebin it might call back upstream. If we don't use the same thread (ex: when the application does a state change on decodebin3 between the moment we add parsebin to decodebin3 and we synchronize the state of parsebin) then we would end up in different threads trying to take upstream recursive locks.
Status | Job ID | Name | Coverage | ||||||
---|---|---|---|---|---|---|---|---|---|
Build Docker | |||||||||
passed |
#5694862
|
alpine amd64 manifest builder docker |
00:00:13
|
|
|||||
passed |
#5694860
|
android docker |
00:00:30
|
|
|||||
passed |
#5694859
|
cerbero fedora amd64 docker |
00:00:14
|
|
|||||
passed |
#5694857
|
fedora amd64 docker |
00:00:13
|
|
|||||
passed |
#5694863
|
gst-indent amd64 docker |
00:00:30
|
|
|||||
Preparation | |||||||||
passed |
#5694866
|
gst indent |
00:00:12
|
|
|||||
passed |
#5694865
manual
|
manifest |
00:00:25
|
|
|||||
Build | |||||||||
passed |
#5694882
gstreamer
|
build cerbero cross-android universal |
00:12:20
|
|
|||||
passed |
#5694891
gst-ios-13.2
|
build cerbero cross-ios universal |
00:20:32
|
|
|||||
passed |
#5694884
gstreamer
|
build cerbero cross win32 |
00:06:20
|
|
|||||
passed |
#5694886
gstreamer
|
build cerbero cross win64 |
00:08:03
|
|
|||||
passed |
#5694880
gstreamer
|
build cerbero fedora x86_64 |
00:08:02
|
|
|||||
passed |
#5694889
gst-macos-10.15
|
build cerbero macos x86_64 |
00:13:58
|
|
|||||
passed |
#5694893
1809
gstreamer-windows
windows
docker
|
build cerbero msvc x86_64 |
00:14:34
|
|
|||||
passed |
#5694873
|
build clang fedora x86_64 |
00:08:37
|
|
|||||
manual |
#5694879
1809
windows
docker
allowed to fail
manual
|
build msys2 |
|
||||||
passed |
#5694868
|
build nodebug fedora x86_64 |
00:08:19
|
|
|||||
passed |
#5694869
|
build static fedora x86_64 |
00:07:23
|
|
|||||
passed |
#5694871
|
build static nodebug fedora x86_64 |
00:07:35
|
|
|||||
passed |
#5694874
1809
windows
docker
|
build vs2017 amd64 |
00:12:33
|
|
|||||
passed |
#5694876
1809
windows
docker
|
build vs2017 x86 |
00:12:09
|
|
|||||
Test | |||||||||
passed |
#5695219
gstreamer
|
check fedora |
00:04:48
|
|
|||||
passed |
#5694898
gstreamer
|
integration testsuites fedora 1/4 |
00:17:16
|
|
|||||
passed |
#5694899
gstreamer
|
integration testsuites fedora 2/4 |
00:19:18
|
|
|||||
passed |
#5694900
gstreamer
|
integration testsuites fedora 3/4 |
00:15:15
|
|
|||||
passed |
#5694901
gstreamer
|
integration testsuites fedora 4/4 |
00:14:03
|
|
|||||
passed |
#5694905
gstreamer
|
valgrind bad |
00:05:54
|
|
|||||
passed |
#5694902
gstreamer
|
valgrind base |
00:10:47
|
|
|||||
passed |
#5694906
gstreamer
|
valgrind ges |
00:05:52
|
|
|||||
passed |
#5694903
gstreamer
|
valgrind good |
00:08:18
|
|
|||||
passed |
#5694904
gstreamer
|
valgrind ugly |
00:05:11
|
|
|||||
failed |
#5694896
gstreamer
|
check fedora |
00:09:46
|
|
|||||
Integrate | |||||||||
passed |
#5694909
|
cross-android universal examples |
00:06:11
|
|
|||||
passed |
#5694912
gst-ios-13.2
|
cross-ios universal examples |
00:01:12
|
|
|||||
passed |
#5694910
|
documentation |
00:18:18
|
|
|||||