, , , , , . , .
, SO, - .
, , - , . OSS , . , , , "IGeneralVideoAudioTextImageMenuCommon" "IVideoAudioTextImageMenuCommon"; 4 5 , :
public sealed class VideoStream : Media, IGeneralVideoAudioTextImageMenuCommon,
IGeneralVideoAudioTextMenuCommon, IVideoAudioTextImageMenuCommon,
IVideoTextImageCommon,
{
GeneralVideoAudioTextImageMenuCommon gvatimCommon;
GeneralVideoAudioTextMenuCommon gvatmCommon;
VideoAudioTextImageMenuCommon vatimCommon;
VideoTextImageCommon vticCommon;
public VideoStream(MediaInfo mi, int id) {
gvatimCommon = new GeneralVideoAudioTextImageMenuCommon(mi, id);
gvatmCommon = new GeneralVideoAudioTextMenuCommon(mi, id);
vatimCommon = new VideoAudioTextImageMenuCommon(mi, id);
vticCommon = new VideoTextImageCommon(mi, id);
}
, , "". "" - " ", , , " " "MotorcycleCarTruckOrAirplane", , ?
, . : " ?" "", , , . , , , : .
, - , , , , , , "MultiStreamCommon", , #:
public class MultiStreamCommon : Media
{
public MultiStreamCommon(MediaInfo mediaInfo, StreamKind kind, int id)
: base(mediaInfo, id) {
this.kind = kind;
}
#region AllStreamsCommon
string _format;
public string format { };
string _title;
public string title { };
#endregion
#region VideoAudioTextCommon
#endregion
}
MultiStreamCommon :
public sealed class VideoStream : Media
{
readonly MultiStreamCommon streamCommon;
public VideoStream(MediaInfo mediaInfo, int id) : base(mediaInfo, id) {
this.kind = StreamKind.Video;
streamCommon = new MultiStreamCommon(mediaInfo, kind, id);
}
public string format { get { return streamCommon.format; } }
public string title { get { return streamCommon.title; } }
public string uniqueId { get { return streamCommon.uniqueId; } }
}
, , , MultiStreamCommon. , #region , , . , MediaInfo? , . , .
, - . , , . :
, .
, , , .
, , ( .NET), Google Code . , , , , ( , ).