[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


           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 - 10M* - 100M - 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

Workaround: set -analyzeduration 1000000 or less (default is 5000000 mcs).
Workaround success output:

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