Sebastian Dröge
69b18ab09d
gst-libs: Remove interfaces libs and mixer/tuner interfaces
...
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Alban Browaeys
6c8abf24cf
libs: Link against internal tag library
2012-04-11 09:58:49 +02:00
Sebastian Dröge
8091546694
audio: Remove obsolete FIXME 0.11
2012-04-11 09:57:35 +02:00
Alban Browaeys
8e8c18233a
pbutils: Link against internal gst video
...
Link pbutils and encoding tests against internal version of libgstvideo.
2012-04-11 09:56:17 +02:00
Alessandro Decina
ebf80977c4
audiodecoder: don't discard timestamps when consecutive input buffers have the same ts
...
Avoid pushing out buffers with the same timestamp only if the out buffers are
decoded from the same input buffer. Instead keep the timestamps when upstream
pushes consecutive buffers with the same ts.
2012-04-05 10:19:46 +02:00
Alessandro Decina
38803239c0
audiodecoder: don't discard timestamps when consecutive input buffers have the same ts
...
Avoid pushing out buffers with the same timestamp only if the out buffers are
decoded from the same input buffer. Instead keep the timestamps when upstream
pushes consecutive buffers with the same ts.
2012-04-04 20:52:50 +02:00
Mark Nauwelaerts
6eeca397fc
audioencoder: plug a definite and rare leak
2012-04-04 19:57:35 +02:00
Mark Nauwelaerts
43b0c5d258
encoding-profile: release additional obtained caps reference
2012-04-04 19:50:07 +02:00
Sebastian Dröge
65307dd132
gst: Update versioning
2012-04-04 14:55:15 +02:00
Wim Taymans
296e1bf3dd
rtpbuffer: removed old memory
...
Ensure writability of rtp buffer and remove old memory first
Fix some docs
2012-04-04 09:34:00 +02:00
Mark Nauwelaerts
91aa1eb7dd
audio{de,en}coder: fixup documentation
2012-04-02 14:23:33 +02:00
Wim Taymans
ac9a8781ba
video: fix macros
2012-04-02 12:25:30 +02:00
Wim Taymans
6e9d28eef6
rtp: fix initializer
2012-04-02 11:05:38 +02:00
Wim Taymans
92f46c07fe
rtpbuffer: keep more state
...
Prepare for the future, make it possible to map multiple buffer regions, like
the header and the payload.
2012-04-02 10:31:18 +02:00
Wim Taymans
9ef519d99a
Improve buffer allocation of wrapped memory
2012-04-01 18:11:23 +02:00
Wim Taymans
1d60bd12e5
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.
2012-04-01 18:04:10 +02:00
Wim Taymans
6f8347de9f
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.
2012-04-01 18:01:15 +02:00
Sebastian Dröge
b701534204
audioencoder: Fix handling of offset/offset-end for Ogg codecs
...
Fixes the vorbisenc unit test.
2012-03-31 12:55:15 +02:00
Wim Taymans
345dc31f20
update for buffer api change
2012-03-30 18:15:30 +02:00
Sebastian Dröge
a103fa85a9
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.
2012-03-30 13:21:09 +02:00
Sebastian Dröge
9cd9f00799
audioencoder: Add gst_audio_encoder_set_headers() to the docs
2012-03-30 12:57:02 +02:00
Sebastian Dröge
78bcb67ea5
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.
2012-03-30 12:47:28 +02:00
Sebastian Dröge
f791ec1f10
audioencoder: Rename ::event() to ::sink_event() and add ::src_event()
2012-03-30 12:23:13 +02:00
Sebastian Dröge
d8cb235fe4
audiodecoder: Rename ::event() to ::sink_event() and add ::src_event()
2012-03-30 12:23:13 +02:00
Edward Hervey
dccfbef7f9
exiftag: Check return value of byte write methods
2012-03-30 12:13:40 +02:00
Edward Hervey
32c617c867
video: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning
2012-03-30 12:05:51 +02:00
Sebastian Dröge
40a4f2f8aa
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.
2012-03-30 11:51:47 +02:00
Mark Nauwelaerts
6039266c43
rtpbasepayload: plug caps leak
2012-03-29 17:15:43 +02:00
Sebastian Dröge
9e13d70b2c
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
gst-libs/gst/video/video-overlay-composition.c
tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Mark Nauwelaerts
435c340d15
appsink: optionally obtain current caps from negotiated pad caps
2012-03-28 16:45:03 +02:00
Mark Nauwelaerts
2ddc6bb63d
audiodecoder: handle downstream seeking query
...
... or not, in line with how segment events are treated.
2012-03-28 16:41:01 +02:00
Wim Taymans
69298c5534
update for buffer changes
2012-03-28 12:53:01 +02:00
Mark Nauwelaerts
fd24621464
tagmux: more discrete segment event dropping
2012-03-27 18:16:53 +02:00
Wim Taymans
18fe3ed9fa
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.
2012-03-27 15:44:59 +02:00
Wim Taymans
77a4f5865b
audioencoder: avoid caps copy
2012-03-27 15:44:43 +02:00
Wim Taymans
c6f55538e3
video: keep the buffer reffed in the videoframe
...
This would also ensure that the buffer is not writable while mapped.
2012-03-27 15:01:01 +02:00
Wim Taymans
bee3d7b683
update for get_param changes
...
Remove the const from the GstCaps.
Fix some GstStructure leaks.
2012-03-27 12:44:02 +02:00
Mark Nauwelaerts
6c260d732c
video: remove bogus define
2012-03-26 18:13:13 +02:00
Sebastian Dröge
b47350b6e9
pbutils: Add some more subtitle format descriptions
2012-03-26 13:52:41 +02:00
Tim-Philipp Müller
3242f55861
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.
2012-03-25 13:35:23 +01:00
Tim-Philipp Müller
35a17ac152
video: overlay-composition: blending micro-optimisation
2012-03-25 11:33:04 +01:00
Tim-Philipp Müller
79953f27a8
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.
2012-03-25 11:31:31 +01:00
Tim-Philipp Müller
32679e1826
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
2012-03-25 11:27:24 +01:00
Holger Kaelberer
76c0881549
video: overlay-composition: add support for global alpha multiplicator
...
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-25 11:27:24 +01:00
Tim-Philipp Müller
f17b8cbbc3
riff: map ISBJ tag to GST_TAG_ALBUM_ARTIST
...
http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm
2012-03-24 00:18:17 +00:00
Wim Taymans
32bd12dba9
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
2012-03-22 11:35:13 +01:00
Wim Taymans
a619d3a8b0
update for memory api changes
2012-03-20 13:20:36 +01:00
Tim-Philipp Müller
dfb244fb50
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
2012-03-20 10:51:53 +00:00
Mark Nauwelaerts
d455b29db4
video: fix assertion comparison mishap
2012-03-20 11:22:29 +01:00
Mark Nauwelaerts
278b0f093b
audio: include audio enumtypes
2012-03-19 16:18:56 +01:00
Wim Taymans
e620dbc57d
video: add function to copy one video plane
2012-03-19 12:26:11 +01:00
Tim-Philipp Müller
fe0e2d65e1
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
2012-03-18 22:56:58 +00:00
Wim Taymans
dfb8e7cb2c
don't pass random pointers to pull_range
2012-03-16 21:46:47 +01:00
Wim Taymans
1e884df1df
update for bufferpool changes
2012-03-15 22:10:58 +01:00
Wim Taymans
7c0e2b5b1e
update for allocation query changes
2012-03-15 20:36:51 +01:00
Wim Taymans
02dc419aae
update for bufferpool api change
2012-03-15 14:06:24 +01:00
Wim Taymans
df5253b22c
update for memory api changes
2012-03-15 13:32:08 +01:00
Wim Taymans
28034226c6
update for memory api changes
2012-03-14 21:35:45 +01:00
Wim Taymans
39d78762b9
take padding into account
2012-03-14 19:56:51 +01:00
Tim-Philipp Müller
2c4b379470
video: overlay-composition: fix alpha premultiply and unpremultiply
...
Fix component offsets for little endian systems.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
027f5bb471
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
2012-03-14 18:04:38 +00:00
Holger Kaelberer
7a21d1eb32
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
2012-03-14 18:04:38 +00:00
Holger Kaelberer
6b7f25a2f0
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
2012-03-14 18:04:37 +00:00
Wim Taymans
781f9474ea
videometa: also copy map/unmap functions
2012-03-13 20:17:55 +01:00
Wim Taymans
37e940df83
rtpbasepay: add support for DTS and PTS
2012-03-13 18:15:04 +01:00
Wim Taymans
4e1ed6f649
audio: fix debug line
2012-03-13 12:39:52 +01:00
Wim Taymans
25137962ad
fix for caps API changes
2012-03-11 19:04:41 +01:00
Tim-Philipp Müller
b2d066f49c
riff: extract track number and album artist tags from INFO chunks
...
https://bugzilla.gnome.org/show_bug.cgi?id=670286
2012-03-09 20:57:02 +00:00
Tim-Philipp Müller
5cb1cd2d54
riff: when reading tags from INFO chunk, accept lower-case IDs as well
2012-03-09 20:53:27 +00:00
Wim Taymans
7296ef7c63
audiobasesink: add some G_LIKELY
2012-03-09 17:15:38 +01:00
Wim Taymans
94869bff38
audio: avoid buffer copy when nothing is clipped
...
when nothing is clipped, return the input buffer instead of creating and
returning an identical copy.
2012-03-09 16:17:54 +01:00
Sebastian Dröge
7ff608889a
audio{en,de}coder: Add optional open/close vfuncs
...
This can be used to do something in NULL->READY, like checking
if a hardware codec is actually available and to error out early.
2012-03-09 10:56:07 +01:00
Tim-Philipp Müller
29c266ccff
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
common
docs/libs/gst-plugins-base-libs.types
ext/pango/gsttextoverlay.c
ext/vorbis/gstvorbisdec.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Wim Taymans
8ebd13ee5e
videopool: only do alignment when videometa is enabled
...
We require the videometa activated before we can implement the alignment of
buffers. Users of the bufferpool should do this manually based on the results of
the allocation query.
2012-03-08 13:03:22 +01:00
Mark Nauwelaerts
8a3f818dce
audiodecoder: add some tag handling convenience help
2012-03-06 16:17:37 +01:00
Mark Nauwelaerts
5a0fff76f3
audiodecoder: add baseclass _CAST macro
2012-03-06 16:17:33 +01:00
Wim Taymans
4da57f08a1
videometa: make video metatransform
...
Make more generic video meta transform data that can be used for many video
transformations later.
2012-03-06 12:52:01 +01:00
Sebastian Dröge
1af6f94d84
video-blend: Actually allow negative offsets in the function signature too
2012-03-06 12:42:03 +01:00
Sebastian Dröge
aeb6a6ee71
pbutils: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning
2012-03-06 12:40:36 +01:00
Mark Nauwelaerts
d19f5467cc
audio: add helper function to convert mask to channel positions
...
... as there may be other than raw audio formats using a channel mask,
and there is already one to convert the other way around.
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
debbc75272
audioencoder: stop proxying some old-style 0.10 raw audio caps fields
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
1a2863bf33
audioencoder: store segment event as pending event to forego dropping it
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
aae64c40a8
audiodecoder: plug caps leak when setting output format
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
3b0a2a60da
audiodecoder: enhance some debug statement
2012-03-05 11:04:20 +01:00
Jonathan Matthew
bc1fb43408
discoverer: don't change result for missing plugin errors
...
https://bugzilla.gnome.org/show_bug.cgi?id=671047
2012-03-03 13:50:34 +00:00
Wim Taymans
1ede067d27
videofilter: always chain up to parent propose_allocation
2012-03-02 17:34:50 +01:00
Wim Taymans
337eed6e91
videometa: add videoscale metadata transform
2012-03-02 13:11:36 +01:00
Sebastian Dröge
84a02f9f13
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11
2012-03-02 10:13:52 +01:00
Sebastian Dröge
f7939bb43f
Merge branch 'master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-base-plugins.args
docs/plugins/gst-plugins-base-plugins.hierarchy
docs/plugins/gst-plugins-base-plugins.interfaces
docs/plugins/inspect/plugin-adder.xml
docs/plugins/inspect/plugin-alsa.xml
docs/plugins/inspect/plugin-app.xml
docs/plugins/inspect/plugin-audioconvert.xml
docs/plugins/inspect/plugin-audiorate.xml
docs/plugins/inspect/plugin-audioresample.xml
docs/plugins/inspect/plugin-audiotestsrc.xml
docs/plugins/inspect/plugin-cdparanoia.xml
docs/plugins/inspect/plugin-encoding.xml
docs/plugins/inspect/plugin-ffmpegcolorspace.xml
docs/plugins/inspect/plugin-gdp.xml
docs/plugins/inspect/plugin-gio.xml
docs/plugins/inspect/plugin-gnomevfs.xml
docs/plugins/inspect/plugin-libvisual.xml
docs/plugins/inspect/plugin-ogg.xml
docs/plugins/inspect/plugin-pango.xml
docs/plugins/inspect/plugin-playback.xml
docs/plugins/inspect/plugin-subparse.xml
docs/plugins/inspect/plugin-tcp.xml
docs/plugins/inspect/plugin-theora.xml
docs/plugins/inspect/plugin-typefindfunctions.xml
docs/plugins/inspect/plugin-uridecodebin.xml
docs/plugins/inspect/plugin-videorate.xml
docs/plugins/inspect/plugin-videoscale.xml
docs/plugins/inspect/plugin-videotestsrc.xml
docs/plugins/inspect/plugin-volume.xml
docs/plugins/inspect/plugin-vorbis.xml
docs/plugins/inspect/plugin-ximagesink.xml
docs/plugins/inspect/plugin-xvimagesink.xml
gst-libs/gst/app/gstappsink.c
gst-libs/gst/audio/mixer.c
gst-libs/gst/audio/mixer.h
gst-libs/gst/tag/gstxmptag.c
gst-libs/gst/video/colorbalance.c
gst-libs/gst/video/colorbalance.h
gst/adder/gstadder.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/videoscale/gstvideoscale.c
tests/check/elements/videoscale.c
tests/examples/seek/seek.c
tests/examples/v4l/probe.c
win32/common/_stdint.h
win32/common/audio-enumtypes.c
win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans
91c587af22
videofilter: fix for decide_allocation changes
...
Chain up to parent.
2012-03-01 17:34:56 +01:00
Wim Taymans
502c12f827
update for metadata API changes
2012-02-29 17:25:10 +01:00
Wim Taymans
a232714065
meta: add return value to transform
2012-02-28 16:18:30 +01:00
Wim Taymans
af308ac04d
videofilter: fix some comments
2012-02-28 16:16:22 +01:00
Wim Taymans
1c05eeece5
update for metadata tags
2012-02-28 12:10:14 +01:00
Philippe Normand
63ace8872d
audio: link against libm
...
It is used in gststreamvolume.
2012-02-27 14:36:25 +00:00
Edward Hervey
59918e841f
Suppress deprecation warnings in selected files, for g_value_array_* mostly
2012-02-27 14:28:15 +01:00
Wim Taymans
5a0354b416
audioencoder: don't leak event
2012-02-27 13:08:36 +01:00
Wim Taymans
15eb385412
audioencoder: use default event function
...
Implement a default event function so that subclasses can call it without having
to return FALSE (and make it impossible to report errors).
2012-02-27 12:49:52 +01:00
Alessandro Decina
9f1732fba7
Fix compiler warnings
2012-02-26 20:36:46 +01:00
Tim-Philipp Müller
3fd8217898
appsink: implement SEEKING query
...
We don't support seeking (in the sense that upstream can
make us jump back and forth to certain offsets in the
output).
2012-02-25 15:21:30 +00:00
Tim-Philipp Müller
5dbb27fb50
pbutils: fix gst_install_plugins_{sync,async} g-i annotations
...
the gir scanner doesn't use a sensible defaults for string array
arguments, so we have to annotate it properly.
https://bugzilla.gnome.org/show_bug.cgi?id=668343
2012-02-25 00:39:53 +00:00
Stefan Sauer
0cb4ccb1f0
interfaces: fix ABI class padding after the recent changes
2012-02-24 21:37:00 +01:00
Wim Taymans
525f330142
update for metadata changes
2012-02-24 10:26:04 +01:00
Wim Taymans
06ccd80811
video: fix docs
2012-02-23 16:55:11 +01:00
Wim Taymans
e32e8f6c52
video: Improve video frame map/unmap
...
Install defaul map/unmap function on the metadata and really call the functions
instead of always calling a default implementation.
Rework some bits so that we don't have to mess with the GstMapInfo information
(adding the offset), instead pass the adjusted data pointer from the map function.
2012-02-23 16:50:28 +01:00
Wim Taymans
f552d8f0c0
videopool: fix docs
2012-02-23 16:16:37 +01:00
Tim-Philipp Müller
6cd3faaa65
riff: fix compilation on big-endian
...
Update to new gst_buffer_map() API
2012-02-22 21:22:06 +00:00
Wim Taymans
18e45a8a5f
videofilter: improve propose_allocation
...
When we are in passthrough, call the parent implementation. Otherwise we have to
suggest allocation parameters ourselves.
2012-02-22 15:27:59 +01:00
Sebastian Dröge
dd2aca8753
mixer: Add ::get_mixer_type() vfunc and deprecate interface struct value
2012-02-22 10:23:26 +01:00
Sebastian Dröge
16c3946440
colorbalance: Add ::get_balance_type() vfunc and deprecated value inside the interface struct
...
Values in class/interface structs are not supported by most bindings.
2012-02-22 10:23:26 +01:00
Sebastian Dröge
17b8299df1
navigation: Fix copy&paste error in documentation
2012-02-22 10:23:26 +01:00
Wim Taymans
63f3f27164
update for new memory api
2012-02-22 02:05:24 +01:00
Vincent Untz
5c3f7b51ce
tag: xmp: Fix a build warning when compiling with asserts disabled
...
Return a value even if the code will never be reached, to make compilers
happy.
https://bugzilla.gnome.org/show_bug.cgi?id=670548
2012-02-21 16:07:04 +00:00
Wim Taymans
d2ea46cdbf
Merge branch 'master' into 0.11
...
Conflicts:
tests/examples/seek/seek.c
2012-02-21 10:01:30 +01:00
Wim Taymans
26f63027a6
rtsp: fix connection
2012-02-20 17:44:59 +01:00
David Schleef
0b3f956277
riff: Add v210, r210 formats
2012-02-18 17:38:05 -08:00
Wim Taymans
268d52fd33
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/rtsp/gstrtspconnection.c
win32/common/libgstaudio.def
2012-02-17 23:46:17 +01:00
Tim-Philipp Müller
0f6c8a27a7
docs: add new audio base class API to docs and .def file
2012-02-17 15:08:36 +00:00
Ognyan Tonchev
f6e07b65a4
rtspconnection: only send new data immediately if there are no queued messages
...
Even if watch->messages->length is 0 there may still be some
data from a message that was only written partially at the
previous attempt stored in watch->write_data, so check for
that as well. We don't want to write data into the middle
of another message, which could happen when there wasn't
enough bandwidth.
https://bugzilla.gnome.org/show_bug.cgi?id=669039
2012-02-17 14:40:35 +00:00
Wim Taymans
e44dd9db8f
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/pbutils/gstdiscoverer.c
2012-02-16 14:23:28 +01:00
Mark Nauwelaerts
439884d628
audiodecoder: add some properties to tweak baseclass behaviour
...
... so subclass can also rely upon never being bothered with some NULL buffer
it can't do any interesting with, or with any data before it received
any format configuration (and setup properly).
2012-02-16 12:35:53 +01:00
Mark Nauwelaerts
5b4dc02523
audioencoder: add some properties to tweak baseclass behaviour
...
... so subclass can also rely upon never being bothered with less data
than it desires or with some NULL buffer it can't do any interesting with.
2012-02-16 12:35:51 +01:00
Mark Nauwelaerts
95306e8fef
audiodecoder: assert some more that subclass parsed frame has proper len
2012-02-16 12:35:40 +01:00
Wim Taymans
c7d0fb556f
audiodecoder: chain up to parent for defaults
...
Chain up to the parent instead of using the FALSE return value from
the event function (because it's otherwise impossible to return an error).
2012-02-15 13:42:19 +01:00
Wim Taymans
b2fbb2e587
audiodecoder: call default event handler
...
Call the default event handler for unknown events.
2012-02-15 13:03:59 +01:00
Wim Taymans
fbf0b4b6cc
tagdemux: refactor the tag find function
...
Move the code to find the tags and to typefind the data into a separate
function. Call this function from the loop function.
2012-02-15 12:29:12 +01:00
Wim Taymans
8dd93b897f
tagdemux: don't to data processing in state change
...
Start a task to perform the pulling and typefind of the tags.
2012-02-15 10:12:55 +01:00
Tim-Philipp Müller
e40ea30972
discoverer: try harder to obtain a duration if we don't get one right away
...
If we don't get a duration right away, set the pipeline to playing
and sleep a bit, then try again. This is ugly, but the least worst
we can do right now. The alternative would be to make parsers etc.
return some bogus duration estimate even after only having pushed
a single frame, for example.
Fixes discoverer showing 0 durations for some mp3 and aac files
(e.g. soweto-adts.aac).
2012-02-14 19:36:43 +00:00
Wim Taymans
ee2c699016
tagdemux: fix src query handler
...
We don't want to blindly forward all queries.
2012-02-14 13:25:25 +01:00
Wim Taymans
6c51a80f6f
videometa: adjust for memory api change
2012-02-13 18:12:01 +01:00
Tim-Philipp Müller
06ea77710a
tag: make GstTagMux base class a bit more functional
...
We can't use G_DEFINE_*TYPE here because we need the klass in the _init
method to get to the padtemplates. Fixes 'GstTagDemux subclass GstTagDemux
did not set up a {sink,src} pad template' warnings.
2012-02-12 16:54:56 +00:00
Wim Taymans
e615e4c2cf
video: add performance log for frame copy
2012-02-09 16:03:35 +01:00
Wim Taymans
f31d5d7505
debug: add some performance debug
2012-02-09 15:28:54 +01:00
Wim Taymans
a75e9102c5
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 15:17:49 +01:00
Tim-Philipp Müller
bd4bf43171
rtsp: make g-ir-scanner include Gio-2.0 to suppress complaints about GSocket etc.
2012-02-07 23:42:48 +00:00
Mark Nauwelaerts
97d60612a4
audiodecoder: remove stray obsolete declaration
2012-02-06 22:10:28 +01:00
Mark Nauwelaerts
2bf1a4428e
audio: correctly fill in fallback channel positions in stereo case
2012-02-06 22:10:28 +01:00
Wim Taymans
bfa00d0996
video: mark endianness correctly
2012-02-06 18:33:59 +01:00
Wim Taymans
774f80d49c
tagdemux: push event in the right direction
...
Push the stored events in the right direction
2012-02-06 15:54:34 +01:00
Tim-Philipp Müller
8c9639d1e3
tag: fix up define that tells code where to find the license translations too
...
Tell code about new location of translation dict.
2012-02-06 13:49:12 +00:00
Wim Taymans
6c08f53416
audiofilter: configure info after calling vmethod
...
First call the vmethod and then configure the audioinfo in the baseclass. This
allows subclasses to know about the old format.
2012-02-06 13:23:26 +01:00
Wim Taymans
0c5755730b
videofilter: take care of in_place transform
...
If the subclass doesn't implement a transform_frame function we need to force
the baseclass into in_place transform.
2012-02-06 13:23:25 +01:00
Sebastian Dröge
e4501ce1be
tag: Install license translations into $(pkgdatadir)/0.11
...
This prevents file conflicts with GStreamer 0.10.
2012-02-06 11:45:16 +01:00
Mark Nauwelaerts
fa63d7181d
video: add GST_VIDEO_INFO_COMP_BITS
2012-02-06 10:52:01 +01:00
Sebastian Dröge
103c59af24
video: Add GST_VIDEO_INFO_COMP_WIDTH
2012-02-06 09:53:22 +01:00
Wim Taymans
fe3e9b90dd
audioencoder: don't unref caps parameter
...
Fix refcounting on incomming caps to make sure we don't unref it too much.
2012-02-03 09:51:00 +01:00
Tim-Philipp Müller
24749aa2db
discoverer: mark GError argument of "discovered" signal with STATIC_SCOPE
...
So the error is passed to the callback as is without a copy being made.
2012-02-01 19:34:22 +00:00
Sebastian Dröge
1cb4029d00
audioencoder: gst_pad_get_pad_template_caps() now returns a new reference, don't forget to unref
2012-02-01 16:33:30 +01:00
Sebastian Dröge
5aa6748151
audio{enc,dec}oder: Check if srcpad caps are a subset of the template caps
2012-02-01 16:32:53 +01:00
Sebastian Dröge
0370b0dc12
audioencoder: Add gst_audio_encoder_set_output_format() function for consistency
2012-02-01 16:27:47 +01:00
Sebastian Dröge
dbd43c7dd3
audiodecoder: Rename set_outcaps() to set_output_format() and take a GstAudioInfo as parameter
2012-02-01 16:27:47 +01:00
George Kiagiadakis
1251fb3fc0
video: Use host endianness when generating caps for 16-bit rgb formats
...
This is necessary in order to match what the caps strings in
video.h contain for 16-bit rgb formats and also to match how
gst_video_format_parse_caps expects them.
https://bugzilla.gnome.org/show_bug.cgi?id=667681
2012-01-30 15:56:44 +00:00
Wim Taymans
fa400c372b
videopool: update for allocator api update
2012-01-30 13:10:40 +01:00
Olivier Crête
e391118125
Use macros to register boxed types thread safely
2012-01-28 14:53:21 +00:00
Olivier Crête
cb044668d3
rtcpbuffer: Set the map.size to the current size of the RTCP packet
...
maxsize is the maximum size
2012-01-27 19:01:55 +01:00
Olivier Crête
b993b8457d
rtpcbuffer: To write inside a RTCP buffer, you must be able to read
...
So always require read
2012-01-27 19:01:55 +01:00
Olivier Crête
6b559a50fb
rtcpbuffer: Return errors if the map mode doesn't match the actions
2012-01-27 19:01:55 +01:00
Olivier Crête
ab359d36d5
rtcpbuffer: Don't try to modify read-only buffers
2012-01-27 19:01:55 +01:00
Wim Taymans
30af2fe7d6
audiosrc: wait on the right cond variable
...
This broke with a merge commit
2012-01-27 18:27:26 +01:00
Wim Taymans
e2c50fbf0c
tagdemux: use default event handler for delayed events
2012-01-26 19:48:59 +01:00
Wim Taymans
e7575bc525
rtp: improve structures
...
Remove flags that is in the mapinfo now
2012-01-25 12:30:53 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Olivier Crête
1a592199e9
rtpbasepayload: Port to group-less GstBufferList
2012-01-25 11:55:02 +01:00
Sebastian Dröge
68c0790817
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/propertyprobe.c
sys/xvimage/xvimagesink.c
2012-01-25 11:50:54 +01:00
David Schleef
bd900a6c85
propertyprobe: fix documentation
2012-01-23 09:29:45 -08:00
Tim-Philipp Müller
ef75dd6e90
discoverer: use G_TYPE_ERROR instead of GST_TYPE_G_ERROR
2012-01-22 01:47:14 +00:00
Mark Nauwelaerts
2d3b3395cc
tag: exif: add missing break
2012-01-19 16:43:27 +01:00
Wim Taymans
d9ef75b799
rtcp: handle size update correctly
...
Do explicit resize to set the size of a buffer instead of setting a value in
unmap.
2012-01-19 15:20:01 +01:00
Wim Taymans
5be917d5bd
appsrc: handle NULL caps correctly
2012-01-19 15:18:58 +01:00
Wim Taymans
5872bcc33a
Update for memory API changes
2012-01-19 12:15:18 +01:00
Wim Taymans
3d42f0f6ed
port to new glib thread API
2012-01-19 11:36:17 +01:00
Tim-Philipp Müller
576bbb4fd8
Remove compatibility code cruft for old GLib versions
2012-01-18 17:22:21 +00:00
Mark Nauwelaerts
3e312e6e16
baseaudiosink: commit correct number of samples when not syncing
2012-01-17 21:46:58 +01:00
Sebastian Dröge
aed2666b53
rtsp: Port to GIO
2012-01-17 16:38:45 +01:00
Sebastian Dröge
cfa7083e94
sdp: Port to GIO for multicast address detection
2012-01-17 13:27:05 +01:00
Mark Nauwelaerts
974c678ec8
audiodecoder: register state change function
2012-01-17 11:53:51 +01:00
Matej Knopp
5c91ca3256
videopool: fix printf warning in debug message
...
https://bugzilla.gnome.org/show_bug.cgi?id=662607
2012-01-15 13:58:24 +00:00
Tim-Philipp Müller
e96aaec6bb
GST_TYPE_DATE -> G_TYPE_DATE
2012-01-12 23:35:44 +00:00
Tim-Philipp Müller
68785cc2e7
discoverer: fix up for GstTagList != GstStructure
2012-01-12 23:25:22 +00:00
Tim-Philipp Müller
0461ed2ada
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/pbutils/gstdiscoverer-types.c
gst-libs/gst/pbutils/gstdiscoverer.c
tests/check/Makefile.am
2012-01-12 23:21:17 +00:00
Vincent Penquerc'h
ab7e72ad70
discoverer: fix structure leak
...
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
2012-01-12 14:27:25 +00:00
Reynaldo H. Verdejo Pinochet
1a8ee4536c
Add missing DEFAULT_INCLUDES on androgenizer call
...
Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am
Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.
2012-01-11 21:04:40 -03:00
Vincent Penquerc'h
426f991b52
discoverer: fix leaks caused by some base class dtors not being called
2012-01-11 12:52:17 +00:00
Vincent Penquerc'h
96e40584ce
discoverer: fix caps and discoverer object ref leaks
2012-01-11 12:16:28 +00:00
Vincent Penquerc'h
9ab18d7a68
discoverer: add a few consts where appropriate
2012-01-11 11:55:59 +00:00
Vincent Penquerc'h
7ad6431837
discoverer: fix pad leak
2012-01-11 11:55:36 +00:00
Sebastian Dröge
de19cfdd8a
audio: More UNPOSITION flag sanity checks
...
..and turn the GST_WARNING() into a g_warning(). This is a programming
error and should be fixed.
2012-01-11 10:49:49 +01:00
Sebastian Dröge
a03f70e3cd
audio: Add validity check for the UNPOSITIONED audio flag
...
Also reset the flag when parsing caps.
2012-01-11 10:44:37 +01:00
Tim-Philipp Müller
b155e094ed
discoverer: use GST_TYPE_TAG_LIST for tag lists
...
They may not be structures in 0.11/1.0.
2012-01-10 18:29:22 +00:00
Tim-Philipp Müller
5f20af6ce5
discoverer: fix potential tag list leaks
...
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
2012-01-10 18:29:21 +00:00
Tim-Philipp Müller
b794f78d26
discoverer: fix potential caps leak
...
in last else chunk.
2012-01-10 18:29:21 +00:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Sebastian Dröge
05beab5382
audiometa: Improve GstAudioDownmixMeta to be actually usable
...
This now has a two-dimensional array of coefficients
as required and also stores the source and destination
channel positions.
2012-01-10 12:46:05 +01:00
Sebastian Dröge
67c8b0dfbd
audio: Don't crash if NULL positions are passed to gst_audio_info_set_format()
2012-01-10 12:02:56 +01:00
Sebastian Dröge
5cb3d75dbf
audiobasesink: Fix infinite recursion by chaining up to the correct parent class vfunc
2012-01-09 14:19:54 +01:00
Sebastian Dröge
bb3eb93ee9
audio: Don't check for channel positions in valid order when converting to a channel mask
2012-01-09 08:24:23 +01:00
Tim-Philipp Müller
9f042ae224
rtspconnection: make hostname lookup more thread-safe
...
Don't write IP number string to return into a static
array which is shared amongst all threads (note: of
course a copy is returned).
https://bugzilla.gnome.org/show_bug.cgi?id=666711
2012-01-07 20:16:41 +00:00
Tim-Philipp Müller
1031fedaf0
discoverer: make is_subtitle_caps thread-safe
2012-01-07 19:39:42 +00:00
Edward Hervey
82da418201
audio: Fix size check
...
We fail (and return) if the size is *NOT* a multiple of samples.
2012-01-06 15:14:59 +01:00
Vincent Penquerc'h
5cf87eedc4
video: overlays may now have premultiplied alpha
...
https://bugzilla.gnome.org/show_bug.cgi?id=666177
2012-01-06 10:19:19 +00:00
Havard Graff
95be60de15
Fix various unlikely, but still potential memoryleaks in error code paths
...
https://bugzilla.gnome.org/show_bug.cgi?id=667311
2012-01-05 13:27:23 +00:00
Havard Graff
b11d516c46
appsrc: implement get_caps vfunc
...
This allows downstream elements to query what caps are available.
https://bugzilla.gnome.org/show_bug.cgi?id=667312
2012-01-05 13:12:33 +00:00
Wim Taymans
dd43d0697e
audio: expose API to convert channel array to a mask
2012-01-05 13:59:32 +01:00
Wim Taymans
1317811af6
riff: don't use NULL arrays
2012-01-05 12:31:51 +01:00
Pascal Buhler
0febae7443
rtcpbuffer: prevent overflow of 16bit header length.
...
RTCP header can be (2^16 + 1) * 4 bytes long, so when validating a bogus
packet it was possible to get a 16bit overflow resulting in a length of 0.
This would put the gst_rtcp_buffer_validate_data function in a endless loop.
https://bugzilla.gnome.org/show_bug.cgi?id=667313
2012-01-05 11:12:25 +00:00
Sebastian Dröge
9e072ea844
audio: Improve/fix handling of NONE layouts
2012-01-05 10:34:25 +01:00
Sebastian Dröge
8dcea5d498
audio: Add support again for more than 64 channels with NONE layouts
2012-01-05 10:34:25 +01:00
Sebastian Dröge
31c9f7d09a
audio: Fix GST_AUDIO_CHANNEL_POSITION_MASK macro
2012-01-05 10:34:25 +01:00
Sebastian Dröge
c52b50a517
riff: Return a channel reorder map for raw audio when creating the caps
2012-01-05 10:34:25 +01:00
Sebastian Dröge
7cd0659032
riff: Add the layout field to the raw audio caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
9d56bf7712
audioencoder: Proxy the channel mask field instead of the old channel-layout field
2012-01-05 10:34:24 +01:00
Sebastian Dröge
8fe5dc53e0
audiocdsrc: Add the layout field to the caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
810bfec656
audio: Add "layout" field to the raw audio caps
...
This can be used to differentiate between interleaved
and non-interleaved audio and whatever comes in the future.
2012-01-05 10:34:24 +01:00
Sebastian Dröge
e2c6b8ec4d
audio: Add function to reorder channel positions from any order to the GStreamer order
2012-01-05 10:34:24 +01:00
Sebastian Dröge
bd40936409
audioringbuffer: Use new function to get a channel reordering map
2012-01-05 10:34:24 +01:00
Sebastian Dröge
9e930a1ade
audio: Add documentation for the new functions
2012-01-05 10:34:24 +01:00
Sebastian Dröge
c9c12372a5
audio: Add public functions to check channel positions validity and to get a reorder map
2012-01-05 10:34:24 +01:00
Sebastian Dröge
ee80a97a2a
riff: Port to the new multichannel caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
225238a913
audioringbuffer: Add support for reordering of channels
2012-01-05 10:34:16 +01:00
Sebastian Dröge
c227f5e77e
audio: Add new channel positions and simplify channel expression in the caps
...
The available channel positions are all channels from SMPTE 2036-2-2008
(in that order) and DTS Coherent Acoustics, which are basically all 28
channels that currently can appear.
The channels are now expressed in the caps as a channel-mask, which
describes which of the channels are present, and an optional
channel-reorder-map, which must only be used after negotiation for
fixated caps.
For negotiation only the channel-mask and the channel count is relevant
and all elements are expected to handle all reorder maps. Elements that
don't can use the new API to reorder an audio buffer from any order to
another order.
This simplifies negotiation a lot while still having as few reorderings
necassary as possible and still allow all kinds of channel layouts.
2012-01-05 10:27:21 +01:00
Philip Flarsheim
08af765ea2
docs: add win32 code snippets to GstXOverlay Gtk+ example
2012-01-05 01:54:29 +00:00
Wim Taymans
21ed12739e
video: add macro to check interlaced
...
Add a convenience macro to check if the video is interlaced.
2012-01-03 10:41:51 +01:00
Wim Taymans
2f3cf3a7ee
videofilter: use caps of the allocation query
...
Use the caps from the allocation query to propose a video bufferpool instead of
our own negotiated caps.
2012-01-02 16:13:51 +01:00
Wim Taymans
e9eaf17eae
audioencoder: turn assert into a real error
...
Post a real error instead of just asserting. Fixes a unit test.
2012-01-02 15:42:39 +01:00
Tim-Philipp Müller
26e612aeda
playback, mixerutils: gst_registry_get_default() -> gst_registry_get()
2012-01-02 14:32:11 +00:00
Wim Taymans
ed6fd4eb2f
audio: add flag for unpositioned layout
...
Check if thr layout is explicitly unpositioned and set a flag in the
audio info structure.
2012-01-02 15:01:58 +01:00
Wim Taymans
21bf4f04f3
video: fix some video formats
...
Rename the offset field in GstVideoFormatInfo to poffset to avoid confusion with
the offset of the plane in the buffer. The poffset is the offset in the plane
where the first byte of the component data can be found.
Properly implement the COMP_OFFSET calculations.
Fix YV12 and YVU9, simply use the same offsets as the regular I420 and YUV9
variants, we use the plane info to reorder components already.
Improve the unit test.
2012-01-02 13:30:53 +01:00
Tim-Philipp Müller
76cc8b8f2a
tag: add function to check whether a string is a valid language code
...
API: gst_tag_check_language_code()
2012-01-02 01:04:00 +00:00
Tim-Philipp Müller
c3e6e23b85
audio, rtsp: remove private/protected gtk-doc markup for enums
...
This confuses glib-mkenums, and is not really useful anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=666618
2012-01-02 00:19:57 +00:00
Tim-Philipp Müller
942fec2031
video: add some padding to GstVideoFilter
2011-12-30 19:27:16 +00:00
Tim-Philipp Müller
d877ef13f5
docs: make gtk-doc happier
2011-12-30 19:24:09 +00:00
Tim-Philipp Müller
62e5a67376
audiocdsrc: remove some probing-related vfuncs
...
GstPropertyProbe was removed, so these aren't actually used
and we probably want something different for the new API.
2011-12-30 16:26:47 +00:00
Tim-Philipp Müller
6a85353a92
audiocdsrc: update for GstIndex removal
2011-12-30 16:18:39 +00:00
Tim-Philipp Müller
31890ef59b
audiocdsrc: make private bits private
2011-12-30 16:12:30 +00:00
Edward Hervey
f562a29284
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
gst-libs/gst/tag/gstexiftag.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/playback/gstdecodebin2.c
gst/playback/gstsubtitleoverlay.c
tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Edward Hervey
5f7e15fd6c
pbutils/descriptions: Handle "video/x-raw" without specified format
...
Without having it raise an assertion, which is valid when asking for
the description of the format.
2011-12-28 16:34:56 +01:00
Wim Taymans
8d93f8edb3
videopool: add support for custom allocators
2011-12-28 15:35:52 +01:00
Tim-Philipp Müller
3dfdd6be9d
audioringbuffer: rename GST_BUFTYPE_* to GST_AUDIO_RING_BUFFER_FORMAT_TYPE_*
...
Bit unwieldy, but more appropriate. Could also be moved into
audio.h as GstAudioFormatType.
2011-12-25 21:38:21 +00:00
Tim-Philipp Müller
80095caa40
audioringbuffer: remove unused GstAudioRingBufferSegState enum and field
2011-12-25 21:23:11 +00:00
Tim-Philipp Müller
dfa23662e1
tag: fix writing of Exif tag payloads <= 4 bytes
...
When the payload for an Exif tag is less than or equal to 4 bytes,
the data is simply put into the offset field. Fix writing these
kinds of payloads on big endian systems (and possibly also on
little endian systems). The caller will have already formatted
the bytes in memory according to the writer's endianness, so just
write out the bytes as they are in this case. Fixes tags unit test
on big endian systems.
2011-12-23 22:24:44 +00:00
Mark Nauwelaerts
e3c78ff661
audioencoder: add a few more debug statements
2011-12-22 16:58:37 +01:00
Mark Nauwelaerts
9bfa65b7d3
audiodecoder: tweak documentation
2011-12-22 16:58:34 +01:00
Thiago Santos
77353dad21
tag: xmp: Keep compatibility with our old generated xmp
...
We used to add a trailing \n to the end of generated xmp packets.
Windows viewer was unhappy with it and we fixed it in
96d2120c2b
The problem is that this caused xmp generated before this fix
to not be recognized and parsed anymore. This patch makes it
recognize xmp with the trailing \n and without, fixing the
regression. Also adds tests for it.
2011-12-22 08:12:28 -03:00
Wim Taymans
a5f3d21723
videofilter: improve video filter
...
Flesh out the video filter base class. Make it parse the input and output caps
and turn them into GstVideoInfo. Map buffers as video frames and pass them to
the transform functions.
This allows us to also implement the propose and decide_allocation vmethods.
Implement the transform size method as well.
Update subclasses with the new improvements.
2011-12-21 23:46:53 +01:00
Wim Taymans
f50573fd66
videopool: add videopool implementation
...
Add a GstVideoPool object that can be used to allocate video frames with support
for metadata and alignment.
Add method to reset alignment info.
2011-12-21 18:13:17 +01:00
Wim Taymans
ddc05e0ed1
propertyprobe: remove propertyprobe
...
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Vincent Penquerc'h
ceeff69bc1
gstvideo: fix a RGB ordering mixup in colorspace conversion code
2011-12-20 19:55:53 +00:00
Sebastian Dröge
2760dd2068
audiobasesrc: Use guint8 instead of guchar
2011-12-20 14:36:28 +01:00
Sebastian Dröge
338622fe7e
audioringbuffer: Use guint8 instead of guchar
2011-12-20 14:36:28 +01:00
Mark Nauwelaerts
c41f3cbef0
audiodecoder: set a non-zero default maximum tolerated errors
...
Whereas the previous default 0 was backwards compatible in that it lead
to erroring out immediately upon any error, elements that are really
ported and using the base class error macro can be assumed to intend to
improve behaviour rather than maintaining the old one. So, make it easy
on those and any future one and tolerate some errors by default, as intended.
Fixes #666579 .
2011-12-20 12:50:18 +01:00