Commit graph

2371 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Edward Hervey
59918e841f Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:28:15 +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
Stefan Sauer
0cb4ccb1f0 interfaces: fix ABI class padding after the recent changes 2012-02-24 21:37:00 +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
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
David Schleef
0b3f956277 riff: Add v210, r210 formats 2012-02-18 17:38:05 -08: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
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
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
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
David Schleef
bd900a6c85 propertyprobe: fix documentation 2012-01-23 09:29:45 -08:00
Mark Nauwelaerts
2d3b3395cc tag: exif: add missing break 2012-01-19 16:43:27 +01:00
Mark Nauwelaerts
3e312e6e16 baseaudiosink: commit correct number of samples when not syncing 2012-01-17 21:46:58 +01:00
Mark Nauwelaerts
974c678ec8 audiodecoder: register state change function 2012-01-17 11:53:51 +01: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
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
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
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