BTW Is there any reliable player for RTP/Speex? Maybe my problem is
a player that doesn't support the protocol and codec (I tested with
VLC and mplayer)
I'm not sure about this. You will need to ask about this on a VLC
and a MPlayer mailing list.
I'm trying to implement streaming Speex encoded audio data (RTP
Speex payload) from a microphone. I've read FAQ and checked mailing
list so I had point of start but now I can not go further.
I've decided to start first with streaming WAV file transcoded to Speex.
I created SpeexAudioFileServerMediaSubsession which was based on
WAVAudioFileServerMediaSubsession but when playing the stream VLC I
get only messages (with no audio):
....
live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
main error: ES_OUT_RESET_PCR called
main debug: Buffering 0%
main debug: Buffering 17%
main debug: Buffering 34%
main debug: Buffering 51%
main debug: Buffering 68%
main debug: Buffering 85%
main debug: Stream buffering done (1238 ms in 1238 ms)
main debug: Decoder buffering done in 0 ms
main debug: End of audio preroll
main warning: PTS is out of range (15713989), dropping buffer
main warning: PTS is out of range (15900246), dropping buffer
main warning: PTS is out of range (16089345), dropping buffer
main warning: PTS is out of range (16271773), dropping buffer
main warning: PTS is out of range (16458644), dropping buffer
main warning: PTS is out of range (16646190), dropping buffer
main warning: PTS is out of range (16832643), dropping buffer
main warning: PTS is out of range (17018080), dropping buffer
I wonder if I have to change fPresentationTime? Original time comes
from WAVAudioFileSource but after encoding frames with Speex should
I do any changes to it?
From what I can tell, the "fPresentationTime" values from
"WAVAudioFileSource" are being passed correctly through your new
"SpeexTranscoder" class (which I presume is a "FramedFilter"). One
way you can check this, though, is by instrumenting the
"MultiFramedRTPSink::afterGettingFrame1()" function
("liveMedia/MultiFramedRTPSink.cpp", line 233) to check whether the
parameter values (frameSize, numTruncatedBytes, presentationTime,
durationInMicroseconds) look reasonable.
If this looks OK, then your next step should be to work with the VLC
(and/or MPlayer) developers to figure out why they are not playing
the incoming Speex audio stream properly. (They use our library for
RTP input, and we handle incoming Speex/RTP streams, but I don't know
whether they are decoding/playing it OK.)
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel