예제 #1
0
        public IReferenceHeader AddHeader(ICodecDetector detector, string filename)
        {
            IInputFile inputFile = _createInputFile(new Project(_createInputFile, "dummy.xml"), filename);

            using (var dataReader = inputFile.CreateDataReader())
            {
                var         codecParametersBuilder = new CodecParametersBuilder();
                IDataPacket headerData             = detector.FindReferenceHeader(dataReader, codecParametersBuilder);
                if (headerData == null)
                {
                    return(null);                    // No header detected
                }

                byte[] b      = ReadDataPacketToByteArray(headerData, dataReader);
                var    header = new ReferenceHeader(b, codecParametersBuilder.Build());
                // Use the filename as 'Setting' and leave 'Brand' and 'Model' as undefined.
                header.Setting = Path.GetFileNameWithoutExtension(filename);

                _referenceHeaders.Add(header);
                return(header);
            }
        }
 public IDataPacket FindReferenceHeader(IDataReader dataReader, ICodecParametersSpec codecParameters)
 {
     return(_codecDetector.FindReferenceHeader(dataReader, codecParameters));
 }