Arnaud Vrac
76ce112994
basetextoverlay: schedule reconfigure on source pad when negotiation fails
...
The source pad might be flushing while negotiating, resulting in
set_caps or the ALLOCATION query failing. In this case set the
reconfigure flag on the source pad so that negotiation is retried on the
next buffer.
2014-09-05 11:08:49 +03:00
Arnaud Vrac
ef5823cc9b
basetextoverlay: just forward the seek event to sink pads like other events
...
https://bugzilla.gnome.org/show_bug.cgi?id=735844
2014-09-05 11:08:04 +03:00
Nicola Murino
501a295fa1
basetextoverlay: remove unneeded cairo transparence setting
...
he code here:
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/pango/gstbasetextoverlay.c#n1554
should make transparent the box that contains the text, I think this code is
not correct, it should be:
if (overlay->want_shading) {
double alpha = overlay->shading_value / 255.0;
cairo_paint_with_alpha (cr, alpha);
}
however I think this code could be removed, we already do a shaded background,
why shade the box behind the text with cairo too? only one shading is needed so
we must shade with cairo or with methods like these:
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/pango/gstbasetextoverlay.c#n1642
not both
https://bugzilla.gnome.org/show_bug.cgi?id=736028
2014-09-04 14:13:55 +03:00
Nicola Murino
ad16f15ee4
basetextoverlay: Make shading_value a property
...
https://bugzilla.gnome.org/show_bug.cgi?id=735879
2014-09-04 11:17:55 +03:00
Thiago Santos
a65b307349
basetextoverlay: properly fallback to non-overlay caps
...
When downstream claims to accept the overlay meta but fails to
provide it in the allocation query, properly fallback to setting
a new caps without the overlay meta as that is not going to be used.
Only do this if the original caps doesn't have the overlay already,
otherwise there isn't much that can be done.
https://bugzilla.gnome.org/show_bug.cgi?id=735800
2014-09-01 15:23:09 -03:00
Sebastian Dröge
e783a366cb
textoverlay: Don't hold any mutexes while calling negotiate
...
It's not done in any other code calling negotiate and will cause deadlocks
as it is sending events and queries in the pipeline.
Specifically this pipeline was deadlocking:
gst-launch-1.0 videotestsrc ! textoverlay ! textoverlay ! fakesink
2014-09-01 12:28:24 +03:00
Tim-Philipp Müller
5fc94da399
textoverlay: remove code that can't be reached
...
If this code could ever be reached, it would leak
memory (CID 1231978), but gst_caps_get_features()
never returns NULL, so that can't happen.
2014-08-29 19:18:55 +01:00
Thiago Santos
6bf3356967
basetextoverlay: fix caps negotiation filter
2014-08-13 11:22:52 -03:00
Thiago Santos
a080c0ebbf
basetextoverlay: rework caps negotiation
...
Make textoverlay negotiate caps more correctly.
1) Check what caps we received in the video-sink
2) If it already has the overlay meta -> use it directly
3) If it doesn't, textoverlay try adding the overlay meta and using it,
if downstream doesn't support it, just use what is received in the
video-sink
4) Check if the allocation query also supports the meta to enable
really using it
Before it wasn't really doing renegotiation of any kind, just
re-checking if it should use the overlay meta or not
Also had to update the caps in the test as memory:SystemMemory seems
to be required when you use a caps feature otherwise intersection/subset
checks will fail.
https://bugzilla.gnome.org/show_bug.cgi?id=733916
2014-08-11 11:40:44 -03:00
Thiago Santos
c20e044ef0
basetextoverlay: always intersect with the filter caps
...
Avoids returning values that upstream can't produce
https://bugzilla.gnome.org/show_bug.cgi?id=733916
2014-08-11 10:30:58 -03:00
Thibault Saunier
7f9aac386f
pango: Do not try to add a feature to a caps features ANY
...
It does not makes sense and asserts
2014-05-11 00:12:30 +02:00
Sebastian Dröge
3e2a693ca9
pango: Make static caps actually static to fix a memory leak
2014-04-15 13:57:08 +02:00
Adrien Schwartzentruber
a9d98c57a4
pango: demote debug WARNING to LOG for variable framerate video input
...
No need why we need to warn about that, it's perfectly allowed.
https://bugzilla.gnome.org/show_bug.cgi?id=725837
2014-03-06 17:51:11 +00:00
Matthieu Bouron
ed8e7d4275
pango: basetextoverlay: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API
...
https://bugzilla.gnome.org/show_bug.cgi?id=721953
2014-03-05 20:38:53 +01:00
Thiago Santos
ec7724c095
basetextoverlay: use correct segment for text
...
video time uses the 'segment' and the text time should use
the 'text_segment'.
If different segments are used for video and text it would
lead to out of sync video/subtitles.
2014-02-07 02:14:52 -03:00
Tim-Philipp Müller
448c006b02
textoverlay: don't leak GAP events
2014-01-10 11:17:04 +00:00
Tim-Philipp Müller
b1ff48c1a1
docs: remove old 0.10 Since markers
...
They're just confusing.
2013-11-16 16:10:07 +00:00
Edward Hervey
9dd0e6cccc
ext/gst: Ensure default query/event handlers are used
...
And in some cases, just remove our implementation that does nothing
2013-07-26 16:08:35 +02:00
Tim-Philipp Müller
8e4934820f
pango: use new GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS define
...
https://bugzilla.gnome.org/show_bug.cgi?id=665751
2013-02-19 12:54:40 +00:00
Jan Schmidt
fb102419c7
pango: 3rd time's the charm. Fix attribute list handling.
...
Really really fix attribute list handling by taking a
copy of the original attributes that pango_attr_list_filter
can mutate, but keep the original around intact to restore
later.
2013-02-08 00:05:24 +11:00
Jan Schmidt
bc42d382e2
pango: Don't modify the original attributes list.
...
Take a copy of the original attributes list instead of just
a ref, since pango_attr_list_filter can remove elements from it.
2013-02-07 23:45:26 +11:00
Jan Schmidt
2528baf2c2
pango: Remove extra pango_attr_list_copy() from basetextoverlay
...
Fixes a per-buffer memory leak of the attribute list.
2013-02-07 23:06:57 +11:00
Tim-Philipp Müller
76c0cca765
textoverlay: minor clean-up
...
Remove some macros that aren't needed any more.
2012-12-22 21:19:51 +00:00
Tim-Philipp Müller
df8e7f14a8
textoverlay: support shaded background for A420 format
...
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-12-22 21:18:11 +00:00
Tim-Philipp Müller
ba255fbac6
textoverlay: implement background shading for IYU1
...
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-11-07 13:59:53 +00:00
Tim-Philipp Müller
bd578c1dd4
textoverlay: also draw shaded backgrounds for RGB and BGR
...
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-11-07 13:25:13 +00:00
Tim-Philipp Müller
caad241432
textoverlay: we can do YVU9 as well
2012-11-07 11:36:42 +00:00
Tim-Philipp Müller
16350b7d66
textoverlay: don't advertise 10-16-bit formats we can't blend text onto yet
...
We can't blend stuff on top of video formats that unpack into
ARGB64 or AYUV64 yet, so don't advertise them in our template caps.
2012-11-07 11:32:50 +00:00
Tim-Philipp Müller
e3bb068392
textoverlay: fix up names of old gray formats
...
Y800 -> GRAY8, Y16 -> GRAY16_{LE,BE}
2012-11-07 09:46:50 +00:00
Tim-Philipp Müller
74343165e1
textoverlay: draw shaded background for some more video formats
...
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-11-07 09:41:13 +00:00
Tim-Philipp Müller
bedbfd0091
textoverlay: clamp shaded background box coordinates in one place
2012-11-07 09:41:13 +00:00
Tim-Philipp Müller
4aace8e0eb
textoverlay: move background shading into separate function
2012-11-07 09:41:13 +00:00
Tim-Philipp Müller
a53f0f382e
textoverlay: don't abort if we don't know how to paint shaded background for a format
...
It's not a very nice thing to do.
https://bugzilla.gnome.org/show_bug.cgi?id=687666
2012-11-06 23:44:01 +00:00
Sreerenj Balachandran
6cbcca0bc5
textoverlay: forward allocation queries on video sink pad instead of discarding them
...
This allows the upstream elements to use the allocation parameters
or pools from the downstream elements like videosink.
https://bugzilla.gnome.org/show_bug.cgi?id=687459
2012-11-05 13:27:56 +00:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Tim-Philipp Müller
3138c4e696
pango: avoid unnecessary pango attribute list copy
...
We just want to keep it alive, not modify it, so a
simple ref should be enough.
https://bugzilla.gnome.org/show_bug.cgi?id=686841
2012-10-25 17:16:58 +01:00
Jihyun Cho
2e0174e13c
pango: delete foreground color in shadow text
...
This makes colored text have gray drop shadows
instead of colored ones, which looks much better.
https://bugzilla.gnome.org/show_bug.cgi?id=686841
2012-10-25 17:16:58 +01:00
Sebastian Dröge
c4fb8d1e69
basetextoverlay: Correctly handle empty text buffers
2012-09-27 12:41:28 +02:00
Sebastian Dröge
b19944d1e4
gst: Update for link/unlink function API change
2012-09-17 13:24:52 +02:00
Mark Nauwelaerts
36e78af5bf
pango: add missing break
2012-09-05 15:14:05 +02:00
Mark Nauwelaerts
b3545604c0
pango: handle GAP event to update text position
2012-09-05 12:02:32 +02:00
Tim-Philipp Müller
7c2e7b1a4f
text/plain + text/x-pango-markup -> text/x-raw
2012-09-02 02:45:41 +01:00
Mark Nauwelaerts
8db0cc4350
pango: adjust to modified video overlay composition API
2012-08-30 12:12:39 +02:00
Tim-Philipp Müller
96faac2891
pango: fix bad unref and crashes with multiple text overlays
...
gst_element_class_get_pad_template() does not return a ref,
so we mustn't unref the template returned. Fixes crashes
when switching back and forth between different types of
subtitle streams.
2012-08-21 22:51:38 +01:00
Mark Nauwelaerts
3ecad525b7
pango: adjust to modified video overlay composition API
2012-07-17 18:08:11 +02:00
Tim-Philipp Müller
a654ba5b85
pango: remove deprecated valign and halign properties
...
Replaced by valignment and halignment (enum-based now rather than strings).
2012-07-06 12:34:46 +01:00
Wim Taymans
177fd005ab
update for query api changes
2012-07-06 11:23:48 +02:00
Mark Nauwelaerts
4761e6d6ab
pango: query downstream for video overlay composition meta support
2012-07-03 14:35:25 +02:00
Mark Nauwelaerts
aa6295744b
pango: adjust to modified overlay composition API
2012-07-03 14:35:25 +02:00
Tim-Philipp Müller
1396f804be
pango: only map video buffer memory if actually needed
...
No need to map the video buffer if we're just going to attach
the meta; but if we map, we should do so in READWRITE mode.
2012-07-02 19:23:47 +01:00
Tim-Philipp Müller
52056653be
pango: pass pre-multiplied alpha to overlay composition directly
...
We now support pre-multiplied alpha in the overlay composition API,
and can avoid multiple conversions if the the overlay also supports
pre-multiplied alpha. We should probably also have mapped the
buffer as READWRITE when unpremultiplying.
2012-07-02 19:23:04 +01:00
Tim-Philipp Müller
c09512ee99
pango: remove support for video/x-surface again which is 0.10 stuff
...
This needs to be done and can be done differently/properly in 0.11.
2012-06-28 23:15:34 +01:00
Mark Nauwelaerts
0325a3bdae
pango: use ported GstVideoOverlayComposition functionality
...
Based on commits by Thibault Saunier <thibault.saunier@collabora.co.uk>
2012-06-28 18:16:25 +02:00
Sebastian Dröge
233622437f
elements: Use gst_pad_set_caps() instead of manual event fiddling
2012-06-08 15:51:06 +02:00
Andre Moreira Magalhaes (andrunko)
bac5fd4c6a
textoverlay: Use an external lock
...
Conflicts:
ext/pango/gsttextoverlay.c
ext/pango/gsttextoverlay.h
2012-05-29 11:53:08 +02:00
Sebastian Dröge
ad42b16375
gst: Update for GST_PLUGIN_DEFINE() API change
2012-04-05 15:11:05 +02:00
Mark Nauwelaerts
68300bde0b
pango: plug rare buffer leak
2012-04-03 18:31:27 +02:00
Wim Taymans
897e8730e8
testoverlay: fix object and caps leak
2012-03-27 15:44:14 +02:00
Tim-Philipp Müller
0b17c3747a
pango: re-port pangocairo deprecation and compiler warning fixes from 0.10
...
Wasn't applied because that code is in the new private base class.
2012-03-08 20:54:49 +00:00
Wim Taymans
a75e9102c5
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 15:17:49 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Tim-Philipp Müller
fa0464cd7a
pango: port to new GLib threading API
2012-01-18 17:21:02 +00:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25:17 +01:00
Wim Taymans
026ec68f75
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Stefan Sauer
0019bcaa47
controller: port to new location and api changes
2011-11-04 20:14:54 +01:00
Wim Taymans
f1088ed647
update for UNEXPECTED -> EOS flowreturn
2011-10-10 11:39:52 +02:00
Edward Hervey
17bfba09f1
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggdemux.c
ext/pango/gsttextoverlay.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudiosrc.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Wim Taymans
ddce68a5c2
video: More video helper library improvements
...
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Wim Taymans
6d9e76f2de
video: remove intermediate Plane structure
...
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
2011-06-20 11:25:58 +02:00
Wim Taymans
d93129d8da
-base: port to GstVideoFrame API
2011-06-17 15:41:31 +02:00
Wim Taymans
d06f599193
-base: port elements to new video caps
2011-06-16 12:52:13 +02:00
Wim Taymans
2940249a84
-base: use caps event
...
Remove uses of setcaps function and use the caps event.
2011-06-07 11:55:36 +02:00
Sebastian Dröge
bf08ca7020
Merge branch 'master' into 0.11
2011-05-26 13:54:09 +02:00
Sebastian Dröge
884213b8b8
base: Update for SEGMENT event parse API changes
2011-05-18 17:23:18 +02:00
Sebastian Dröge
c255019b90
ext: Update for caps/pad template related API changes
2011-05-17 13:06:01 +02:00
Sebastian Dröge
318ed07598
Revert "-base_port to new query API"
...
This reverts commit c9f4e0676b
.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
362a025a6b
textoverlay: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Wim Taymans
94dfe80f71
-base: port to new SEGMENT API
2011-05-16 13:48:11 +02:00
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Wim Taymans
816f4e791d
segment: fix for new core API
...
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Wim Taymans
86a4771f8e
remove buffer_alloc
2011-04-29 13:28:17 +02:00
Sebastian Dröge
353186aec8
ext: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 14:22:42 +02:00
Sebastian Dröge
0759ce8533
Merge branch 'master' into 0.11
2011-04-18 13:23:32 +02:00
Sebastian Dröge
92d10cbb8c
pango: Create a new base class for all the elements
...
This prevents the ugly hack where the text_sink pad template
was only added for textoverlay but not for the subclasses.
Also makes this work with the core change that made
subclasses inherit the templates of their parent class.
2011-04-16 15:56:55 +02:00