Skip to content

nuget package v1.0.3 fails to parse one of my screen's EDID #1

@nk64

Description

@nk64

Hi, I 've been having a bit of fun with your library (v 1.0.3 from nuget).
I get an exception parsing one the 6 EDIDs that I tried.

Sample Code

byte[] hisenseEdidTable =
{
	0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
	0x20, 0xA3, 0x2F, 0x00, 0x01, 0x00, 0x00, 0x00,
	0x0C, 0x1D, 0x01, 0x03, 0x80, 0x73, 0x41, 0x78,
	0x0A, 0xCF, 0x74, 0xA3, 0x57, 0x4C, 0xB0, 0x23,
	0x09, 0x48, 0x4C, 0x21, 0x08, 0x00, 0x81, 0xC0,
	0x81, 0x40, 0x81, 0x80, 0x01, 0x01, 0x01, 0x01,
	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x74,
	0x00, 0x30, 0xF2, 0x70, 0x5A, 0x80, 0xB0, 0x58,
	0x8A, 0x00, 0x50, 0x1D, 0x74, 0x00, 0x00, 0x1E,
	0x02, 0x3A, 0x80, 0x18, 0x71, 0x38, 0x2D, 0x40,
	0x58, 0x2C, 0x45, 0x00, 0x50, 0x1D, 0x74, 0x00,
	0x00, 0x1E, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x48,
	0x49, 0x53, 0x45, 0x4E, 0x53, 0x45, 0x0A, 0x20,
	0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFD,
	0x00, 0x18, 0x4B, 0x0F, 0x51, 0x1E, 0x00, 0x0A,
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x7C
};

try
{
	var edid = EEDID.Parse(hisenseEdidTable);
	var edidBlock = edid.Blocks[KnownDataBlock.EDID];
} 
catch (Exception ex)
{
	Console.WriteLine(ex.ToString());
}

Exception

System.ArgumentException: Source array was not long enough. Check srcIndex and length, and the array's lower bounds.
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   at iTin.Core.ReadOnlyCollectionExtensions.Extract(ReadOnlyCollection`1 data, Byte start, Byte lenght)
   at iTin.Core.Hardware.Specification.EEDID.GetExtensionDataBlocks(ReadOnlyCollection`1 edidData)
   at iTin.Core.Hardware.Specification.EEDID.InitBlockTable(IDictionary`2 blockDictionary)
   at iTin.Core.Hardware.Specification.EEDID.get_BlockTable()
   at iTin.Core.Hardware.Specification.EEDID.get_HasBlocks()
   at iTin.Core.Hardware.Specification.EEDID.get_Blocks()

What I have Tried

I tried master branch and the v1.0.3 tag from github and the problem seems to be resolved there.
I decompiled the dlls from the nuget package and I feel like the nuget package that is marked as v1.0.3 might not contain the updates that are found in the source code from v1.0.3 tag in github.

For now I can use a self compiled DLL from the master branch.
I hope you will consider pushing out a new nuget package.

Thanks for the library.
nk64.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions