public void Read( Mp3Container container, PrimitiveReader reader ) { ReadData( container, reader ); if( OnRead != null ) { OnRead( container, this ); } }
public ID3v2Frame( Mp3Container container, PrimitiveReader reader, byte majorVersion ) { revision = reader.ReadByte(); headerFlags = reader.ReadByte(); dataSize = ReadSyncSafeInt32( reader ); reader.BigEndian = true; this.container = container; this.majorVersion = majorVersion; bool useUnsynch = ( headerFlags & 0x80 ) != 0; if( useUnsynch ) { reader.stream = new UnsynchronisationStream( reader.stream ); } if( majorVersion == 3 ) { ReadV3( reader ); } else { throw new NotImplementedException( "Support for ID3 version " + majorVersion + " not yet done." ); } if( useUnsynch ) { reader.stream = ( (UnsynchronisationStream)reader.stream ).UnderlyingStream; } }
protected abstract void ReadData( Mp3Container container, PrimitiveReader reader );
protected override void ReadData( Mp3Container container, PrimitiveReader reader ) { value = ReadNullTerminatedString( reader, ref DataSize ); if( DataSize > 0 ) { reader.SkipData( DataSize ); } Console.WriteLine( value ); }