Hi!<br>I am testing H263+ stream. I modified MediaServer for it.<br>Streaming working, but some time occur errors in stream.<br>I trying play file directly - file correct playing without errors.<br>And I found next: errors occur when switch banks. See StreamParser.cpp <br>
StreamParser::ensureValidBytes1(unsigned numBytesNeeded)<br>I playing with BANK_SIZE and found what with BANK_SIZE 50000<br>occur additional errors<br>[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>
Error while decoding frame!<br>[h263 @ 0x88cbeb0]Error at MB: 0 0<br>[h263 @ 0x88cbeb0]concealing 374 DC, 374 AC, 374 MV errors<br>[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>Error while decoding frame!<br>
[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>Error while decoding frame!<br>[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>Error while decoding frame!<br>
[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>Error while decoding frame!<br>V: 12.8 452/452 1% 0% 0.0% 0 0<br>MPlayer interrupted by signal 11 in module: decode_video<br>But with BANK_SIZE 150000 <br>
some errors missing<br>[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>Error while decoding frame!<br>[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>Error while decoding frame!<br>
[h263 @ 0x88cbeb0]H263 SAC not supported<br>[h263 @ 0x88cbeb0]header damaged<br>Error while decoding frame!<br>I looked function, But this module are correct. <br>I found, what error occur in H263plusVideoStreamParser::parse(u_int64_t & currentDuration)<br>
For correct it, I maked little modifications of function:<br>///////////////////////////////////////////////////////////////////////////////<br>// parse() , derived from H263Creator of MPEG4IP, h263.c<br>unsigned H263plusVideoStreamParser::parse(u_int64_t & currentDuration)<br>
{<br>...<br>...<br> //prevTrDifference = trDifference;<br>////////////////////////////<br> // landy: move func here<br> setParseState(); // Needed for the parsing process in StreamParser<br>///////////////////////////<br>
}<br> } catch (int /*e*/) {<br>#ifdef DEBUG<br> fprintf(stderr, "H263plusVideoStreamParser::parse() EXCEPTION (This is normal behavior - *not* an error)\n");<br>#endif<br> frameSize=0;<br> }<br>
// landy setParseState(); // Needed for the parsing process in StreamParser<br> return frameSize;<br>}<br> <br> <br>All working now correct, without errors!<br> <br>wbr, Andrey Latin<br>Elphel Team