On Tue, Mar 31, 2009 at 2:10 PM, Gordon Smith <[email protected]> wrote: > > Hello - > > After modification for input of filename, testMPEG2TransportStreamer > can read from pipe, but not read directly from device file. > The fread() in ByteStreamFileSource returns EIO and reads zero bytes > for direct read. > > Device file /dev/video2 is saa7134-empress device on Linux debian > 2.6.26-1-686, live-2009-03-22, latest v4l-dvb modules. > > Reading /dev/video2 directly results in EIO and zero bytes read. > > $ sudo ./testMPEG2TransportStreamer /dev/video2
FYI, I modified testMPEG2TransportStreamer, ByteStreamFileSource, FramedFileSource and InputFile and was able to read a v4l2 device file. The modifications did the following: - Use low level I/O: open, read, etc. in place of fread, etc. - Use select (with timeout) before call to read - Ignore EIO (2 or 3 occur at startup but shouldn't) - Remove file seek > FYI, using cat piped to testMPEG2TransportStreamer starts well, but > begins to continuously lose data after about 2 to 4 minutes. > Using setvbuf to increase buffer to 32k or 64k did not help. > > $ cat /dev/video2 | sudo ./testMPEG2TransportStreamer stdin > I still get data loss after a few minutes with direct read, but that may be a problem with the device module. - Gordon _______________________________________________ live-devel mailing list [email protected] http://lists.live555.com/mailman/listinfo/live-devel
