OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / Parsing / AudioTrack.cs
index c4e1bbc..a28e017 100644 (file)
@@ -4,13 +4,13 @@
           Homepage: <http://handbrake.fr>.\r
           It may be used under the terms of the GNU General Public License. */\r
 \r
-using System;\r
-using System.Collections.Generic;\r
-using System.IO;\r
-using System.Text.RegularExpressions;\r
-\r
 namespace Handbrake.Parsing\r
 {\r
+    using System;\r
+    using System.Collections.Generic;\r
+    using System.IO;\r
+    using System.Text.RegularExpressions;\r
+\r
     /// <summary>\r
     /// An object represending an AudioTrack associated with a Title, in a DVD\r
     /// </summary>\r
@@ -74,7 +74,7 @@ namespace Handbrake.Parsing
 \r
         public string ISO639_2\r
         {\r
-            get { return m_iso639_2;  }\r
+            get { return m_iso639_2; }\r
         }\r
 \r
         /// <summary>\r
@@ -85,13 +85,13 @@ namespace Handbrake.Parsing
         {\r
             if (m_subFormat == null)\r
                 return string.Format("{0} {1} ({2})", m_trackNumber, m_language, m_format);\r
-            \r
+\r
             return string.Format("{0} {1} ({2}) ({3})", m_trackNumber, m_language, m_format, m_subFormat);\r
         }\r
 \r
         public static AudioTrack Parse(StringReader output)\r
         {\r
-            String audio_track = output.ReadLine();\r
+            string audio_track = output.ReadLine();\r
             Match m = Regex.Match(audio_track, @"^    \+ ([0-9]*), ([A-Za-z0-9]*) \((.*)\) \((.*)\)");\r
             Match track = Regex.Match(audio_track, @"^    \+ ([0-9]*), ([A-Za-z0-9]*) \((.*)\)"); // ID and Language\r
             Match iso639_2 = Regex.Match(audio_track, @"iso639-2: ([a-zA-Z]*)\)");\r
@@ -99,22 +99,25 @@ namespace Handbrake.Parsing
             Match bitrate = Regex.Match(audio_track, @"([0-9]*)bps");\r
 \r
             string subformat = m.Groups[4].Value.Trim().Contains("iso639") ? null : m.Groups[4].Value;\r
+            string samplerateVal = samplerate.Success ? samplerate.Groups[0].Value.Replace("Hz", string.Empty).Trim() : "0";\r
+            string bitrateVal = bitrate.Success ? bitrate.Groups[0].Value.Replace("bps", string.Empty).Trim() : "0";\r
 \r
             if (track.Success)\r
             {\r
                 var thisTrack = new AudioTrack\r
-                {\r
-                    m_trackNumber = int.Parse(track.Groups[1].Value.Trim()),\r
-                    m_language = track.Groups[2].Value,\r
-                    m_format = m.Groups[3].Value,\r
-                    m_subFormat = subformat,\r
-                    m_frequency = int.Parse(samplerate.Groups[0].Value.Replace("Hz","").Trim()),\r
-                    m_bitrate = int.Parse(bitrate.Groups[0].Value.Replace("bps","").Trim()),\r
-                    m_iso639_2 = iso639_2.Value.Replace("iso639-2: ", "").Replace(")", "")\r
-                };\r
-                return thisTrack; \r
+                                    {\r
+                                        m_trackNumber = int.Parse(track.Groups[1].Value.Trim()), \r
+                                        m_language = track.Groups[2].Value, \r
+                                        m_format = m.Groups[3].Value, \r
+                                        m_subFormat = subformat, \r
+                                        m_frequency = int.Parse(samplerateVal), \r
+                                        m_bitrate = int.Parse(bitrateVal), \r
+                                        m_iso639_2 =\r
+                                            iso639_2.Value.Replace("iso639-2: ", string.Empty).Replace(")", string.Empty)\r
+                                    };\r
+                return thisTrack;\r
             }\r
-          \r
+\r
             return null;\r
         }\r
 \r