[libav-bugs] [Bug 211] New: avprobe loops forever on high-bitrate UDP stream

bugzilla-daemon at aruru.libav.org bugzilla-daemon at aruru.libav.org
Thu Jan 19 22:57:53 CET 2012


http://bugzilla.libav.org/show_bug.cgi?id=211

           Summary: avprobe loops forever on high-bitrate UDP stream
           Product: Libav
           Version: git HEAD
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: general
        AssignedTo: bugzilla at libav.org
        ReportedBy: andrey.krieger.utkin at gmail.com


http://178.162.181.105/krieger/3128_chunk_small.ts - 10M*
http://178.162.181.105/krieger/3128_chunk.ts - 100M
http://178.162.181.105/krieger/3128_raw.ts - 10G

Sorry for large samples, but this is 10 MB/s stream.
So for defaulty analyzeduration of 5 s, it should be at last 50 MB.

How to reproduce:
1. ./avprobe udp://localhost:50000
For giving it better chances, we can enlarge its receive buffer:
echo 10000000 > /proc/sys/net/core/rmem_max
./avprobe udp://localhost:50000?buffer_size=10000000

2. cat ~/3128_chunk.ts | pv --rate-limit 10m | nc -u localhost 50000

Result: avprobe hangs forever. Even if you feed it with 10G of data.
Output: see http://178.162.181.105/krieger/avprobe_loop.log

Workaround: set -analyzeduration 1000000 or less (default is 5000000 mcs).
Workaround success output: http://178.162.181.105/krieger/avprobe_success.log

Workaround 2: wrap such UDP stream over TCP:
1. nc -u -l -p 50000 | nc -l -p 60000
2. cat ~/3128_chunk.ts | pv --rate-limit 10m | nc -u localhost 50000
3. ./avprobe tcp://localhost:60000


As i understand, at some moment h264 decoder initialization introduces delay,
and this leads to some data being lost because of internal socket's buffer
overflow. Thus we have lots of "Continuity check failed".

-----
* - too small, and causes deadloop even when avprobe'd as a local file. This is
another issue, does not hurt so much yet.

-- 
Configure bugmail: http://bugzilla.libav.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the libav-bugs mailing list