[Live-devel] Issue faced with JPEGVideo
Ryan Chong
fantasychong at yahoo.com
Sun Jul 24 22:40:31 PDT 2005
I am not really sure on the actual flow with the PAUSE->PLAY state
change. The following is the test I ran:
Reading video index: 178
Reading video index: 179
Reading video index: 180
Reading video index: 181
Reading video index: 182
Requesting seek for source at 4.156667
Seeking at 4.156667
Reading video index: 125
Reading video index: 126
Reading video index: 127
Reading video index: 128
Reading video index: 129
I print the "Reading video index: xxx" at my video file reader (when
the doGetNextFrame() is called), and the "Requesting seek for source at
xxx" in the:
void JPEGVideoFileServerMediaSubsession::seekStreamSource(FramedSource*
inputSource, float seekNPT)
function.
This log is printed as the state change from PAUSE to PLAY. As I could
see, the video source was rewind back a few frames when it is resume. I
suppose this will supply enough frame to the RTSP server to resume the
stream from the time it PAUSE?
As I could see, when the PLAY command is issued by the client, the
Server will respond with some steps:
1. In void RTSPServer::RTSPClientSession::handleCmd_PLAY (...), the
subsession->seekStream(...) is called. This is corresponding to the
Seek in the logged above.
2. In void RTSPServer::RTSPClientSession::handleCmd_PLAY (...), the
subsession->startStream(...) is called, which is calling the void
OnDemandServerMediaSubsession::startStream (...). This will resume the
streaming, and start calling the doGetNextFrame(...) in the VideoSource
implemented.
Is there some steps that are taken out, but that I did not taken care
of, and thus causing the frame missing at the client side? How should
my implementation react to the state change of PLAY-PAUSE-PLAY so there
is no frame missing? i.e., which virtual functions I should look into
or implement to avoid the problem?
Thanks for reading.
Regards,
Ryan
--- Ross Finlayson <finlayson at live.com> wrote:
>
> >
> >Then I found the problem that, when the stream is resume with the
> PLAY
> >command, there are a few seconds of video missing, normally more
> than 2
> >seconds. Is there anyway to overcome this issue?
>
> I don't know. Are you sure that your data source object is not to
> blame
> for this?
>
>
> Ross Finlayson
> LIVE.COM
> <http://www.live.com/>
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live.com
> http://lists.live.com/mailman/listinfo/live-devel
>
____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs
More information about the live-devel
mailing list