Commit graph

101 commits

Author SHA1 Message Date
Benjamin Otte
5e21fa5e0e gst_element_class_set_details => gst_element_class_set_details_simple
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
Sebastian Dröge
a6ffa3fbb5 subparse: Correctly escape brackets in DKS regex
Fixes bug #612783.
2010-03-15 14:10:09 +01:00
Stefan Kost
70649da6ce build: add missing includes for sprintf and atoi 2009-12-02 23:27:55 +02:00
Thiago Santos
1acdf3eb78 subparse: Add support for some tags of qttext
Currently supporting timescale, timestamps, font, size,
textColor, backColor, plain, bold and italic

Fixes #603357
2009-12-01 17:56:59 -03:00
Thiago Santos
cdcc28c833 subparse: add qttext support
Adds basic support for qttext subtitles, still lacks markup tags
to make it prettier, but the plain text already works.

Implemented according to:
http://www.apple.com/quicktime/tutorials/texttracks.html
http://www.apple.com/quicktime/tutorials/textdescriptors.html

Fixes #603357
2009-12-01 14:06:27 -03:00
Thiago Santos
c4b86b37fb subparse: conditionally cleanup sami context
Only cleanup sami context if we are parsing sami subtitles,
otherwise we might have crashes.
2009-12-01 13:32:33 -03:00
Thiago Santos
12db385ada subparse: Add missing caps to sink caps template
Some caps were missing from the sink caps template when
xml was disabled
2009-12-01 13:32:33 -03:00
Sebastian Dröge
7a7950f969 subparse: Use new double->fraction transformation function from core 2009-11-16 09:59:02 +01:00
Sebastian Dröge
528be22031 subparse: Make fps a GstFraction typed property and use it properly 2009-11-12 13:20:41 +01:00
Iago Toral
b2c65c9efd subparse: Add property for the video framerate 2009-11-12 13:20:41 +01:00
Tim-Philipp Müller
6f4c1ac583 Remove GST_DEBUG_FUNCPTR where they're pointless
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2009-10-28 00:59:35 +00:00
Iago Toral
f63643bd54 subparse: Add support for DKS subtitle format
Fixes bug #598936.
2009-10-22 10:02:11 +02:00
Stefan Kost
ccf5d6551a build: sprintf, sscanf need stdio.h 2009-10-07 11:56:35 +03:00
Tim-Philipp Müller
889c318798 subparse: GstAdapter is not a GstObject and should be freed with g_object_unref 2009-09-01 15:16:17 +01:00
Руслан Ижбулатов
5d96fd4bf1 subparse: Remove dependency on regex.h as it's not used anyway
Fixes bug #592544.
2009-08-26 09:10:17 +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
Sebastian Dröge
88a55e6dae subparse: Allow . instead of , as millisecond delimiter in srt subtitles
Fixes bug #591207.
2009-08-09 12:13:16 +02:00
Sebastian Dröge
060f9c07e5 subparse: Implement POSITION query 2009-08-06 06:43:38 +02:00
Sebastian Dröge
7e119e46e5 subparse: Implement SEEKING query 2009-08-06 06:43:38 +02:00
Wim Taymans
c933933f09 ssaparse: avoid leaking all buffers 2009-06-23 12:40:56 +02:00
Tim-Philipp Müller
9ca2bf36de subparse, ogmparse: post tags with GST_TAG_SUBTITLE_CODEC
Make subtitle parsers post a taglist with codec tags, so the application
knows what kind of subtitle a subtitle stream is. Fixes #576552.
2009-06-11 22:32:28 +01:00
Tim-Philipp Müller
40bea96ff6 subparse: recognise more subrip timestamp variants
Be even less restrictive in what we accept for .srt timestamps when
typefinding and parsing subrip subtitles and add a unit test for
the 'new' format. Fixes #585197.
2009-06-10 14:41:41 +01:00
Stefan Kost
2723c7e4f3 subparse: use the right variable in debug log, encoding is not yet initialized 2009-03-05 10:58:12 +02:00
LRN
db596d27a2 subparse: Convert regex code to GRegex code
Fixes: #572993.  Patch author prefers to use an alias, contact
ds if you actually need a real name.

Signed-off-by: David Schleef <ds@schleef.org>
2009-03-02 11:47:39 -08:00
Stefan Kost
46833b9bc7 subparse: don't leak line, if flushing 2009-02-26 18:01:05 +02:00
Edward Hervey
7a83664099 gst/subparse/samiparse.c: Some versions of libxml seem to be very picky as to strict formatting of the input and neve...
Original commit message from CVS:
* gst/subparse/samiparse.c: (sami_context_push_state),
(sami_context_pop_state), (start_sami_element), (end_sami_element):
Some versions of libxml seem to be very picky as to strict formatting
of the input and never 'close' the final </body> tag.
In order to fix that bad behaviour, we trigger the flushing of
remaining data on both </body> and </sami>.
Fixes #557365
2008-12-11 15:49:12 +00:00
Stefan Kost
2cd4c7e2b9 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2008-10-16 15:07:00 +00:00
Sebastian Dröge
e86d1dd432 gst/subparse/gstsubparse.c: Improve typefinding a bit. If we don't have a Unicode charset try GST_SUBTITLE_ENCODING a...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (gst_subparse_type_find):
Improve typefinding a bit. If we don't have a Unicode charset
try GST_SUBTITLE_ENCODING and otherwise try ISO-8859-15.
2008-10-15 11:25:09 +00:00
Sebastian Dröge
e7b42af896 gst/subparse/: Add support for UTF16/UTF32 subtitles as long as the first bytes of the first buffer contain the BOM. ...
Original commit message from CVS:
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_class_init), (gst_sub_parse_init),
(gst_convert_to_utf8), (detect_encoding), (convert_encoding),
(get_next_line), (gst_sub_parse_data_format_autodetect),
(feed_textbuf), (handle_buffer), (gst_sub_parse_change_state),
(gst_subparse_type_find):
* gst/subparse/gstsubparse.h:
Add support for UTF16/UTF32 subtitles as long as the first bytes of
the first buffer contain the BOM. This also adds support for other
encodings that allow NUL bytes via the encoding property.
Fixes bugs #552237 and #456788.
2008-10-13 08:58:29 +00:00
Sebastian Dröge
60bf63486b Add support for subtitle files with UTF-8 BOM at the beginning by simple stripping it from the first line before pass...
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect), (handle_buffer),
(gst_sub_parse_change_state):
* gst/subparse/gstsubparse.h:
* tests/check/elements/subparse.c: (GST_START_TEST):
Add support for subtitle files with UTF-8 BOM at the beginning
by simple stripping it from the first line before passing it
to any parsing code. Fixes bug #555257 and playback of files
created by Gnome Subtitles.
2008-10-10 17:13:40 +00:00
Sebastian Dröge
b735321f58 Make the detection of the used subtitle a bit less strict for srt subtitles. Fixes bug #555607.
Original commit message from CVS:
Based on a patch by: xavierb at gmail dot com
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
* tests/check/elements/subparse.c: (GST_START_TEST):
Make the detection of the used subtitle a bit less strict
for srt subtitles. Fixes bug #555607.
2008-10-10 15:32:10 +00:00
Stefan Kost
1875564b65 Rework last change, so that we build subparse, but just disable the sami parse functionality, if we're configured to ...
Original commit message from CVS:
* configure.ac:
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c:
* gst/subparse/samiparse.c:
* tests/check/elements/subparse.c:
Rework last change, so that we build subparse, but just disable the
sami parse functionality, if we're configured to not use xml. In the
tests only the sami test is disabled now.
2008-09-03 10:12:04 +00:00
Tim-Philipp Müller
206f91995b Limit duration to a maximum of five seconds for tmplayer format where we can guess the duration only from the timesta...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (parser_state_init),
(gst_sub_parse_format_autodetect), (handle_buffer):
* gst/subparse/gstsubparse.h:
* tests/check/elements/subparse.c: (test_tmplayer_style3b):
Limit duration to a maximum of five seconds for tmplayer format where
we can guess the duration only from the timestamp of the next line of
text. We don't want to show a text for eternities just because nothing
else is being said for a while.
2008-05-25 20:51:35 +00:00
Sebastian Dröge
9333eb4899 gst/subparse/samiparse.c: Remove trailing, leading and double whitespaces.
Original commit message from CVS:
* gst/subparse/samiparse.c: (handle_start_sync),
(end_sami_element), (characters_sami):
Remove trailing, leading and double whitespaces.
Correctly timestamp buffers and output the last buffer too.
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add a simple unit test for SAMI parsing.
2008-05-05 12:33:05 +00:00
Young-Ho Cha
76e3ffb61c gst/subparse/samiparse.c: Only output characters inside the "sync" elements. There could be other elements like "styl...
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst/subparse/samiparse.c: (handle_start_sync),
(start_sami_element), (end_sami_element), (characters_sami),
(sami_context_reset):
Only output characters inside the "sync" elements. There could be
other elements like "style" that have some content but should
not be printed. Fixes bug #467911.
2008-05-05 11:14:48 +00:00
Tim-Philipp Müller
005c1c8636 gst/subparse/: Fix parsing of tmplayer subtitle variant where every single line contains text and there isn't an empt...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (handle_buffer),
(gst_sub_parse_sink_event):
* gst/subparse/tmplayerparse.c: (tmplayer_process_buffer),
(tmplayer_parse_line):
Fix parsing of tmplayer subtitle variant where every single line contains
text and there isn't an empty line after each line to determine the
duration (#530962). Improve EOS handling for tmplayer subtitles a bit by
making sure that we push out the last line of text without a duration if
there's still text left in the buffer at the end.
2008-05-03 15:45:23 +00:00
Tim-Philipp Müller
ee90cf1969 gst/subparse/gstsubparse.c: Fix detection of discontinuities based on the buffer offset (doesn't work so well if no b...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (feed_textbuf):
Fix detection of discontinuities based on the buffer offset (doesn't work
so well if no buffer offset is set) and also check for the DISCONT buffer
flag. This keeps the parser state from being reset after each buffer in
the unit test.
2008-05-03 15:39:04 +00:00
Sebastian Dröge
49deb0c05d Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2008-03-22 15:00:53 +00:00
Tomasz Sałaciński
6ab3a0e0c0 Forward slashes at the beginning and end of a line also signify italics (Fixes: #518162).
Original commit message from CVS:
Based on patch by: Tomasz Sałaciński <tsalacinski gmail com>
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* tests/check/elements/subparse.c: (test_microdvd_with_italics),
(subparse_suite):
Forward slashes at the beginning and end of a line also signify
italics (Fixes: #518162).
2008-02-23 09:51:26 +00:00
Thijs Vermeir
b3739a8e7d gst/subparse/gstssaparse.c: combine if's
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
combine if's
2007-12-29 20:55:39 +00:00
Thijs Vermeir
41cc98e287 gst/subparse/gstssaparse.c: remove duplicate log message
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
remove duplicate log message
2007-12-29 19:23:59 +00:00
Robin Stocker
7bbbf15ad8 gst/subparse/gstsubparse.c: Some .srt files start with chunk number 0 and not chunk number 1, recognise and accept th...
Original commit message from CVS:
Patch by: Robin Stocker <robin dot stocker at gmx dot ch>
* gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect):
Some .srt files start with chunk number 0 and not chunk number 1,
recognise and accept those as well (fixes #502497).
* tests/check/elements/subparse.c: (srt_input), (srt_input0),
(test_src):
Add unit test for the above.
2007-12-08 18:38:39 +00:00
Tim-Philipp Müller
bed6719df7 gst/subparse/gstssaparse.c: Convert SSA newline codes into actual newline characters (#470766).
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
Convert SSA newline codes into actual newline characters (#470766).
2007-08-29 12:16:46 +00:00
Sven Arvidsson
0cffe4be7d gst/subparse/gstsubparse.*: Add support for SubViewer version 1 and 2 subtitles. Fixes #394061.
Original commit message from CVS:
Based on a patch by Sven Arvidsson <sa at whiz dot se>:
* gst/subparse/gstsubparse.c: (parse_subrip),
(subviewer_unescape_newlines), (parse_subviewer),
(gst_sub_parse_data_format_autodetect),
(gst_sub_parse_format_autodetect), (gst_subparse_type_find):
* gst/subparse/gstsubparse.h:
Add support for SubViewer version 1 and 2 subtitles. Fixes #394061.
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add a unit test for both SubViewer formats.
2007-06-05 21:36:11 +00:00
Stefan Kost
23a2a0e224 gst/subparse/: Use GST_DISABLE_XML here
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
* gst/subparse/samiparse.c:
Use GST_DISABLE_XML here
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_navigation_send_event):
* sys/xvimage/xvimagesink.h:
Include stdlib.h when using atoi.
* tests/check/elements/playbin.c: (playbin_suite):
Use GST_DISABLE_REGISTRY here
2007-04-20 10:42:24 +00:00
Young-Ho Cha
77cf4f207c gst/subparse/samiparse.c: Special-case some more colour names that pango doesn't handle by default. Fixes #420578.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (handle_start_font):
Special-case some more colour names that pango doesn't handle by
default. Fixes #420578.
2007-03-21 10:23:11 +00:00
Kamil Pawlowski
389eb6f2f8 gst/subparse/: Add support for MPL2 subtitle format (#413799).
Original commit message from CVS:
Patch by: Kamil Pawlowski  <kamilpe gmail com>
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect),
(gst_sub_parse_format_autodetect), (gst_sub_parse_sink_event),
(gst_subparse_type_find):
* gst/subparse/gstsubparse.h:
* gst/subparse/mpl2parse.c: (mpl2_parse_line), (parse_mpl2):
* gst/subparse/mpl2parse.h:
Add support for MPL2 subtitle format (#413799).
2007-03-10 11:17:52 +00:00
Tim-Philipp Müller
b9ca5573a9 ext/pango/gsttextoverlay.c: Some more logging. Only accept newsegment events in TIME format and send a WARNING messag...
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event),
(gst_text_overlay_video_event):
Some more logging. Only accept newsegment events in TIME format and
send a WARNING message if they are not in TIME format.
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_init), (gst_sub_parse_src_event), (handle_buffer),
(gst_sub_parse_chain), (gst_sub_parse_sink_event):
* gst/subparse/gstsubparse.h:
No need to allocate GstSegment structure dynamically, just put it
into the instance structure; ignore newsegment events in BYTE
format and in particular don't let it overwrite our saved TIME
segment from the last seek.
2007-03-09 16:28:04 +00:00
Tim-Philipp Müller
3eba8b10e2 gst/subparse/gstsubparse.c: Break out of loop in chain function as soon as possible if we get a non-OK flow return.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (handle_buffer):
Break out of loop in chain function as soon as possible if we get
a non-OK flow return.
2007-03-09 10:49:53 +00:00
Tim-Philipp Müller
5f186351a1 gst/subparse/gstsubparse.c: For SubRip (.srt) subtitles, ignore all markup tags we don't handle (like font tags, for ...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_remove_unhandled_tag),
(subrip_remove_unhandled_tags), (parse_subrip):
For SubRip (.srt) subtitles, ignore all markup tags we don't
handle (like font tags, for example).
* tests/check/elements/subparse.c:
Add test for this.
2007-02-10 18:19:37 +00:00