From 25939e02183e9a9420d02c3f2c3ddcd3fe83cd65 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Wed, 31 Aug 2011 20:51:17 -0400 Subject: [PATCH] subparse: Improve subrip type check regex This patch prevents timestamp like "1 1:00:00", which would have been seen as hour 101 by our parser, and allow single digit hour, minute and seconds as it's already supported by the parser, and also by other implementation like in mplayer. This fixes bug 657872. https://bugzilla.gnome.org/show_bug.cgi?id=657872 --- gst/subparse/gstsubparse.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c index 8d495f01b0..240ef587e5 100644 --- a/gst/subparse/gstsubparse.c +++ b/gst/subparse/gstsubparse.c @@ -1246,9 +1246,9 @@ gst_sub_parse_data_format_autodetect_regex_once (GstSubParseRegex regtype) } break; case GST_SUB_PARSE_REGEX_SUBRIP: - result = (gpointer) g_regex_new ("^([ 0-9]){0,3}[0-9]\\s*(\x0d)?\x0a" - "[ 0-9][0-9]:[ 0-9][0-9]:[ 0-9][0-9][,.][ 0-9]{0,2}[0-9]" - " +--> +([ 0-9])?[0-9]:[ 0-9][0-9]:[ 0-9][0-9][,.][ 0-9]{0,2}[0-9]", + result = (gpointer) g_regex_new ("^ {0,3}[ 0-9]{1,4}\\s*(\x0d)?\x0a" + " ?[0-9]{1,2}: ?[0-9]{1,2}: ?[0-9]{1,2}[,.] {0,2}[0-9]{1,3}" + " +--> +[0-9]{1,2}: ?[0-9]{1,2}: ?[0-9]{1,2}[,.] {0,2}[0-9]{1,2}", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, &gerr); if (result == NULL) { g_warning ("Compilation of subrip regex failed: %s", gerr->message);