awesome! thanks for the help. I am fairly far along using just libogg for now, and if I can get the last of these EOS issues resolved I think I will be near completion an ready to submit some stuff to <a href="http://xiph.org">
xiph.org</a> for consideration in the pyogg release.<br><br><div><span class="gmail_quote">On 6/5/06, <b class="gmail_sendername">Conrad Parker</b> &lt;<a href="mailto:conrad@metadecks.org">conrad@metadecks.org</a>&gt; wrote:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Stephen,<br><br>On Mon, Jun 05, 2006 at 09:34:43PM -0400, Stephen Whiters-Ridley wrote:
<br>&gt; So, I abandoned the hope of using the ogg python bindings to do pure ogg<br>&gt; container encoding.<br>&gt; I started looking at the libogg in the hopes of retooling the bindings to<br>&gt; follow a better object model
<br><br>&gt; and it actually looks like the problem is down in libogg, not the bindings.<br>&gt; Am I crazy or does libogg&nbsp;&nbsp;rely on libvorbis to return ogg_packets,<br>&gt; and that there are no functions that will build an ogg_packet for you from
<br>&gt; your own data like an array of bytes?<br><br>You're not crazy, libogg requires applications using it to construct<br>ogg_packet structures. Fortunately for libogg (not libogg2), this is<br>fairly simple, though libogg does not offer any helper functions for it.
<br><br>The building of libogg does not depend on libvorbis, and using libogg to<br>do other things with ogg does not require libvorbis.<br><br>&gt; It looks like API users are required to fill in all the meta<br>&gt; fields of the ogg_packet themselves? Is this correct?
<br><br>yes. The fields of the ogg_packet structure (particularly the<br>granulepos) are very dependent on the codec.<br><br>btw. if you're writing python bindings, perhaps have a look at binding<br>liboggz: <a href="http://www.annodex.net/software/liboggz/index.html">
http://www.annodex.net/software/liboggz/index.html</a><br>It wraps libogg and provides a somewhat clearer API (IMHO ;-) It can<br>also work out things like the bos, eos and packetno flags for you<br>automatically, though you still need to fill in the packet data and
<br>granulepos; and it ensures that you don't insert invalid packets.<br><br>cheers,<br><br>Conrad.<br><br></blockquote></div><br>