I'm using IPP sample source code (ver 5.3) to decode a MPEGTS stream. I've got it working for a .ts file, but now I need to read a TS stream from the network. Is there an implementation of DataReader interface for network reading. I went to the umc_readers.h and saw the following code (which is disabled since UMC_ENABLE_SOCKET_READER is not defined).
#if defined (UMC_ENABLE_SOCKET_READER)
But I can't find the umc_socket_reader.h. Am I missing something or is this just supposed to be a placeholder for actual implementation by the developer?
Did you implement your socketreader class ? Currently i'm working on same thing. I have few questions regarding socket implementation. How big buffer did you use for saving streams, did you use threading for stream reading ? I was thinking of initializing thread from SocketReader::Init function which will get stream and put it into a memory stack and than in ::CacheData and ::ReadData copy chunks of memory to data pointer and clear it from memory.
Any suggestions ?
Yes I have implemented my own SocketReader class. I spawn the stream reader thread from Init method and use a 10 MB buffer.
The reason for choosing 10 MB is quite arbitary, I just wanted to buffer 2-3 secs of data. You are pretty much on the right track.
However, I see a few artifacts in the video which I suspect is due to my buggy implementation of CSocketReader.
Please let me know if you want to see my code and I can mail it to you.