Example #1
0
        /// <summary>
        /// Get allparameter values and dump to logfile.
        /// call:
        /// var mi = new MediaInfo(fullFileName);
        /// string s = mi.AllParameterValues(fullFileName);
        /// </summary>
        /// <param name="fileName">The filename.</param>
        /// <returns></returns>
        public string AllParameterValues(string mediaInfoDLLFullName, string fileName)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.AppendLine(fileName);

            using (MediaInfoWrapper mediaInfo = new MediaInfoWrapper(mediaInfoDLLFullName))
            {
                mediaInfo.Open(fileName);
                try
                {
                    StreamKind streamKind  = StreamKind.General;
                    int        streamCount = 0;
                    foreach (string parameter in mediaInfo.InfoParametersCSV)
                    {
                        string[] parameters = parameter.Split(';');
                        if (parameters.Length == 1)
                        {
                            sb.AppendLine(parameters[0]);
                            Enum.TryParse(parameters[0], out streamKind);
                            if (Int32.TryParse(mediaInfo.Get(streamKind, 0, "StreamCount"), out streamCount))
                            {
                                sb.AppendLine("streamCount=" + streamCount.ToString());
                            }
                        }
                        else if (parameters.Length > 1)
                        {
                            ////parameters[0]
                            ////"Status"
                            ////parameters[1]
                            ////"bit field (0=IsAccepted, 1=IsFilled, 2=IsUpdated, 3=IsFinished)"
                            for (int i = 0; i < streamCount; i++)
                            {
                                string value = mediaInfo.Get(streamKind, i, parameters[0]);
                                if (!string.IsNullOrWhiteSpace(value))
                                {
                                    sb.AppendLine(String.Format("{0}: {1}={2} ({3})", streamKind, parameters[0], value, parameters[1]));
                                }
                            }
                        }
                    }
                }
                finally
                {
                    mediaInfo.Close();
                }
            }

            return(sb.ToString());
        }
Example #2
0
        /// <summary>Reads the media information from the specified file.</summary>
        /// <param name="mediaInfoDLLFullName">Full filename of the mediainfo.DLL.</param>
        /// <param name="fileName">The media file full filename.</param>
        public void ReadMediaInformation(string fileName)
        {
            using (MediaInfoWrapper mediaInfo = new MediaInfoWrapper(this.MediaInfoDLLFullName))
            {
                mediaInfo.Open(fileName);

                try
                {
                    this.ReadInformation(mediaInfo);
                    this.ReadGeneral(mediaInfo);
                    this.ReadVideo(mediaInfo);
                    this.ReadAudio(mediaInfo);
                    this.ReadText(mediaInfo);
                }
                finally
                {
                    mediaInfo.Close();
                }
            }
        }