FLV contains TC messages? TC message payload contains a format byte and speex frames (up to eight). In the format byte 0xb0 indicates speex. Speex is always 16 kHz, 16 bit, mono. Jozsef Message: 1 Date: Mon, 16 Nov 2009 14:40:20 -0600 From: Jeff Ramin <jeff.ramin at singlewire.com> Subject: [Speex-dev] jspeex question To: speex-dev at xiph.org Message-ID: <4B01B8B4.8020904 at singlewire.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed I assume this list is for the jspeex project, correct? What I am trying to achieve: I have a FLV (flash audio) file that contains speex-encoded data. I want to read that file, extract the audio bits, and convert them to a different format. I've written a little java app to do this, but I receive this error when running it: Exception in thread "main" java.io.StreamCorruptedException: More than two sideband layers found I've got a feeling the SpeexDecoder class wants/assumes a certain amount of data when decoding and I'm not meeting that expectation. Is that correct? How much data should I hand to the decoder when I call the processData() method? Thanks! -- Jeff Ramin Software Engineer Singlewire Software PO Box 46218 Madison, WI 53744-6218 Phone Direct - 608.298.1024 www.singlewire.com
Is there a document somewhere that describes speex-encoded FLV files? What is a TC message? Thanks. Jozsef Vass wrote:> FLV contains TC messages? TC message payload contains a format byte and speex frames (up to eight). In the format byte 0xb0 indicates speex. Speex is always 16 kHz, 16 bit, mono. > > Jozsef > > > Message: 1 > Date: Mon, 16 Nov 2009 14:40:20 -0600 > From: Jeff Ramin <jeff.ramin at singlewire.com> > Subject: [Speex-dev] jspeex question > To: speex-dev at xiph.org > Message-ID: <4B01B8B4.8020904 at singlewire.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > > I assume this list is for the jspeex project, correct? > > What I am trying to achieve: I have a FLV (flash audio) file that contains > speex-encoded data. I want to read that file, extract the audio bits, and > convert them to a different format. > > I've written a little java app to do this, but I receive this error when > running it: > > Exception in thread "main" java.io.StreamCorruptedException: More than > two sideband layers found > > I've got a feeling the SpeexDecoder class wants/assumes a certain amount > of data when decoding and I'm not meeting that expectation. > > Is that correct? How much data should I hand to the decoder when I call > the processData() method? > > Thanks! > >-- Jeff Ramin Software Engineer Singlewire Software PO Box 46218 Madison, WI 53744-6218 Phone Direct - 608.298.1024 www.singlewire.com
Hi, Refer to FLV format specification available from Adobe site. There is a pdf with this specification on their site, but I don't recall where exactly. On Wed, Nov 18, 2009 at 17:09, Jeff Ramin <jeff.ramin at singlewire.com> wrote:> > Is there a document somewhere that describes speex-encoded FLV files? > What is a TC message? > > Thanks. > > > Jozsef Vass wrote: >> FLV contains TC messages? TC message payload contains a format byte and speex frames (up to eight). In the format byte 0xb0 indicates speex. Speex is always 16 kHz, 16 bit, mono. >> >> Jozsef >> >> >> Message: 1 >> Date: Mon, 16 Nov 2009 14:40:20 -0600 >> From: Jeff Ramin <jeff.ramin at singlewire.com> >> Subject: [Speex-dev] jspeex question >> To: speex-dev at xiph.org >> Message-ID: <4B01B8B4.8020904 at singlewire.com> >> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >> >> >> I assume this list is for the jspeex project, correct? >> >> What I am trying to achieve: I have a FLV (flash audio) file that contains >> speex-encoded data. I want to read that file, extract the audio bits, and >> convert them to a different format. >> >> I've written a little java app to do this, but I receive this error when >> running it: >> >> Exception in thread "main" java.io.StreamCorruptedException: More than >> two sideband layers found >> >> I've got a feeling the SpeexDecoder class wants/assumes a certain amount >> of data when decoding and I'm not meeting that expectation. >> >> Is that correct? How much data should I hand to the decoder when I call >> the processData() method? >> >> Thanks! >> >> > > > -- > Jeff Ramin > Software Engineer > Singlewire Software > PO Box 46218 > Madison, WI 53744-6218 > > Phone Direct - 608.298.1024 > www.singlewire.com > > _______________________________________________ > Speex-dev mailing list > Speex-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev >-- Regards, Alexander Chemeris.
The link is http://www.adobe.com/devnet/rtmp/. TC Message stands for TinCan message. It is 11 bytes long, first byte is message type, three bytes of payload length four bytes of timestamp and three bytes of stream ID. The first byte of the payload for audio message is the format byte and the rest of the byte is the payload. Jozsef ----- Original Message ---- From: Jeff Ramin <jeff.ramin at singlewire.com> To: Jozsef Vass <jozsef_vass at yahoo.com> Cc: speex-dev at xiph.org Sent: Wed, November 18, 2009 6:09:56 AM Subject: Re: jspeex question Is there a document somewhere that describes speex-encoded FLV files? What is a TC message? Thanks. Jozsef Vass wrote:> FLV contains TC messages? TC message payload contains a format byte and speex frames (up to eight). In the format byte 0xb0 indicates speex. Speex is always 16 kHz, 16 bit, mono. > > Jozsef > > > Message: 1 > Date: Mon, 16 Nov 2009 14:40:20 -0600 > From: Jeff Ramin <jeff.ramin at singlewire.com> > Subject: [Speex-dev] jspeex question > To: speex-dev at xiph.org > Message-ID: <4B01B8B4.8020904 at singlewire.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > > I assume this list is for the jspeex project, correct? > > What I am trying to achieve: I have a FLV (flash audio) file that contains > speex-encoded data. I want to read that file, extract the audio bits, and > convert them to a different format. > > I've written a little java app to do this, but I receive this error when > running it: > > Exception in thread "main" java.io.StreamCorruptedException: More than > two sideband layers found > > I've got a feeling the SpeexDecoder class wants/assumes a certain amount > of data when decoding and I'm not meeting that expectation. > > Is that correct? How much data should I hand to the decoder when I call > the processData() method? > > Thanks! > >-- Jeff Ramin Software Engineer Singlewire Software PO Box 46218 Madison, WI 53744-6218 Phone Direct - 608.298.1024 www.singlewire.com