private int buffer_data(Stream sin, Xiph.ogg_sync_state oy) { int num = 0; byte[] buffer = null; int offset = 0; lock (sin) { if (Xiph.ogg_sync_buffer(oy, 4096, out buffer, out offset)) { sin.Position = this.instream_pos; num = sin.Read(buffer, offset, 4096); Xiph.ogg_sync_wrote(oy, num); this.instream_pos = sin.Position; } } return(num); }