decodebin3: Avoid duplicate streams
Elements emitting stream collections do so by not only posting the GST_MESSAGE_STREAM_COLLECTION, but also then pushing a GST_EVENT_STREAM_COLLECTION through each srcpad. The latter is how decodebin3 detects stream collections itself, as the GST_MESSAGE_STREAM_COLLECTION may be posted before the source element is added to the pipeline and therefore missed. But it should be noted: when the source has two srcpads the stream collection event is received twice! When decodebin3 receives several stream collections it reacts by creating a new one combining all the streams... But the code doing so did not take into account the case mentioned before, where both collections are actually the same and have the same streams. This patch fixes that.
Status | Job ID | Name | Coverage | ||||||
---|---|---|---|---|---|---|---|---|---|
Preparation | |||||||||
passed |
#1291196
|
gst indent |
00:00:42
|
|
|||||
passed |
#1291195
|
manifest |
00:00:38
|
|
|||||
Build | |||||||||
passed |
#1291206
gstreamer
|
build cerbero cross-android universal |
00:14:39
|
|
|||||
passed |
#1291210
gst-ios-13.2
|
build cerbero cross-ios universal |
00:16:45
|
|
|||||
passed |
#1291207
gstreamer
|
build cerbero cross win32 |
00:06:09
|
|
|||||
passed |
#1291208
gstreamer
|
build cerbero cross win64 |
00:04:38
|
|
|||||
passed |
#1291205
gstreamer
|
build cerbero fedora x86_64 |
00:05:32
|
|
|||||
passed |
#1291209
gst-macos-10.15
|
build cerbero macos x86_64 |
00:08:41
|
|
|||||
passed |
#1291201
|
build clang fedora x86_64 |
00:12:32
|
|
|||||
passed |
#1291197
|
build fedora x86_64 |
00:10:55
|
|
|||||
passed |
#1291204
docker
windows
1809
|
build msys2 |
00:22:12
|
|
|||||
passed |
#1291198
|
build nodebug fedora x86_64 |
00:05:08
|
|
|||||
passed |
#1291199
|
build static fedora x86_64 |
00:17:28
|
|
|||||
passed |
#1291200
|
build static nodebug fedora x86_64 |
00:05:20
|
|
|||||
passed |
#1291202
docker
windows
1809
|
build vs2017 amd64 |
00:09:53
|
|
|||||
passed |
#1291203
docker
windows
1809
|
build vs2017 x86 |
00:10:02
|
|
|||||
Test | |||||||||
passed |
#1291211
gstreamer
|
check fedora |
00:03:20
|
|
|||||
passed |
#1292610
gstreamer
|
integration testsuites fedora |
00:44:19
|
|
|||||
passed |
#1291216
gstreamer
|
valgrind bad |
00:06:41
|
|
|||||
passed |
#1291213
gstreamer
|
valgrind base |
00:07:08
|
|
|||||
passed |
#1291217
gstreamer
|
valgrind ges |
00:09:46
|
|
|||||
passed |
#1291214
gstreamer
|
valgrind good |
00:14:01
|
|
|||||
passed |
#1291215
gstreamer
|
valgrind ugly |
00:02:22
|
|
|||||
failed |
#1291212
gstreamer
|
integration testsuites fedora |
01:52:41
|
|
|||||
failed |
#1292383
gstreamer
|
integration testsuites fedora |
00:45:29
|
|
|||||
Integrate | |||||||||
passed |
#1291218
|
cross-android universal examples |
00:06:20
|
|
|||||
passed |
#1291220
gst-ios-13.2
|
cross-ios universal examples |
00:03:43
|
|
|||||
passed |
#1291219
|
documentation |
00:04:53
|
|
|||||