kthulhu
9th May 2002, 23:30
I accidentaly deleted the original files of one of the clips I get. I had only the final ogm with the audio out of sync. So I needed to split the ogm into the original separate streams... To fix the sync problem and mux them again.
I started digging into libogg to try and separate the streams and I started building a tool to demux the ogm file. Not with the ds filters, but with libogg.
After testing a bit I started reading the forum, and I found the graphedit solution. So I built up a graph and separated the video into an AVI and the audio back into an ogg with a single stream.
Then I loaded the AVI and the ogg into the tool I made and there the problem appeared. According to vorbisfile API the vorbis stream was way shorter that it actually was, but it played fine, and showed the correct length, in wmplayer.
I dumped some more code in the tool I was building and, using libogg, I extracted the vorbis stream into a new ogg file. Just a straight forward read and copy... page by page.
That ogg worked fine.
Has anybody made some tests with libogg, libvorbis and ds filters? Any ideas on why this happend?
I haven't really dug up a lot of info on vorbis streams, just the header/info packet from libvorbis source code. My vorbis experience is with vorbisfile API. It beeing quite an abstract API I can't find anything wrong with the way I am trying to get the length of the vorbis stream. Its just a function to open the ogg file and another one to get the length in seconds...
I started digging into libogg to try and separate the streams and I started building a tool to demux the ogm file. Not with the ds filters, but with libogg.
After testing a bit I started reading the forum, and I found the graphedit solution. So I built up a graph and separated the video into an AVI and the audio back into an ogg with a single stream.
Then I loaded the AVI and the ogg into the tool I made and there the problem appeared. According to vorbisfile API the vorbis stream was way shorter that it actually was, but it played fine, and showed the correct length, in wmplayer.
I dumped some more code in the tool I was building and, using libogg, I extracted the vorbis stream into a new ogg file. Just a straight forward read and copy... page by page.
That ogg worked fine.
Has anybody made some tests with libogg, libvorbis and ds filters? Any ideas on why this happend?
I haven't really dug up a lot of info on vorbis streams, just the header/info packet from libvorbis source code. My vorbis experience is with vorbisfile API. It beeing quite an abstract API I can't find anything wrong with the way I am trying to get the length of the vorbis stream. Its just a function to open the ogg file and another one to get the length in seconds...