What steps will reproduce the problem? 1. Start with H264 encoding option 2. Start vlc with command vlc rtsp://xxxxx 3. Nothing appears on the vlc player screen
What is the expected output? What do you see instead? The video header is damaged & picture size is invalid
What version of the product are you using? On what operating system? 4.0
Please provide any additional information below. Works well with Gingerbread devices only :( VLC player logs attached with for ICS devices.
- logs.txt 919
Comment #1
Posted on Jun 23, 2012 by Swift LionNalulength returns a huge value (something like 10234230) and no NAL unit is been created and sent on ICS devices. Tested on 5 ICS phones.
Comment #2
Posted on Jun 25, 2012 by Grumpy LionI noticed that too. it seems that nalulength calculation/lookup is problematic in some instances. As a workaround, if it is greater than 1000000 (random number, still researching how to handle nalulength properly) or less than or equal to 0, just skip.
with this, it works most of times. it works on HTC One X (ICS 4.0.3).
it seems on HTC phones (both 4 or 2.3) have occasional issues on nalulength calculation.
Comment #3
Posted on Jun 26, 2012 by Helpful CamelOk ! I will commit a little fix soon !
Thank you
Comment #4
Posted on Jun 26, 2012 by Helpful Camelxianzhang.gu, when you say you skip it, you mean that you just wait for 4 more bytes and try to recompute the naluLength ? In other words, the HTC sometimes sends a wrong naluLength and then sends a correct one ?
Comment #5
Posted on Jun 27, 2012 by Grumpy Lionmost of times, HTC gives the right value. right now, I have not figured out why wrong value was present or probably current code does not take into all special cases. I'm researching how to better handle it. at the moment, yes I just let it try next 4 more bytes. I just want to avoid crash so it has a chance to re-try. from logcat, it did seem to recover and resume streaming. my guess is that could be just messed up stream.
Comment #6
Posted on Jun 27, 2012 by Swift LionI am afraid to say but when i try to read next 4 bytes, it doesn't give me the nalu length either. So i tried to hardcode 'nalulength = chunksize -4' W.O.R.K.E.D But the video quality seems to be poorer then h263 even :(
Status: New
Labels:
Type-Defect
Priority-Medium