find_codec_preferences: use received caps
authorMathieu Duponchelle <mathieu@centricular.com>
Sat, 7 Jul 2018 01:40:49 +0000 (03:40 +0200)
committerMathieu Duponchelle <mathieu@centricular.com>
Thu, 12 Jul 2018 19:39:41 +0000 (21:39 +0200)
commit6fd3e2a4009835295d938abb533b4ebbbfa7ca1a
tree1277607ab2b501f1445ca019671c56b2cacfacd4
parente47cf9abe1bb3695a304ec51dda10b6f57dbd684
find_codec_preferences: use received caps

When negotiation is triggered by receiving caps on our sink pad
probes, we could encounter a race condition where need-negotiation
is emitted and the application requires the creation of an offer
before the current caps were actually updated.

This led to retrieving incomplete caps when creating the offer,
using find_codec_preferences -> pad_get_current_caps.

Instead, as we save the caps in the probe callback anyway, it is better
and thread safe to use these if they were set.

https://bugzilla.gnome.org/show_bug.cgi?id=796801
ext/webrtc/gstwebrtcbin.c