void ExportMediaStream(XmlElement parent, MediaStream stream, Boolean isOffline) { Type type = stream.GetType(); AudioStream audioStream = null; VideoStream videoStream = null; if (type.Name == "AudioStream") { audioStream = (AudioStream)stream; } else if (type.Name == "VideoStream") { videoStream = (VideoStream)stream; } XmlElement elt = AddChild(parent, type.Name); ChildObject(elt, "MediaType", stream.MediaType); if (isOffline) { return; } ChildTimecode(elt, "Offset", stream.Offset); ChildTimecode(elt, "Length", stream.Length); if (null != audioStream) { ChildObject(elt, "Format", audioStream.Format); ChildInt64(elt, "AverageDataRate", audioStream.AverageDataRate); ChildUInt32(elt, "SampleRate", audioStream.SampleRate); ChildUInt32(elt, "BitDepth", audioStream.BitDepth); ChildObject(elt, "Channels", audioStream.Channels); } else if (null != videoStream) { ChildString(elt, "Format", videoStream.Format); ChildInt64(elt, "AverageDataRate", videoStream.AverageDataRate); ChildInt32(elt, "Width", videoStream.Width); ChildInt32(elt, "Height", videoStream.Height); ChildDouble(elt, "FrameRate", videoStream.FrameRate); ChildObject(elt, "FieldOrder", videoStream.FieldOrder); ChildDouble(elt, "PixelAspectRatio", videoStream.PixelAspectRatio); ChildInt32(elt, "ColorDepth", videoStream.ColorDepth); ChildObject(elt, "AlphaChannel", videoStream.AlphaChannel); AddVideoColor(elt, "BackgroundColor", videoStream.BackgroundColor); } }