Hello, and thanks for the help.

- We see these types of messages all the time in our platform (which
is implemented using live555 on the server.) A different media player
we've tried seems to play the stream without these "glitches".
- I see the same messages using my own RTSP/RTP stack written from scratch.
Hmm, it seems so. I've tried it with MPlayer for windows and it is working fine. The streams are practically unplayable in VLC.

I event get errors saying: "more than 5 seconds of late video"
mainwarning: playback too late (61251): up-sampling

mainwarning: playback too late (60915): up-sampling

avcodecerror: more than 5 seconds of late video -> dropping frame (computer too slow ?)

mainwarning: picture is too late to be displayed (missing 1418 ms)

mainwarning: picture is too late to be displayed (missing 1378 ms)

mainwarning: picture is too late to be displayed (missing 1338 ms)

mainwarning: picture is too late to be displayed (missing 1172 ms)

mainwarning: picture is too late to be displayed (missing 1152 ms)


So the stream cannot be played back in VLC.

I also suggest making sure that:
        - streaming H.264 video only works OK (I think you've already done this)
        - streaming AAC audio only works OK
before trying to stream both audio and video together.
yes, I've tried that: both streams work OK when streamed separately. The problem only appears when they are streamed together.


Btw, what is the correct sequence of closing the RTSP server and other classes from live555. I do it like this:

I signal m_doneFlag. Everything is done on a dedicated thread and my class isn't exiting until it gets the close event (m_hCloseEvt, at the end), but still something is not cleaned up I can see it in the output window.

m_pUsageEnv->taskScheduler().doEventLoop( &m_doneFlag ); // does not return

    // Close everything
    //
    if(m_pRtpVideoSink != NULL)
    {
        m_pRtpVideoSink->stopPlaying();
    }
    m_pRtpVideoSink = NULL;

    Medium::close(m_pH264FramedSource);

    if(m_pRtpAudioSink != NULL)
    {
        m_pRtpAudioSink->stopPlaying();
    }
    m_pRtpAudioSink = NULL;

   Medium::close(m_pAacFrameedSource);

    Medium::close(rtspServer);
    Medium::close(rtcpVideo);
    Medium::close(rtcpAudio);

    rtpVideoGroupsock.removeAllDestinations();
    rtcpVideoGroupsock.removeAllDestinations();
    rtpAudioGroupsock.removeAllDestinations();
    rtcpAudioGroupsock.removeAllDestinations();

    m_pUsageEnv->reclaim();

    SetEvent( m_hCloseEvt );

_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to