Strange behavior of vlc reading from fifo
- From: Johannes Dohmen <johannes.dohmen@xxxxxx>
- Date: Sat, 22 Sep 2007 14:28:56 +0200
Hi,
I'm writing a network communication (audio and video) application. The application consists of a sender a reciever, data is transfered through rtp.
Audio data is written directly to the alsa-layer by the receiver and is by now working fine.
OTOH Video data is send as mjpeg (http://en.wikipedia.org/wiki/Motion_JPEG) and not handled by the receiver but piped through a fifo to an external player (vlc by now). The data cannot be piped directly to the player as it needs the file-ending (mjpeg) to distinguish the format.
From my log-messages I see, that the the data is sent and received continuous with 10fps as I expected. The receiver creates a fifo for writing, forks if it gets the first video data and execs vlc on the newly created fifo. Vlc starts displaying the video data, but much to slow ~1fps and with a huge delay of maybe 5secs on a local setup.
For debuging I modified the application to not fork&ecex so that I can start vlc from the bash myself.
Vlc playbacks the video data as bad as if forked an exec, *but* if I kill it and start vlc again, video playback is just fine (~10fps and delay of 0,5secs which might be from the caching of the rtp-lib).
This seems quite strange to me...
Any help is appreciated.
FYI:
rtplib: ccrtp
soundlib: asound (alsa)
videolib: libavformat (ffmpeg, mplayer)
OS: Debian Linux SID
Video-Source: webcam (quickcam)
Programming language: c++
Greets from Germany
Johannes
.
- Prev by Date: Re: Non-rectangular (shaped) main window that has non-rectangular child windows.
- Next by Date: making initrd to start a fresh installation
- Previous by thread: Non-rectangular (shaped) main window that has non-rectangular child windows.
- Next by thread: making initrd to start a fresh installation
- Index(es):
Relevant Pages
|