[Live-devel] Buffering incoming data with openRTSP?
satheesh Ramalingam
satram at juniper.net
Sun Jan 2 22:28:18 PST 2011
Hi,
To check whether packets gets dropped at network, you can add debug prints in
liveMedia/MultiFramedRTPSource.cpp
void MultiFramedRTPSource::doGetNextFrame1()
// Check whether we're part of a multi-packet frame, and whether
// there was packet loss that would render this packet unusable:
if (fCurrentPacketBeginsFrame) {
if (packetLossPrecededThis || fPacketLossInFragmentedFrame) {
// We didn't get all of the previous frame.
// Forget any data that we used from it:
fTo = fSavedTo; fMaxSize = fSavedMaxSize;
fFrameSize = 0;
}
fPacketLossInFragmentedFrame = False;
} else if (packetLossPrecededThis) {
// We're in a multi-packet frame, with preceding packet loss
fPacketLossInFragmentedFrame = True;
}
if (fPacketLossInFragmentedFrame) {
// This packet is unusable; reject it:
fReorderingBuffer->releaseUsedPacket(nextPacket);
fNeedDelivery = True;
break;
}
-----Original Message-----
From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Utkarsh Nimesh
Sent: Monday, January 03, 2011 11:21 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Buffering incoming data with openRTSP?
Thanks for your inputs.
The problem I am seeing in my use case is at 1.5 Mbps the video of the stored file gets "bursty" some times and is ok when bit rate is 500Kbps. So I am trying to check on source side to rule out any n/w loss or b/w issues. Decoder seems to be catching up as the data is always arriving late.
The network has enough b/w (does it matter if it's TCP or UDP?) in my case.
-----Original Message-----
From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Monday, January 03, 2011 10:29 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Buffering incoming data with openRTSP?
>After looking at the source code, playCommon.cpp
>
>Function:-
>void continueAfterDESCRIBE(RTSPClient*, int resultCode, char* resultString)
>
>unsigned const thresh = 1000000; // 1 second
>subsession->rtpSource()->setPacketReorderingThresholdTime(thresh);
Note that this code affects *only* the application's behavior when
packets happen to be reordered in the network - a situation that
rarely happens. It is something that you almost certainly don't need
to change.
Perhaps you should start by explaining *specifically* what problem(s)
you think you are seeing with the current code, and what you want to
do?
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel at lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
_______________________________________________
live-devel mailing list
live-devel at lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
More information about the live-devel
mailing list