[Live-devel] GSM with SimpleRTPSink & WAVAudioFileSource.
Ross Finlayson
finlayson at live.com
Thu Feb 17 12:34:58 PST 2005
At 12:11 PM 2/17/05, you wrote:
>I'm using WAVAudioFileSource & SimpleRTPSink as a foundation to implement
>GSM recording source.
Note that "WAVAudioFileSource" returns raw PCM audio data. To convert this
to GSM, you will need to write a (new) 'filter' class that encodes this
data to GSM frames.
Then, instead of using "SimpleRTPSink", you should use (the existing)
"GSMAudioRTPSink".
I.e., you will end up with:
WAVAudioFileSource -> YourGSMEncoder -> GSMAudioRTPSink
> Now, I have three questiones:
>
>1. Should I make fFrameSize always be like "number * 33" (33 is GSM base
>frame)? How can I assure that the receiver always get the whole 33 bytes?
>2. Should I put as much data into a frame as the encoded data ? or I have
>calculate according to the orginal PCM timing?
>3. In source, there is something like:
>fDurationInMicroseconds = fLastPlayTime
> = (unsigned)((fPlayTimePerSample*fFrameSize)/fBytesPerSample);
>but there should be some difference between fDurationInMicroseconds and
>fLastPlayTime, how to set them ?
Your (new) GSM-encoding filter class will need to:
- deliver 1 GSM frame at a time (and setting "fFrameSize" to 33)
- setting "fDurationInMicroseconds" to be the duration (in microseconds) of
each GSM frame.
Ross Finlayson
LIVE.COM
<http://www.live.com/>
More information about the live-devel
mailing list