platform/upstream/gstreamer.git
12 years agogst: Update versioning
Sebastian Dröge [Wed, 4 Apr 2012 12:20:13 +0000 (14:20 +0200)]
gst: Update versioning

12 years agortpbuffer: removed old memory
Wim Taymans [Wed, 4 Apr 2012 07:33:30 +0000 (09:33 +0200)]
rtpbuffer: removed old memory

Ensure writability of rtp buffer and remove old memory first
Fix some docs

12 years agotests: various fixes
Mark Nauwelaerts [Tue, 3 Apr 2012 16:30:38 +0000 (18:30 +0200)]
tests: various fixes

... such as setting input caps, ensuring to unmap and bearing in
mind that gst_buffer_make_writable usually does not provide
a separate memory copy/area.

12 years agopango: plug rare buffer leak
Mark Nauwelaerts [Tue, 3 Apr 2012 16:30:31 +0000 (18:30 +0200)]
pango: plug rare buffer leak

12 years agoadder: event handling and leak fixes
Mark Nauwelaerts [Tue, 3 Apr 2012 16:31:24 +0000 (18:31 +0200)]
adder: event handling and leak fixes

12 years agotests: videoscale: fix passthrough unit test
Mark Nauwelaerts [Mon, 2 Apr 2012 15:03:00 +0000 (17:03 +0200)]
tests: videoscale: fix passthrough unit test

... to really only test the indicated scaling method rather than
all of them.

12 years agovideoconvert: plug caps leak
Mark Nauwelaerts [Mon, 2 Apr 2012 15:01:59 +0000 (17:01 +0200)]
videoconvert: plug caps leak

12 years agoaudio{de,en}coder: fixup documentation
Mark Nauwelaerts [Mon, 2 Apr 2012 12:23:16 +0000 (14:23 +0200)]
audio{de,en}coder: fixup documentation

12 years agotheoradec: deactivate pool on negotiation
Wim Taymans [Mon, 2 Apr 2012 10:48:45 +0000 (12:48 +0200)]
theoradec: deactivate pool on negotiation

Deactivate the old bufferpool when we negotiate a new one.

12 years agovideo: fix macros
Wim Taymans [Mon, 2 Apr 2012 10:25:30 +0000 (12:25 +0200)]
video: fix macros

12 years agox11: fix build without XSHM
Jonathan Lyons [Mon, 2 Apr 2012 09:37:43 +0000 (11:37 +0200)]
x11: fix build without XSHM

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673327

12 years agotcp: Fix compiling with mingw
Raimo Järvi [Thu, 29 Mar 2012 10:32:15 +0000 (13:32 +0300)]
tcp: Fix compiling with mingw

https://bugzilla.gnome.org/show_bug.cgi?id=673056

12 years agoaudioconvert: remove useless transform_ip function
Wim Taymans [Mon, 2 Apr 2012 09:21:26 +0000 (11:21 +0200)]
audioconvert: remove useless transform_ip function

12 years agovolume: use transform_ip_on_passthrough
Wim Taymans [Mon, 2 Apr 2012 09:11:33 +0000 (11:11 +0200)]
volume: use transform_ip_on_passthrough

12 years agortp: fix initializer
Wim Taymans [Mon, 2 Apr 2012 09:05:38 +0000 (11:05 +0200)]
rtp: fix initializer

12 years agortpbuffer: keep more state
Wim Taymans [Mon, 2 Apr 2012 08:31:18 +0000 (10:31 +0200)]
rtpbuffer: keep more state

Prepare for the future, make it possible to map multiple buffer regions, like
the header and the payload.

12 years agoImprove buffer allocation of wrapped memory
Wim Taymans [Sun, 1 Apr 2012 16:11:23 +0000 (18:11 +0200)]
Improve buffer allocation of wrapped memory

12 years agovideometa: use new buffer methods when mapping memory
Wim Taymans [Sun, 1 Apr 2012 16:04:10 +0000 (18:04 +0200)]
videometa: use new buffer methods when mapping memory

Use _find_memory and _map_range to simplify, improve and optimize the
memory mapping of video frames.

12 years agovideofilter: don't map writable in passthrough
Wim Taymans [Sun, 1 Apr 2012 15:57:59 +0000 (17:57 +0200)]
videofilter: don't map writable in passthrough

In passthrough mode we shouldn't map the buffer in write mode because the buffer
might not be writable.

12 years agoaudioencoder: Fix handling of offset/offset-end for Ogg codecs
Sebastian Dröge [Sat, 31 Mar 2012 10:54:36 +0000 (12:54 +0200)]
audioencoder: Fix handling of offset/offset-end for Ogg codecs

Fixes the vorbisenc unit test.

12 years agoupdate for buffer api change
Wim Taymans [Fri, 30 Mar 2012 16:12:39 +0000 (18:12 +0200)]
update for buffer api change

12 years agotests: plug various caps leaks
Mark Nauwelaerts [Fri, 30 Mar 2012 14:56:45 +0000 (16:56 +0200)]
tests: plug various caps leaks

12 years agoaudioconvert: plug caps leak
Mark Nauwelaerts [Fri, 30 Mar 2012 14:56:40 +0000 (16:56 +0200)]
audioconvert: plug caps leak

12 years agotheoradec: Add crop metadata before mapping the buffer content
Sebastian Dröge [Fri, 30 Mar 2012 11:52:56 +0000 (13:52 +0200)]
theoradec: Add crop metadata before mapping the buffer content

Otherwise the buffer is not writable and the crop metadata can't be added.

12 years agoaudio{en,de}coder: Track input and output segments separately
Sebastian Dröge [Fri, 30 Mar 2012 11:21:09 +0000 (13:21 +0200)]
audio{en,de}coder: Track input and output segments separately

They can go out of sync for some time if processing of buffers
on the old segment happens after the segment was received.

12 years agoaudioencoder: Add gst_audio_encoder_set_headers() to the docs
Sebastian Dröge [Fri, 30 Mar 2012 10:57:02 +0000 (12:57 +0200)]
audioencoder: Add gst_audio_encoder_set_headers() to the docs

12 years agovorbisdec: Use new gst_audio_encoder_set_headers() API
Sebastian Dröge [Fri, 30 Mar 2012 10:51:11 +0000 (12:51 +0200)]
vorbisdec: Use new gst_audio_encoder_set_headers() API

12 years agoaudioencoder: Add function to set in-stream headers
Sebastian Dröge [Fri, 30 Mar 2012 10:47:28 +0000 (12:47 +0200)]
audioencoder: Add function to set in-stream headers

API: gst_audio_encoder_set_headers()

This makes the hack in vorbisenc and probably others in ::pre_push()
unnecessary.

12 years agovorbisenc: Update for GstAudioEncoder API changes
Sebastian Dröge [Fri, 30 Mar 2012 10:16:57 +0000 (12:16 +0200)]
vorbisenc: Update for GstAudioEncoder API changes

12 years agoaudioencoder: Rename ::event() to ::sink_event() and add ::src_event()
Sebastian Dröge [Fri, 30 Mar 2012 10:15:27 +0000 (12:15 +0200)]
audioencoder: Rename ::event() to ::sink_event() and add ::src_event()

12 years agoaudiodecoder: Rename ::event() to ::sink_event() and add ::src_event()
Sebastian Dröge [Fri, 30 Mar 2012 10:10:15 +0000 (12:10 +0200)]
audiodecoder: Rename ::event() to ::sink_event() and add ::src_event()

12 years agoexiftag: Check return value of byte write methods
Edward Hervey [Fri, 30 Mar 2012 10:13:40 +0000 (12:13 +0200)]
exiftag: Check return value of byte write methods

12 years agotests: Check return value of byte write methods
Edward Hervey [Fri, 30 Mar 2012 10:06:09 +0000 (12:06 +0200)]
tests: Check return value of byte write methods

12 years agovideo: Fix 'comparison of unsigned enum expression < 0 is always false' compiler...
Edward Hervey [Fri, 30 Mar 2012 10:05:51 +0000 (12:05 +0200)]
video: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning

12 years agotypefind: Use unchecked byte reader methods where possible
Edward Hervey [Fri, 30 Mar 2012 10:04:15 +0000 (12:04 +0200)]
typefind: Use unchecked byte reader methods where possible

The size is checked before, so we can use them.

12 years agotheoraenc: Specify array size
Edward Hervey [Fri, 30 Mar 2012 10:02:37 +0000 (12:02 +0200)]
theoraenc: Specify array size

Fixes error: initialization of flexible array member is not allowed

12 years agooggstream: Fix 'comparison of unsigned expression < 0 is always false'
Edward Hervey [Fri, 30 Mar 2012 10:00:08 +0000 (12:00 +0200)]
oggstream: Fix 'comparison of unsigned expression < 0 is always false'

-1 (aka G_MAXUINT32) is the only possible 'negative' value that is used
as a special value for 'not set' here. All other positive values are
valid.

12 years agooggmux: Handle return values from GstByteWriter
Edward Hervey [Fri, 30 Mar 2012 09:58:37 +0000 (11:58 +0200)]
oggmux: Handle return values from GstByteWriter

12 years agotests: Fix subparse test
Edward Hervey [Fri, 30 Mar 2012 08:20:01 +0000 (10:20 +0200)]
tests: Fix subparse test

It wasn't checking the srt_input2

12 years agovideoscale: Fix comparision
Edward Hervey [Fri, 30 Mar 2012 08:19:29 +0000 (10:19 +0200)]
videoscale: Fix comparision

12 years agoaudiodecoder: Rename _byte_time() to _estimate_rate()
Sebastian Dröge [Fri, 30 Mar 2012 09:51:47 +0000 (11:51 +0200)]
audiodecoder: Rename _byte_time() to _estimate_rate()

Which is telling more about what this actually does and is more
consistent with the video base classes.

12 years agotest: Enable ABI check and update 64bit file
Edward Hervey [Thu, 29 Mar 2012 15:41:55 +0000 (17:41 +0200)]
test: Enable ABI check and update 64bit file

12 years agotests: Properly disable non-ported tests
Edward Hervey [Thu, 29 Mar 2012 15:41:36 +0000 (17:41 +0200)]
tests: Properly disable non-ported tests

12 years agodesign: First go at hardware-acceleration design doc
Edward Hervey [Tue, 17 Jan 2012 16:17:24 +0000 (17:17 +0100)]
design: First go at hardware-acceleration design doc

12 years agortpbasepayload: plug caps leak
Mark Nauwelaerts [Thu, 29 Mar 2012 15:14:48 +0000 (17:14 +0200)]
rtpbasepayload: plug caps leak

12 years agoMerge remote-tracking branch 'origin/0.10'
Sebastian Dröge [Thu, 29 Mar 2012 13:00:22 +0000 (15:00 +0200)]
Merge remote-tracking branch 'origin/0.10'

Conflicts:
gst-libs/gst/video/video-overlay-composition.c
tests/check/libs/video.c

12 years agoappsink: optionally obtain current caps from negotiated pad caps
Mark Nauwelaerts [Wed, 28 Mar 2012 14:45:03 +0000 (16:45 +0200)]
appsink: optionally obtain current caps from negotiated pad caps

12 years agoaudiodecoder: handle downstream seeking query
Mark Nauwelaerts [Wed, 28 Mar 2012 14:41:01 +0000 (16:41 +0200)]
audiodecoder: handle downstream seeking query

... or not, in line with how segment events are treated.

12 years agoupdate for buffer changes
Wim Taymans [Wed, 28 Mar 2012 10:48:55 +0000 (12:48 +0200)]
update for buffer changes

12 years agotagmux: more discrete segment event dropping
Mark Nauwelaerts [Tue, 27 Mar 2012 16:16:53 +0000 (18:16 +0200)]
tagmux: more discrete segment event dropping

12 years agovideopool: avoid caps copy
Wim Taymans [Tue, 27 Mar 2012 13:44:59 +0000 (15:44 +0200)]
videopool: avoid caps copy

Now that the caps from the bufferpool are not returned as const we
can take a ref instead of doing a copy.

12 years agoaudioencoder: avoid caps copy
Wim Taymans [Tue, 27 Mar 2012 13:44:43 +0000 (15:44 +0200)]
audioencoder: avoid caps copy

12 years agotestoverlay: fix object and caps leak
Wim Taymans [Tue, 27 Mar 2012 13:44:14 +0000 (15:44 +0200)]
testoverlay: fix object and caps leak

12 years agoalsa: fix small caps leak
Wim Taymans [Tue, 27 Mar 2012 13:43:44 +0000 (15:43 +0200)]
alsa: fix small caps leak

12 years agovideo: keep the buffer reffed in the videoframe
Wim Taymans [Tue, 27 Mar 2012 13:01:01 +0000 (15:01 +0200)]
video: keep the buffer reffed in the videoframe

This would also ensure that the buffer is not writable while mapped.

12 years agoupdate for get_param changes
Wim Taymans [Tue, 27 Mar 2012 10:44:02 +0000 (12:44 +0200)]
update for get_param changes

Remove the const from the GstCaps.
Fix some GstStructure leaks.

12 years agovideo: remove bogus define
Mark Nauwelaerts [Mon, 26 Mar 2012 16:13:13 +0000 (18:13 +0200)]
video: remove bogus define

12 years agopbutils: Add some more subtitle format descriptions
Sebastian Dröge [Mon, 26 Mar 2012 11:52:41 +0000 (13:52 +0200)]
pbutils: Add some more subtitle format descriptions

12 years agoReplace master with 0.11
Wim Taymans [Mon, 26 Mar 2012 09:56:48 +0000 (11:56 +0200)]
Replace master with 0.11

12 years agoplayback-test: Some minor grid layout improvements
Sebastian Dröge [Mon, 26 Mar 2012 07:15:18 +0000 (09:15 +0200)]
playback-test: Some minor grid layout improvements

12 years agoplayback-test: Make grid children sizes non homogeneous
Sebastian Dröge [Mon, 26 Mar 2012 07:13:20 +0000 (09:13 +0200)]
playback-test: Make grid children sizes non homogeneous

This only takes space for no good reason and doesn't even look good.

12 years agoplayback-test: Rename advanced playback to advanced seeking
Sebastian Dröge [Mon, 26 Mar 2012 07:11:49 +0000 (09:11 +0200)]
playback-test: Rename advanced playback to advanced seeking

It's about seeking, not general playback.

12 years agotest: fix leak in video overlay composition unit test
Tim-Philipp Müller [Sun, 25 Mar 2012 12:35:23 +0000 (13:35 +0100)]
test: fix leak in video overlay composition unit test

gst_buffer_set_qdata() will leak the structure passed to it
when called incorrectly (e.g. on a non-metadata-writable buffer).
This is expected, but we must avoid doing that in valgrind.

12 years agovideo: overlay-composition: blending micro-optimisation
Tim-Philipp Müller [Sun, 25 Mar 2012 00:31:41 +0000 (00:31 +0000)]
video: overlay-composition: blending micro-optimisation

12 years agovideo: overlay-composition: try to avoid floating point maths in inner loop
Tim-Philipp Müller [Sun, 25 Mar 2012 00:22:29 +0000 (00:22 +0000)]
video: overlay-composition: try to avoid floating point maths in inner loop

Try to avoid floating point maths for each pixel to be blended in
inner loop, and try to avoid the multiplication entirely for the
most common case of the global alpha being 1. Could probably be
refactored a bit more.

12 years agovideo: overlay-composition: some minor clean-ups
Tim-Philipp Müller [Sat, 24 Mar 2012 19:47:10 +0000 (19:47 +0000)]
video: overlay-composition: some minor clean-ups

extract_alpha and apply_global alpha always return TRUE really,
so just do away with the return value. Convert a g_return_if_fail()
into a g_assert(), since this is only to check internal consistency
and not a guard for public API. Add some locking.

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agotests: add unit test for video overlay composition global alpha support
Holger Kaelberer [Sat, 24 Mar 2012 19:38:26 +0000 (19:38 +0000)]
tests: add unit test for video overlay composition global alpha support

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agovideo: overlay-composition: add support for global alpha multiplicator
Holger Kaelberer [Sat, 24 Mar 2012 19:31:29 +0000 (19:31 +0000)]
video: overlay-composition: add support for global alpha multiplicator

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agoriff: map ISBJ tag to GST_TAG_ALBUM_ARTIST
Tim-Philipp Müller [Sat, 24 Mar 2012 00:17:33 +0000 (00:17 +0000)]
riff: map ISBJ tag to GST_TAG_ALBUM_ARTIST

http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm

12 years agoplaysink: Fix subtitle rendering if there's no video, no visualizations but a text...
Sebastian Dröge [Fri, 23 Mar 2012 10:07:49 +0000 (11:07 +0100)]
playsink: Fix subtitle rendering if there's no video, no visualizations but a text-sink

12 years agoback to devel
Wim Taymans [Thu, 22 Mar 2012 14:55:11 +0000 (15:55 +0100)]
back to devel

12 years agoRelease 0.11.3
Wim Taymans [Thu, 22 Mar 2012 14:50:36 +0000 (15:50 +0100)]
Release 0.11.3

12 years agoMerge branch 'master' into 0.11
Wim Taymans [Thu, 22 Mar 2012 10:35:13 +0000 (11:35 +0100)]
Merge branch 'master' into 0.11

Conflicts:
.gitignore
common
configure.ac
ext/vorbis/gstvorbisdeclib.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/riff/riff-read.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
tests/check/libs/video.c

12 years agodefs: update
Wim Taymans [Wed, 21 Mar 2012 12:20:19 +0000 (13:20 +0100)]
defs: update

12 years agotests: don't include element header files
Wim Taymans [Wed, 21 Mar 2012 12:19:50 +0000 (13:19 +0100)]
tests: don't include element header files

12 years agoorc: avoid precompilation
Wim Taymans [Tue, 20 Mar 2012 14:37:42 +0000 (15:37 +0100)]
orc: avoid precompilation

Avoid compiling all the functions at startup but compile only what's needed when
needed.

12 years agotheoradec: add performance debug
Wim Taymans [Tue, 20 Mar 2012 12:31:24 +0000 (13:31 +0100)]
theoradec: add performance debug

12 years agooggdemux: avoid memcpy in pull mode
Wim Taymans [Tue, 20 Mar 2012 12:18:19 +0000 (13:18 +0100)]
oggdemux: avoid memcpy in pull mode

In pull mode, we can now ask the upstream element to write directly into the
memory provided by libogg.

12 years agoupdate for memory api changes
Wim Taymans [Tue, 20 Mar 2012 09:23:47 +0000 (10:23 +0100)]
update for memory api changes

12 years agopbutils: make encoding profile classes opaque
Tim-Philipp Müller [Wed, 14 Mar 2012 14:51:22 +0000 (14:51 +0000)]
pbutils: make encoding profile classes opaque

Don't typedef them to GObjectClass directly, but hide behind
private structs. Fixes issues with gobject-introspection
and GstEncodingProfileClass.

https://bugzilla.gnome.org/show_bug.cgi?id=668542

12 years agovideo: fix assertion comparison mishap
Mark Nauwelaerts [Tue, 20 Mar 2012 10:22:29 +0000 (11:22 +0100)]
video: fix assertion comparison mishap

12 years agoaudio: include audio enumtypes
Mark Nauwelaerts [Mon, 19 Mar 2012 15:18:56 +0000 (16:18 +0100)]
audio: include audio enumtypes

12 years agovideo: add function to copy one video plane
Wim Taymans [Mon, 19 Mar 2012 11:26:11 +0000 (12:26 +0100)]
video: add function to copy one video plane

12 years agoriff: map IPRD ("product") tag to GST_TAG_ALBUM
Tim-Philipp Müller [Sun, 18 Mar 2012 22:56:58 +0000 (22:56 +0000)]
riff: map IPRD ("product") tag to GST_TAG_ALBUM

http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm

https://bugzilla.gnome.org/show_bug.cgi?id=670286

12 years agodon't pass random pointers to pull_range
Wim Taymans [Fri, 16 Mar 2012 20:46:47 +0000 (21:46 +0100)]
don't pass random pointers to pull_range

12 years agovideotestsrc: fix decide_allocation
Wim Taymans [Fri, 16 Mar 2012 19:22:19 +0000 (20:22 +0100)]
videotestsrc: fix decide_allocation

We want to propose a videopool even if downstream didn't provide one.

12 years agoupdate for bufferpool changes
Wim Taymans [Thu, 15 Mar 2012 21:10:58 +0000 (22:10 +0100)]
update for bufferpool changes

12 years agoupdate for allocation query changes
Wim Taymans [Thu, 15 Mar 2012 19:36:51 +0000 (20:36 +0100)]
update for allocation query changes

12 years agoupdate for bufferpool api change
Wim Taymans [Thu, 15 Mar 2012 13:06:24 +0000 (14:06 +0100)]
update for bufferpool api change

12 years agoplaysink: send navigation event to the sink as a fallback
Vincent Penquerc'h [Thu, 15 Mar 2012 12:59:38 +0000 (12:59 +0000)]
playsink: send navigation event to the sink as a fallback

When the video sink is a fakesink, which does not implement the
navigation interface, playsink will drop the navigation command.
In this case, send to the video sink as a fallback. It breaks
the interface abstraction, but is better than just dropping the
navigation event.

12 years agoupdate for memory api changes
Wim Taymans [Thu, 15 Mar 2012 12:32:08 +0000 (13:32 +0100)]
update for memory api changes

12 years agoupdate for memory api changes
Wim Taymans [Wed, 14 Mar 2012 20:35:45 +0000 (21:35 +0100)]
update for memory api changes

12 years agotake padding into account
Wim Taymans [Wed, 14 Mar 2012 18:52:03 +0000 (19:52 +0100)]
take padding into account

12 years agotests: add unit test for premultiplied alpha handling of video overlay rectangles
Tim-Philipp Müller [Wed, 14 Mar 2012 17:59:31 +0000 (17:59 +0000)]
tests: add unit test for premultiplied alpha handling of video overlay rectangles

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agovideo: overlay-composition: fix alpha premultiply and unpremultiply
Tim-Philipp Müller [Wed, 14 Mar 2012 17:46:23 +0000 (17:46 +0000)]
video: overlay-composition: fix alpha premultiply and unpremultiply

Fix component offsets for little endian systems.

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agovideo: overlay-composition: fix rectangle caching after alpha (un)premultiplying
Holger Kaelberer [Wed, 14 Mar 2012 17:28:57 +0000 (17:28 +0000)]
video: overlay-composition: fix rectangle caching after alpha (un)premultiplying

If we are asked to (un)premultiply,we need to create the new rectangle
with the right flags, so we can find it properly on subsequent cache
lookups (also because it's wrong otherwise).

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agovideo: overlay-composition: fix crash when doing premultiplied<->unpremultiplied...
Holger Kaelberer [Wed, 14 Mar 2012 17:18:47 +0000 (17:18 +0000)]
video: overlay-composition: fix crash when doing premultiplied<->unpremultiplied alpha conversion

We need to copy the pixels before messing with them, not least
because the buffer creation code below assumes it's ok to take
ownership.

Fixes crash caused by double-free.

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agovideo: overlay-composition: check the right flags when searching for a cached rectangle
Holger Kaelberer [Wed, 14 Mar 2012 16:42:24 +0000 (16:42 +0000)]
video: overlay-composition: check the right flags when searching for a cached rectangle

Compare the flags of the *cached* rectangle to the desired flags when
checking for a suitable rectangle in the cache.

https://bugzilla.gnome.org/show_bug.cgi?id=668483

12 years agotests: remove ASSERT_CRITICAL disablement in overlay composition unit test
Tim-Philipp Müller [Wed, 14 Mar 2012 15:31:45 +0000 (15:31 +0000)]
tests: remove ASSERT_CRITICAL disablement in overlay composition unit test

No idea why that was there.

12 years agoplaysink: remove circular ref between bin and internal pad
Mark Nauwelaerts [Wed, 14 Mar 2012 10:04:25 +0000 (11:04 +0100)]
playsink: remove circular ref between bin and internal pad

... by not assigning an additional ref to an async blocked callback,
which should not be called anyway by the time the object is gone.

Fixes #672006.