[Vorbis-dev] Urgent Doubt in VORBIS

Conrad Parker conrad at metadecks.org
Fri Aug 28 15:10:09 PDT 2009


2009/8/28 Sumit Chatterjee <getsumit at gmail.com>:
> Hey Mike,
>        Sorry its actually 4am in the morning, so my brain isnt working that
> much. Here goes the explanation:
>       Step 1: raw sample --> encode. Here while encoding , as I get packets,
> I record the granulepos used up for that packet, which gives me the pcm
> consumed.
>       Step 2: The packet and pcm are sent to another program through
> sockets, wherein the received packet is decoded.
>       Step 3: The decoded pcm size is matched with the  pcm size sent
> corresponding to the encoded packet.
>
>       Also to add to the details: I have changed the buffering mechanism of
> OGG container to 2KB from 4KB
>
>
> The basic problem is in Step 1, where I feel, I may have to deduct an offset
> in the beginning before using the granulepos structure element - is it so?

no, the granulepos returned in the ogg_packet structure is correct.

During the stream, the granulepos represents the number of decodable
frames, which will lag behind the number of frames consumed (due to
overlap-add). That is normal.

At the end of the encode this will be fixed. Are you calling
vorbis_analysis_wrote(&vd, 0) at the end of the input data?

Conrad.

>
> 2009/8/28 Michael Smith <msmith at xiph.org>
>>
>> On Thu, Aug 27, 2009 at 3:09 PM, Sumit Chatterjee<getsumit at gmail.com>
>> wrote:
>> > Hi Mike,
>> >     I was having a big problem earlier as there was a mismatch of over
>> > 16-20KB sometimes.
>> >     I have solved that problem now. After lot of debugging I could find
>> > out
>> > that granulepos wasn't being used at the correct place for identifying
>> > the
>> > pcm size of the data encoded.
>> >
>> >     BUT, currently I have a minor issue still left on the same lines. If
>> > I
>> > send the pcm size of the encoded data to another machine, and decode the
>> > encoded stream, there is "always" a mismatch of 4096 bytes :( Regarding
>> > your
>> > suggestion currently my mearsurement is on the same base(integer).
>>
>> I can only assume you have a bug in your code then. I can't help much
>> more specifically than that - you haven't provided any information
>> about what you're doing.
>>
>> Mike
>
>
> _______________________________________________
> Vorbis-dev mailing list
> Vorbis-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/vorbis-dev
>
>


More information about the Vorbis-dev mailing list