WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 139496
[GStreamer] Fix deadlock when shutting down AudioDestination
https://bugs.webkit.org/show_bug.cgi?id=139496
Summary
[GStreamer] Fix deadlock when shutting down AudioDestination
Sebastian Dröge (slomo)
Reported
2014-12-10 10:52:36 PST
Patch coming soon
Attachments
Patch
(4.51 KB, patch)
2014-12-10 10:53 PST
,
Sebastian Dröge (slomo)
no flags
Details
Formatted Diff
Diff
Patch
(4.55 KB, patch)
2014-12-12 11:06 PST
,
Sebastian Dröge (slomo)
no flags
Details
Formatted Diff
Diff
Patch
(4.59 KB, patch)
2014-12-15 10:19 PST
,
Sebastian Dröge (slomo)
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Sebastian Dröge (slomo)
Comment 1
2014-12-10 10:53:49 PST
Created
attachment 243048
[details]
Patch
Sebastian Dröge (slomo)
Comment 2
2014-12-10 11:01:30 PST
The GStreamer bug will be fixed in 1.4.5:
https://bugzilla.gnome.org/show_bug.cgi?id=740001
Philippe Normand
Comment 3
2014-12-11 23:56:11 PST
Comment on
attachment 243048
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=243048&action=review
Looks good, thanks! Just a few nits to brag about :)
> Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:343 > + // FLUSHING and EOS are no errors
are not errors.
> Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:378 > + // FLUSHING and EOS are no errors
Ditto :)
> Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:385 > + } else { > + gst_buffer_unref(channelBuffer); > }
for one-line blocks we don't use {} usually.
Sebastian Dröge (slomo)
Comment 4
2014-12-12 01:10:09 PST
(In reply to
comment #3
)
> > Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:385 > > + } else { > > + gst_buffer_unref(channelBuffer); > > } > > for one-line blocks we don't use {} usually.
Even for cases like if (foo) { multiple lines } else one_line ? I'll change that later when I'm at my laptop again. Thanks for the fast review :)
Philippe Normand
Comment 5
2014-12-12 01:20:38 PST
Yep but you can double-check with the check-webkit-style script.
Sebastian Dröge (slomo)
Comment 6
2014-12-12 11:06:41 PST
Created
attachment 243206
[details]
Patch
Philippe Normand
Comment 7
2014-12-14 23:28:09 PST
Comment on
attachment 243206
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=243206&action=review
> Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:429 > + gst_buffer_pool_set_flushing(src->priv->pool, TRUE);
Seems like an #ifdef is needed here to make EFL EWS happy... Unless they bump their jhbuild gstreamer version to 1.4.x but that's not up to me to decide :)
Sebastian Dröge (slomo)
Comment 8
2014-12-15 00:04:50 PST
(In reply to
comment #7
)
> Comment on
attachment 243206
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=243206&action=review
> > > Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:429 > > + gst_buffer_pool_set_flushing(src->priv->pool, TRUE); > > Seems like an #ifdef is needed here to make EFL EWS happy... Unless they > bump their jhbuild gstreamer version to 1.4.x but that's not up to me to > decide :)
An #ifdef should be fine. That's really just an optimization in the end :) If we're shutting down, gst_buffer_pool_acquire() would return FLUSHING afterwards and we would go out of the srcpad loop earlier... instead of going out of it when trying to push buffers to the appsrcs.
Sebastian Dröge (slomo)
Comment 9
2014-12-15 10:19:38 PST
Created
attachment 243300
[details]
Patch
WebKit Commit Bot
Comment 10
2014-12-16 00:17:12 PST
Comment on
attachment 243300
[details]
Patch Clearing flags on attachment: 243300 Committed
r177341
: <
http://trac.webkit.org/changeset/177341
>
WebKit Commit Bot
Comment 11
2014-12-16 00:17:17 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug