|
@@ -21,7 +21,6 @@
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.IO;
|
|
|
-using System.Text;
|
|
|
using MediaBrowser.Model.IO;
|
|
|
using MediaBrowser.Model.Text;
|
|
|
|
|
@@ -37,7 +36,7 @@ namespace BDInfo
|
|
|
public string Name = null;
|
|
|
|
|
|
public Dictionary<ushort, TSStream> Streams =
|
|
|
- new Dictionary<ushort,TSStream>();
|
|
|
+ new Dictionary<ushort, TSStream>();
|
|
|
|
|
|
public TSStreamClipFile(
|
|
|
FileSystemMetadata fileInfo, IFileSystem fileSystem, ITextEncoding textEncoding)
|
|
@@ -127,18 +126,18 @@ namespace BDInfo
|
|
|
case TSStreamType.MPEG1_VIDEO:
|
|
|
case TSStreamType.MPEG2_VIDEO:
|
|
|
case TSStreamType.VC1_VIDEO:
|
|
|
- {
|
|
|
- TSVideoFormat videoFormat = (TSVideoFormat)
|
|
|
- (clipData[streamOffset + 2] >> 4);
|
|
|
- TSFrameRate frameRate = (TSFrameRate)
|
|
|
- (clipData[streamOffset + 2] & 0xF);
|
|
|
- TSAspectRatio aspectRatio = (TSAspectRatio)
|
|
|
- (clipData[streamOffset + 3] >> 4);
|
|
|
-
|
|
|
- stream = new TSVideoStream();
|
|
|
- ((TSVideoStream)stream).VideoFormat = videoFormat;
|
|
|
- ((TSVideoStream)stream).AspectRatio = aspectRatio;
|
|
|
- ((TSVideoStream)stream).FrameRate = frameRate;
|
|
|
+ {
|
|
|
+ TSVideoFormat videoFormat = (TSVideoFormat)
|
|
|
+ (clipData[streamOffset + 2] >> 4);
|
|
|
+ TSFrameRate frameRate = (TSFrameRate)
|
|
|
+ (clipData[streamOffset + 2] & 0xF);
|
|
|
+ TSAspectRatio aspectRatio = (TSAspectRatio)
|
|
|
+ (clipData[streamOffset + 3] >> 4);
|
|
|
+
|
|
|
+ stream = new TSVideoStream();
|
|
|
+ ((TSVideoStream)stream).VideoFormat = videoFormat;
|
|
|
+ ((TSVideoStream)stream).AspectRatio = aspectRatio;
|
|
|
+ ((TSVideoStream)stream).FrameRate = frameRate;
|
|
|
#if DEBUG
|
|
|
Debug.WriteLine(string.Format(
|
|
|
"\t{0} {1} {2} {3} {4}",
|
|
@@ -148,8 +147,8 @@ namespace BDInfo
|
|
|
frameRate,
|
|
|
aspectRatio));
|
|
|
#endif
|
|
|
- }
|
|
|
- break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
|
|
|
case TSStreamType.AC3_AUDIO:
|
|
|
case TSStreamType.AC3_PLUS_AUDIO:
|
|
@@ -162,23 +161,23 @@ namespace BDInfo
|
|
|
case TSStreamType.LPCM_AUDIO:
|
|
|
case TSStreamType.MPEG1_AUDIO:
|
|
|
case TSStreamType.MPEG2_AUDIO:
|
|
|
- {
|
|
|
- byte[] languageBytes = new byte[3];
|
|
|
- Array.Copy(clipData, streamOffset + 3,
|
|
|
- languageBytes, 0, languageBytes.Length);
|
|
|
- string languageCode =
|
|
|
- _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
|
|
|
-
|
|
|
- TSChannelLayout channelLayout = (TSChannelLayout)
|
|
|
- (clipData[streamOffset + 2] >> 4);
|
|
|
- TSSampleRate sampleRate = (TSSampleRate)
|
|
|
- (clipData[streamOffset + 2] & 0xF);
|
|
|
-
|
|
|
- stream = new TSAudioStream();
|
|
|
- ((TSAudioStream)stream).LanguageCode = languageCode;
|
|
|
- ((TSAudioStream)stream).ChannelLayout = channelLayout;
|
|
|
- ((TSAudioStream)stream).SampleRate = TSAudioStream.ConvertSampleRate(sampleRate);
|
|
|
- ((TSAudioStream)stream).LanguageCode = languageCode;
|
|
|
+ {
|
|
|
+ byte[] languageBytes = new byte[3];
|
|
|
+ Array.Copy(clipData, streamOffset + 3,
|
|
|
+ languageBytes, 0, languageBytes.Length);
|
|
|
+ string languageCode =
|
|
|
+ _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
|
|
|
+
|
|
|
+ TSChannelLayout channelLayout = (TSChannelLayout)
|
|
|
+ (clipData[streamOffset + 2] >> 4);
|
|
|
+ TSSampleRate sampleRate = (TSSampleRate)
|
|
|
+ (clipData[streamOffset + 2] & 0xF);
|
|
|
+
|
|
|
+ stream = new TSAudioStream();
|
|
|
+ ((TSAudioStream)stream).LanguageCode = languageCode;
|
|
|
+ ((TSAudioStream)stream).ChannelLayout = channelLayout;
|
|
|
+ ((TSAudioStream)stream).SampleRate = TSAudioStream.ConvertSampleRate(sampleRate);
|
|
|
+ ((TSAudioStream)stream).LanguageCode = languageCode;
|
|
|
#if DEBUG
|
|
|
Debug.WriteLine(string.Format(
|
|
|
"\t{0} {1} {2} {3} {4}",
|
|
@@ -188,20 +187,20 @@ namespace BDInfo
|
|
|
channelLayout,
|
|
|
sampleRate));
|
|
|
#endif
|
|
|
- }
|
|
|
- break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
|
|
|
case TSStreamType.INTERACTIVE_GRAPHICS:
|
|
|
case TSStreamType.PRESENTATION_GRAPHICS:
|
|
|
- {
|
|
|
- byte[] languageBytes = new byte[3];
|
|
|
- Array.Copy(clipData, streamOffset + 2,
|
|
|
- languageBytes, 0, languageBytes.Length);
|
|
|
- string languageCode =
|
|
|
- _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
|
|
|
+ {
|
|
|
+ byte[] languageBytes = new byte[3];
|
|
|
+ Array.Copy(clipData, streamOffset + 2,
|
|
|
+ languageBytes, 0, languageBytes.Length);
|
|
|
+ string languageCode =
|
|
|
+ _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
|
|
|
|
|
|
stream = new TSGraphicsStream();
|
|
|
- stream.LanguageCode = languageCode;
|
|
|
+ stream.LanguageCode = languageCode;
|
|
|
#if DEBUG
|
|
|
Debug.WriteLine(string.Format(
|
|
|
"\t{0} {1} {2}",
|
|
@@ -209,16 +208,16 @@ namespace BDInfo
|
|
|
streamType,
|
|
|
languageCode));
|
|
|
#endif
|
|
|
- }
|
|
|
- break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
|
|
|
case TSStreamType.SUBTITLE:
|
|
|
- {
|
|
|
- byte[] languageBytes = new byte[3];
|
|
|
- Array.Copy(clipData, streamOffset + 3,
|
|
|
- languageBytes, 0, languageBytes.Length);
|
|
|
- string languageCode =
|
|
|
- _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
|
|
|
+ {
|
|
|
+ byte[] languageBytes = new byte[3];
|
|
|
+ Array.Copy(clipData, streamOffset + 3,
|
|
|
+ languageBytes, 0, languageBytes.Length);
|
|
|
+ string languageCode =
|
|
|
+ _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
|
|
|
#if DEBUG
|
|
|
Debug.WriteLine(string.Format(
|
|
|
"\t{0} {1} {2}",
|
|
@@ -227,9 +226,9 @@ namespace BDInfo
|
|
|
languageCode));
|
|
|
#endif
|
|
|
stream = new TSTextStream();
|
|
|
- stream.LanguageCode = languageCode;
|
|
|
- }
|
|
|
- break;
|
|
|
+ stream.LanguageCode = languageCode;
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
if (stream != null)
|