Stefan Kost
9ac74c59db
textoverlay: use a class wide mutex to work around pango reentrance issues
...
Pango is not reentrant. Use a class wide mutex to protect pange use in
gst_text_overlay_render_pangocairo(). This works reliable in contrast to the
hack in my previous commit.
Fixes Bug #412678
2011-03-14 11:17:10 +02:00
Stefan Kost
3294ecda7d
Revert "textoverlay: add a hack to init the pango engine"
...
This reverts commit fee3266056
.
2011-03-14 11:17:10 +02:00
Stefan Kost
1d73ea887d
textoverlay: drop trailing whitespaces
2011-03-14 10:43:42 +02:00
Stefan Kost
fee3266056
textoverlay: add a hack to init the pango engine
...
Layout a single char to pre-create all resources.
2011-03-14 10:43:42 +02:00
Lane Brooks
876bf233fb
textoverlay: Add support for vertical center alignment
...
Fixes bug #639159 .
2011-01-24 19:39:59 +01:00
Tim-Philipp Müller
b6ae695174
textoverlay: make text property controllable too
...
Because we can, and because it's the most interesting one
to control really, after xpos/ypos.
2011-01-06 23:08:34 +00:00
Lane Brooks
e674178331
textoverlay: make some properties controllable
...
https://bugzilla.gnome.org/show_bug.cgi?id=638859
2011-01-06 23:02:23 +00:00
Vincent Penquerc'h
270bac8158
timeoverlay: add missing break
...
https://bugzilla.gnome.org/show_bug.cgi?id=637377
2010-12-16 11:41:02 +01:00
Sebastian Dröge
ca24ece36b
textoverlay: Add support for AYUV
2010-09-01 17:52:31 +02:00
Rob Clark
54f4aa28c2
textoverlay: fix Cb/Cr inversion for colored text overlays
...
In case of odd values for xpos or ypos, the division by two in CbCr
plane would result in an off-by-one error, which in the case of NV12,
NV21, or UYVY would cause inversion of blue and red colors. (And
would be not so easily noticed for I420 as it would just cause the
chroma to be offset slightly from the luma.)
This patch also fixes a silly typo from the earlier patch which
added NV12 support that broke UYVY support.
2010-08-30 22:53:26 +02:00
Sebastian Dröge
faebf174fb
textoverlay: Support NV21 too and minor cleanups
2010-08-24 10:12:53 +02:00
Chris Shoemaker
6bd90dc0cc
clockoverlay: only rerender text if time string has changed
...
The textoverlay element will rerender the text string whenever
overlay sets the 'need_render' flag to TRUE. Previously, we
lazily set the flag to TRUE every time the time string was requested.
Now, we save a copy of the previously given string, and only set
'need_render' to TRUE if the string has changed.
In my tests with a 30fps video stream, and a time string including
a seconds field, this change reduced the CPU usage of the clockoverlay
element from 60% to 5%.
Fixes bug #627780 .
2010-08-24 09:29:33 +02:00
Rob Clark
1b6918709c
textoverlay: add NV12 support
...
Fixes bug #627768 .
2010-08-24 09:25:55 +02:00
Mark Nauwelaerts
90a79b4c60
textoverlay: configurable text color and position
...
Rather than only left, right, top, etc, allow for horizontal and vertical
positioning on a scale from 0 to 1.
Also cater for configuring rendered text color.
Fixes #624920 .
API: GstTextOverlay:xpos
API: GstTextOverlay:ypos
API: GstTextOverlay:color
2010-08-09 09:49:12 +02:00
Benjamin Otte
1471df894a
Add -Wformat-nonliteral -Wformat-security
...
And fix the resulting compile failures.
I'm sorry about the patch necessary to gstclockoverlay.h but after
talking to Tim we decided we can live with it.
2010-03-17 12:09:25 +01:00
Olivier Crête
15fb8f9bf7
textoverlay: Ignore zero framerate
...
https://bugzilla.gnome.org/show_bug.cgi?id=606163
2010-01-06 07:49:27 +01:00
Sebastian Dröge
01ca87e785
textoverlay: Only flush downstream on seeks for flushing seeks
2009-12-09 09:47:30 +01:00
Sebastian Dröge
d5205bb0fa
textoverlay: Proxy buffer allocation on the video sinkpad to the srcpad
2009-12-09 09:36:26 +01:00
Sebastian Dröge
8393257732
Revert "textoverlay: First draw outline text and then the real text"
...
This reverts commit 60aa09d28c
.
First drawing the real text and then the outline produces ugly
text in lower resolutions. The outline line width needs to be somehow
changed relative to the resolution. Fixes bug #602924 .
2009-11-26 14:31:55 +01:00
Sebastian Dröge
45cefdefa6
textoverlay: Synchronize video/text based on the running time
...
Instead of simply using the buffer timestamps.
2009-11-06 12:11:21 +01:00
Sebastian Dröge
8ed8d5e414
textoverlay: Clip text buffers to the text segment and reset segments properly
2009-11-06 12:11:21 +01:00
Sebastian Dröge
d941a9f6a6
textoverlay: Put the video segment into the instance struct instead of allocating it separately
2009-11-06 12:11:20 +01:00
Sebastian Dröge
8692174b50
textoverlay: Check if text timestamp/duration is valid before clipping
2009-11-06 12:11:20 +01:00
Sebastian Dröge
60aa09d28c
textoverlay: First draw outline text and then the real text
...
Improves the output a bit because no parts of the outline are
overwritten again.
2009-11-03 08:26:37 +01:00
Sebastian Dröge
eb9acba08f
textoverlay: Optimize a bit more
...
...and add a FIXME for bug #598695 and explain
what we should do once Pango supports user fonts.
2009-10-22 10:17:31 +02:00
Sebastian Dröge
21ad7547a0
textoverlay: Do shading as first operation
2009-10-22 09:31:34 +02:00
Sebastian Dröge
eccd28d7b0
textoverlay: Only use a single cairo surface for drawing
...
... and comment/optimize what is going on here a bit better.
2009-10-22 09:08:48 +02:00
Tim-Philipp Müller
550b6fa0c1
pango: bump pango requirement to stable version and remove ifdefs
...
Bump pango requirement from an ancient development version to an
ancient stable version.
2009-10-18 13:42:01 +01:00
Sebastian Dröge
7c6c74e4a3
pango: Unpremultiply Cairo's ARGB to match GStreamers ARGB
2009-10-01 11:41:16 +02:00
David Schleef
0e9bc5125a
Remove Ronald Bultje from Authors field
...
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-08-24 11:37:01 -07:00
Edward Hervey
76044dce6d
ext: Remove dead assignments and resulting unused variables.
2009-08-08 15:54:41 +02:00
Sebastian Dröge
6776cb445e
textrender: Fix blitting of text over the output buffer and cairo painting
2009-08-06 20:47:33 +02:00
Sebastian Dröge
cc61c9e27e
textrender: Fix endianness problems (i.e. make it work again on big endian architectures)
2009-08-06 14:55:07 +02:00
Wim Taymans
caf3d8d480
textoverlay: make buffer writable
...
Make the input buffer writable before changing its contents.
2009-08-06 12:01:10 +02:00
Sebastian Dröge
8212924489
pango: Send queries from the srcpad directly to the video sinkpad
2009-08-06 06:43:39 +02:00
Sebastian Dröge
8c874a7ff3
pango: Add support for xRGB and BGRx formats
2009-08-06 06:43:38 +02:00
Sebastian Dröge
67954aeba3
pango: Fix endianness issues from the pangocairo switch
...
cairo's ARGB is in native endianness, i.e. ARGB on big endian architectures
and BGRA on little endian architectures.
2009-08-06 06:43:37 +02:00
Sebastian Dröge
18a5264c87
pango: Re-add shading support which was dropped by a previous patch
2009-08-06 06:43:37 +02:00
Sebastian Dröge
20b84cda60
pango: Check if pangocairo supports vertical rendering and fix properties
2009-08-06 06:43:37 +02:00
Sebastian Dröge
d3baacc32a
textrender: Use PROP_X instead of ARG_X consistently
2009-08-06 06:43:37 +02:00
Sebastian Dröge
8aa87c9153
pango: Some minor cleanup
2009-08-06 06:43:36 +02:00
Young-Ho Cha
7608c31516
pango: Use pango-cairo instead of pango-ft2
...
pango-cairo will always use the native font rendering backend
of the platform and provides better results.
Fixes bug #340887 .
2009-08-06 06:43:36 +02:00
Hans-Peter Nilsson
04e23f2d6a
pango: Call tzset() before localtime_r()
...
POSIX and your local friendly ctime(3) manual entry says that localtime_r isn't
required to set the state variables that define the current timezone. Indeed,
glibc (at least 2.9) doesn't do this for subsequent calls. The effect is that
if the system timezone is changed for a running program between two calls to
gst_clock_overlay_render_time, it won't be noticed. For glibc, changing the
timezone equals /etc/localtime being modified.
Fixes bug #587676 .
2009-07-05 18:01:38 +02:00
Sebastian Dröge
1d4ba53259
textrender: Correctly initialize the background for ARGB too
2009-05-12 09:03:24 +02:00
Sebastian Dröge
204c327b23
textrender: Use libgstvideo functions to create caps
...
Also check if downstream wants ARGB always when we get
new caps.
2009-05-12 09:03:23 +02:00
Sebastian Dröge
4f5502a896
textrender: Don't always use ARGB if downstream supports it but take it's preference
2009-05-12 09:03:23 +02:00
Kapil Agrawal
2ddf7c8e13
textrender: Add support for ARGB and alignment properties
...
Fixes bug #581571 .
2009-05-12 09:03:23 +02:00
Sebastian Dröge
ce95857718
textrender: Add ; after GST_BOILERPLATE to fix indention
2009-05-12 09:03:23 +02:00
Sebastian Dröge
f1bc9e97aa
textoverlay: Fix drawing of UYVY text borders
2009-03-26 11:02:41 +01:00
Zeeshan Ali
e54e10ad19
textoverlay: Add support for UYVY colorspace
...
Fixes bug #378094 .
2009-03-26 10:36:27 +01:00