Esempio n. 1
0
 public void Read( Mp3Container container, PrimitiveReader reader )
 {
     ReadData( container, reader );
     if( OnRead != null ) {
         OnRead( container, this );
     }
 }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
 protected abstract void ReadData( Mp3Container container, PrimitiveReader reader );
Esempio n. 4
0
 protected override void ReadData( Mp3Container container, PrimitiveReader reader )
 {
     value = ReadNullTerminatedString( reader, ref DataSize );
     if( DataSize > 0 ) {
         reader.SkipData( DataSize );
     }
     Console.WriteLine( value );
 }