diff --git a/RedBookPlayer.Models/Discs/CompactDisc.cs b/RedBookPlayer.Models/Discs/CompactDisc.cs
index 751b777..1cf5cbc 100644
--- a/RedBookPlayer.Models/Discs/CompactDisc.cs
+++ b/RedBookPlayer.Models/Discs/CompactDisc.cs
@@ -356,6 +356,13 @@ namespace RedBookPlayer.Models.Discs
/// Byte array representing the read sectors, if possible
public byte[] ReadSectors(uint sectorsToRead, DataPlayback dataPlayback) => ReadSectors(CurrentSector, sectorsToRead, dataPlayback);
+ ///
+ /// Read subchannel data from the base image starting from the specified sector
+ ///
+ /// Current number of sectors to read
+ /// Byte array representing the read subchannels, if possible
+ public byte[] ReadSubchannels(uint sectorsToRead) => ReadSubchannels(CurrentSector, sectorsToRead);
+
///
/// Read sector data from the base image starting from the specified sector
///
@@ -381,6 +388,15 @@ namespace RedBookPlayer.Models.Discs
}
}
+ ///
+ /// Read subchannel data from the base image starting from the specified sector
+ ///
+ /// Sector to start at for reading
+ /// Current number of sectors to read
+ /// Byte array representing the read subchannels, if possible
+ private byte[] ReadSubchannels(ulong startSector, uint sectorsToRead)
+ => _image.ReadSectorsTag(startSector, sectorsToRead, SectorTagType.CdSectorSubchannel);
+
///
public override void SetTotalIndexes()
{