Commit graph

44 commits

Author SHA1 Message Date
Sebastian Dröge
0dbe95a97d assrender: Protect libass structures from concurrent access from multiple threads
Fixes bug #608751.
2010-02-23 18:16:48 +01:00
Sebastian Dröge
e8e3192a6e assrender: If no codec data is set, still initialize the ass track 2010-02-16 22:22:39 +01:00
Grigori Goronzy
934c91682f assrender: instruct libass to use light autohinting
Fixes bug #608753.
2010-02-02 08:55:59 +01:00
Eric Appleman
febb13d26f assrender: Don't scan current working directory recursively for fonts
This can take a very long time and also libass will overwrite files
if there's an embedded font with the same filename as an existing file.

Fixes bug #575878 and #608706.
2010-02-02 08:53:53 +01:00
Sebastian Dröge
bb757ad0bb assrender: Improve debug output a bit and simplify code 2010-01-14 12:59:21 +01:00
Sebastian Dröge
d85be17a00 assrender: Make sure that the video buffer is writable before writing to it 2010-01-14 12:57:04 +01:00
Sebastian Dröge
544c9d0151 assrender: Implement srcpad query function to always forward to the video sinkpad 2009-12-09 10:00:04 +01:00
Sebastian Dröge
876cfb3d26 assrender: Proxy buffer allocation on video sinkpad to the srcpad
...and add getcaps function to the video sinkpad.
2009-12-09 10:00:04 +01:00
Sebastian Dröge
44aba00375 assrender: Implement srcpad event functions for seeking and correct event forwarding
Copied from textoverlay.
2009-12-09 10:00:04 +01:00
Sebastian Dröge
c3e42004d1 assrender: Add docs and integrate into the docs build system 2009-12-08 14:46:35 +01:00
Sebastian Dröge
d7e58ce0a9 assrender: For synchronizing the text, take the video running time of the next frame
This makes sure that libass already has all text buffers for the next frame
at the time when the next frame is processed. Without this text buffers
might be one frame late or not shown at all if they're only shown for a
single frame.
2009-12-08 14:06:23 +01:00
Sebastian Dröge
77d0ded9ed assrender: Fix I420 mode and enable it 2009-12-08 14:00:25 +01:00
Sebastian Dröge
5076cdc6f9 assrender: Fix compilation with older libass versions 2009-12-08 11:26:15 +01:00
Sebastian Dröge
925b57f7e9 assrender: Don't unref buffers twice 2009-12-07 18:35:40 +01:00
Sebastian Dröge
d06e9c40e6 assrender: Improve embedded font usage
For this add some new mimetypes and also check the filename extension.

Fixes bug #603938.
2009-12-07 18:31:24 +01:00
Sebastian Dröge
875811d7e7 assrender: Disable I420 support for now, it doesn't work reliable yet 2009-12-07 18:03:26 +01:00
Sebastian Dröge
098f39a42a assrender: Add support for I420 2009-12-07 18:00:29 +01:00
Sebastian Dröge
d8fc5de450 assrender: Optimize blit function and add support for all other non-alpha RGB formats
Also make sure to not write behind array bounds.
2009-12-07 17:10:34 +01:00
Sebastian Dröge
3e55a5ba7f assrender: Fix attachment tag handling and move it into a separate function
...to prevent code duplication.
2009-12-07 14:35:55 +01:00
Sebastian Dröge
2852ecbe12 assrender: Update text last stop after checking if timestamp/duration is valid 2009-12-07 14:26:46 +01:00
Sebastian Dröge
a009463d3f assrender: If an ASS track was allocated already only feed new codec_data to it instead of recreating 2009-12-07 14:23:22 +01:00
Sebastian Dröge
b502383f18 assrender: Lots of random cleanup and some minor memleak fixes 2009-12-07 14:05:22 +01:00
Sebastian Dröge
ebc1f45f38 assrender: Extract embedded fonts from the subtitle streams if requested 2009-12-07 13:40:56 +01:00
Sebastian Dröge
dc42da1bd4 assrender: Don't let libass print stuff on stderr but proxy the messages to the GStreamer debugging system 2009-12-07 13:28:22 +01:00
Sebastian Dröge
a95d960527 assrender: The text and video duration should only compared as running time too
The end times of the text and video buffers could be different than
their start running time + duration because of different rates.
2009-11-06 11:44:50 +01:00
Sebastian Dröge
229d50d309 assrender: Reset segments on FLUSH_STOP events 2009-11-06 07:13:10 +01:00
Sebastian Dröge
1cf221f4f4 assrender: Improve debugging 2009-11-06 07:13:10 +01:00
Sebastian Dröge
2d043ef744 assrender: Update last stop for the subtitles 2009-11-05 17:13:36 +01:00
Sebastian Dröge
51da9d976f assrender: Synchronize text and video by taking the running time instead of the stream time 2009-11-05 17:07:04 +01:00
Sebastian Dröge
8feed39593 assrender: Keep track of the subtitle segments 2009-11-05 17:07:04 +01:00
Sebastian Dröge
06a79e9263 assrender: If the video segment is not in TIME format don't accept it 2009-11-05 17:07:04 +01:00
Sebastian Dröge
1cd2b7dfc2 assrender: Drop too late text buffer immediately
Also improve debugging a bit and drop buffers without valid
timestamp or duration because we can't handle them.
2009-11-05 13:17:27 +01:00
Sebastian Dröge
c5ed836f2d assrender: Fix race condition that results in a deadlock on shutdown 2009-11-05 12:26:22 +01:00
Sebastian Dröge
4c625bd569 assrender: Return WRONG_STATE from the subtitle chain when flushing 2009-11-04 13:11:44 +01:00
Sebastian Dröge
e38fbc6795 assrender: Unlock and free any pending subtitle buffers on FLUSH_START 2009-11-04 13:07:27 +01:00
Sebastian Dröge
3b2ab1299c assrender: Synchronize subtitle buffers with the video
Fixes bug #600662.
2009-11-04 12:50:18 +01:00
Sebastian Dröge
3b32d37dd4 assrender/dvdspu: Increase ranks to PRIMARY 2009-10-09 13:18:31 +02:00
Sebastian Dröge
7f7ad5fad1 assrender: Make classification a bit more accurate
Change from "Filter/Effect/Video" to "Mixer/Video/Overlay/Subtitle"
2009-10-09 09:21:06 +02:00
Marc-André Lureau
90ae1ac35e assrender: Fix compilation with libass = 0.9.6
Fixes bug #594382.
2009-09-08 09:27:52 +02:00
Sebastian Dröge
55cdea8e7a assrender: Fix compilation with libass >= 0.9.7 and fix aspect ratio setting
Fixes bug #575261.
2009-08-31 09:11:34 +02:00
Sebastian Dröge
4a23c7e912 Random cleanup and smaller bugfixes
Use gst_element_klass_set_details_simple(), install properties
with static strings, create pads directly from the static pad
templates, directly put the segment into the instance struct,
use GST_MSECOND instead of numbers.

The PAR is a GstFraction and not a double, use gst_structure_get_fraction().

Simplify setcaps() functions.
2009-02-05 17:52:38 +01:00
Sebastian Dröge
aba72fcce9 Use GST_VIDEO_CAPS_RGB for the template caps 2009-02-05 17:52:38 +01:00
Sebastian Dröge
a0e06b965a Fix compiler warnings 2009-02-05 17:52:38 +01:00
Benjamin Schmitz
0bc20cb186 Add assrender plugin for rendering ASS/SSA subtitles
This element has the advantage over subparse's ASS/SSA
support that more features are supported, like fading,
by using libass. Fixes bug #481075.
2009-02-05 17:52:38 +01:00