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)); }