void ReportGetSampleCompleted(IMediaSample sample)
 {
     ArraySegment<byte> buf = sample.GetBuffer<byte> ();
     position += ToTick (sample.Duration);
     var s = new MediaStreamSample (media_desc, new MemoryStream (buf.Array), buf.Offset, buf.Count, position, empty_atts);
     this.ReportGetSampleCompleted (s);
 }