/// <summary>
        /// Serializes the specified serializer.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <returns>
        /// A serialized <see cref="IDictionary{String,Object}" />.
        /// </returns>
        public IDictionary <string, object> Serialize(JavaScriptSerializer serializer)
        {
            IDictionary <string, object> serialized = new Dictionary <string, object>();

            serialized["controllerType"]   = ControllerType.ToBrightcoveName();
            serialized["remoteUrl"]        = RemoteUrl;
            serialized["remoteStreamName"] = RemoteStreamName;
            serialized["size"]             = Size;
            serialized["videoDuration"]    = VideoDuration;
            serialized["videoCodec"]       = VideoCodec.ToBrightcoveName();

            return(serialized);
        }