[vlc-devel] commit: Update NEWS and interface string about the latest parsing for the subtitles . (Jean-Baptiste Kempf )

git version control git at videolan.org
Wed May 21 23:16:35 CEST 2008


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed May 21 14:18:17 2008 -0700| [b95cac1c3685e4d3ce7f16303957cf100cdd5541]

Update NEWS and interface string about the latest parsing for the subtitles.
Some comments about the naming of the subtitles (mplayer doesn't name as gnome-subtitles does, and none of them respect the main conventions)
Most of the subtitles format are now parsed. However, some styles are still discarded.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b95cac1c3685e4d3ce7f16303957cf100cdd5541
---

 NEWS                     |    5 ++++-
 include/vlc_interface.h  |    2 +-
 modules/demux/subtitle.c |   28 +++++++++++++++-------------
 3 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/NEWS b/NEWS
index fd72058..73eae66 100644
--- a/NEWS
+++ b/NEWS
@@ -105,8 +105,11 @@ Subtitles:
  * MPSub subtitles support
  * JacoSub subtitles basic support
  * MPL2 subtitles support
- * Rewrite of ASS/SSA scripts and subtitles support.
+ * Rewrite of ASS/SSA scripts and subtitles support
  * PowerDivx (.psb) Subtitles support
+ * Realtext subtitle support
+ * DKS subtitle support
+ * SubViewer 1.0 (SubRip09) subtitles support
 
 Encoders:
  * Flash Screen Video support
diff --git a/include/vlc_interface.h b/include/vlc_interface.h
index faac4da..61ed04e 100644
--- a/include/vlc_interface.h
+++ b/include/vlc_interface.h
@@ -203,7 +203,7 @@ typedef enum vlc_dialog {
                           EXTENSIONS_PLAYLIST
 
 #define EXTENSIONS_SUBTITLE "*.cdg;*.idx;*.srt;*.sub;*.utf;*.ass;*.ssa;*.aqt;" \
-                            "*.jss;*.psb"
+                            "*.jss;*.psb;*.rt;*.smi"
 
 /** \defgroup vlc_interaction Interaction
  * \ingroup vlc_interface
diff --git a/modules/demux/subtitle.c b/modules/demux/subtitle.c
index d1e142f..af09d58 100644
--- a/modules/demux/subtitle.c
+++ b/modules/demux/subtitle.c
@@ -57,16 +57,17 @@ static void Close( vlc_object_t *p_this );
     "This will only work with MicroDVD and SubRIP (SRT) subtitles.")
 #define SUB_TYPE_LONGTEXT \
     N_("Force the subtiles format. Valid values are : \"microdvd\", " \
-    "\"subrip\",  \"ssa1\", \"ssa2-4\", \"ass\", \"vplayer\" " \
-    "\"sami\", \"dvdsubtitle\", \"mpl2\", \"aqt\", \"pjs\" "\
-    "\"mpsub\" \"jacosub\" \"psb\" \"realtext\" \"dks\" and \"auto\" " \
-    "(meaning autodetection, this should always work).")
+    "\"subrip\", \"subviewer\", \"ssa1\", \"ssa2-4\", \"ass\", \"vplayer\", " \
+    "\"sami\", \"dvdsubtitle\", \"mpl2\", \"aqt\", \"pjs\", "\
+    "\"mpsub\", \"jacosub\", \"psb\", \"realtext\", \"dks\", \"subviewer1\", " \
+    " and \"auto\" (meaning autodetection, this should always work).")
 
 static const char *ppsz_sub_type[] =
 {
     "auto", "microdvd", "subrip", "subviewer", "ssa1",
     "ssa2-4", "ass", "vplayer", "sami", "dvdsubtitle", "mpl2",
-    "aqt", "pjs", "mpsub", "jacosub", "psb", "rt", "dks"
+    "aqt", "pjs", "mpsub", "jacosub", "psb", "realtext", "dks",
+    "subviewer1"
 };
 
 vlc_module_begin();
@@ -102,8 +103,8 @@ enum
     SUB_TYPE_ASS,
     SUB_TYPE_VPLAYER,
     SUB_TYPE_SAMI,
-    SUB_TYPE_SUBVIEWER, //SUBVIEWER 2!
-    SUB_TYPE_DVDSUBTITLE,
+    SUB_TYPE_SUBVIEWER, /* SUBVIEWER 2 */
+    SUB_TYPE_DVDSUBTITLE, /* Mplayer calls it subviewer2 */
     SUB_TYPE_MPL2,
     SUB_TYPE_AQT,
     SUB_TYPE_PJS,
@@ -111,8 +112,9 @@ enum
     SUB_TYPE_JACOSUB,
     SUB_TYPE_PSB,
     SUB_TYPE_RT,
-    SUB_TYPE_SUBVIEW1,
-    SUB_TYPE_DKS
+    SUB_TYPE_DKS,
+    SUB_TYPE_SUBVIEW1 /* SUBVIEWER 1 - mplayer calls it subrip09,
+                         and Gnome subtitles SubViewer 1.0 */
 };
 
 typedef struct
@@ -166,7 +168,7 @@ static int  ParseJSS        ( demux_t *, subtitle_t *, int );
 static int  ParsePSB        ( demux_t *, subtitle_t *, int );
 static int  ParseRealText   ( demux_t *, subtitle_t *, int );
 static int  ParseDKS        ( demux_t *, subtitle_t *, int );
-static int  ParseSub1       ( demux_t *, subtitle_t *, int );
+static int  ParseSubViewer1 ( demux_t *, subtitle_t *, int );
 
 static struct
 {
@@ -193,7 +195,7 @@ static struct
     { "psb",        SUB_TYPE_PSB,         "PowerDivx",   ParsePSB },
     { "realtext",   SUB_TYPE_RT,          "RealText",    ParseRealText },
     { "dks",        SUB_TYPE_DKS,         "DKS",         ParseDKS },
-    { "subviewer1", SUB_TYPE_SUBVIEW1,    "Subviewer 1", ParseSub1 },
+    { "subviewer1", SUB_TYPE_SUBVIEW1,    "Subviewer 1", ParseSubViewer1 },
     { NULL,         SUB_TYPE_UNKNOWN,     "Unknown",     NULL }
 };
 
@@ -913,7 +915,7 @@ static int ParseSubRipSubViewer( demux_t *p_demux, subtitle_t *p_subtitle,
         if( b_replace_br )
         {
             char *p;
- 
+
             while( ( p = strstr( psz_text, "[br]" ) ) )
             {
                 *p++ = '\n';
@@ -1949,7 +1951,7 @@ static int ParseDKS( demux_t *p_demux, subtitle_t *p_subtitle, int i_idx )
     return VLC_SUCCESS;
 }
 
-static int ParseSub1( demux_t *p_demux, subtitle_t *p_subtitle, int i_idx )
+static int ParseSubViewer1( demux_t *p_demux, subtitle_t *p_subtitle, int i_idx )
 {
     VLC_UNUSED( i_idx );
 




More information about the vlc-devel mailing list