Hi!
I try translate H264 video stream by Live555. The hardware video source is the video camera (USB). Class for Live555 video source derived from DeviceSource. The problem in function DeviceSource::deliverFrame : When the newFrameSize > <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137 643c61539e313e3a92085efc08> fMaxSize i set <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad4 9493202c89afd93564cc6263da> fNumTruncatedBytes, but only result is the message: "The input frame data was too large for our buffer size :.. bytes of trailing data was dropped!" This mean (as I understand) that the truncated part of frame is dropped. Is this mean that the truncated frame is dropped? So, all large frames (>fMaxSize) really will be skiped. I try looped the afterGetting() : u_int8_t* newFrameDataStart = (u_int8_t*)ourFrame; do { unsigned newFrameSize = hugeFrameSize; if (newFrameSize > <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137 643c61539e313e3a92085efc08> fMaxSize) { <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb 7dbf64aac933e30e1f39eb80e5> fFrameSize = <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137 643c61539e313e3a92085efc08> fMaxSize; <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad4 9493202c89afd93564cc6263da> fNumTruncatedBytes = newFrameSize - <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137 643c61539e313e3a92085efc08> fMaxSize; } else { <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad4 9493202c89afd93564cc6263da> fNumTruncatedBytes =0; <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb 7dbf64aac933e30e1f39eb80e5> fFrameSize = newFrameSize; } : memmove( <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#a2a8e8 9b11d40a5f64447ee55b0573ee> fTo, newFrameDataStart, <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb 7dbf64aac933e30e1f39eb80e5> fFrameSize); newFrameDataStart += <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb 7dbf64aac933e30e1f39eb80e5> fFrameSize; hugeFrameSize -= <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb 7dbf64aac933e30e1f39eb80e5> fFrameSize; <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2f3f7f f24e55419517c273725439ea68> FramedSource::afterGetting(this); } while( <http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad4 9493202c89afd93564cc6263da> fNumTruncatedBytes); This is bad idea - the program dead. In message we have recommendation: "Correct this by increasing \"OutPacketBuffer::maxSize\" to at least" Is any way to sending large frames (H264 key frames , or other), except the HUGE fMaxSize? Sorry for my English! Nick
_______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel