File tree Expand file tree Collapse file tree
Source/WebCore/platform/graphics/gstreamer Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -286,27 +286,43 @@ void TrackPrivateBaseGStreamer::installUpdateConfigurationHandlers()
286286{
287287 if (m_pad) {
288288 g_signal_connect_swapped (m_pad.get (), " notify::caps" , G_CALLBACK (+[](TrackPrivateBaseGStreamer* track) {
289- track-> m_taskQueue . enqueueTask ([track]( ) {
289+ if ( isMainThread () ) {
290290 if (!track->m_pad )
291291 return ;
292292 auto caps = adoptGRef (gst_pad_get_current_caps (track->m_pad .get ()));
293293 if (!caps)
294294 return ;
295295 track->updateConfigurationFromCaps ();
296- });
296+ } else
297+ track->m_taskQueue .enqueueTask ([track]() {
298+ if (!track->m_pad )
299+ return ;
300+ auto caps = adoptGRef (gst_pad_get_current_caps (track->m_pad .get ()));
301+ if (!caps)
302+ return ;
303+ track->updateConfigurationFromCaps ();
304+ });
297305 }), this );
298306 g_signal_connect_swapped (m_pad.get (), " notify::tags" , G_CALLBACK (+[](TrackPrivateBaseGStreamer* track) {
299- track-> m_taskQueue . enqueueTask ([track]( ) {
307+ if ( isMainThread () ) {
300308 if (!track->m_pad )
301309 return ;
302310 track->updateConfigurationFromTags ();
303- });
311+ } else
312+ track->m_taskQueue .enqueueTask ([track]() {
313+ if (!track->m_pad )
314+ return ;
315+ track->updateConfigurationFromTags ();
316+ });
304317 }), this );
305318 } else if (m_stream) {
306319 g_signal_connect_swapped (m_stream.get (), " notify::caps" , G_CALLBACK (+[](TrackPrivateBaseGStreamer* track) {
307- track-> m_taskQueue . enqueueTask ([track]() {
320+ if ( isMainThread ())
308321 track->updateConfigurationFromCaps ();
309- });
322+ else
323+ track->m_taskQueue .enqueueTask ([track]() {
324+ track->updateConfigurationFromCaps ();
325+ });
310326 }), this );
311327 g_signal_connect_swapped (m_stream.get (), " notify::tags" , G_CALLBACK (+[](TrackPrivateBaseGStreamer* track) {
312328 if (isMainThread ())
You can’t perform that action at this time.
0 commit comments