Commit graph

266 commits

Author SHA1 Message Date
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
Josep Torra
40c2d3c088 textrender: push segment event after caps event
Fixes warning "Sticky event misordering, got 'segment' before 'caps'".
2014-04-11 10:43:39 +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
f9befdecfe textrender: actually fixate output caps when fixating output caps 2013-05-02 23:41:02 +01:00
Sebastian Dröge
948a4a3632 gst: Add better support for static plugins 2013-04-15 15:52:58 +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
3c1041d5eb Revert "gst: Add better support for static plugins"
This reverts commit d2d79e3bc2,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
d2d79e3bc2 gst: Add better support for static plugins 2012-10-24 12:10:44 +02: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