OK, that piece of code worked perfect. However, now when I look at the file the first frame is on synce but the rest are off by a few bits. I believe this to be because when we remove the bits prior to the sync and then pack it up the frame is no longer on a byte boundary. This is the problem I've been dealing with. If I remove a couple bits from the beginning then when I pack it up the files being padded to place it back on a byte boundary. I'm starting to think I'm going to have to just suck it up and either deal with the slowness or get a C programmer to do it. Any thoughts??