Ticket #671 (new defect)

Opened 2 years ago

Last modified 5 months ago

Lost asf packets with repeating sequence numbering

Reported by: tumu Assigned to:
Priority: normal Milestone: Bugs paradize
Component: Muxers Version: master
Severity: normal Keywords:
Cc: Platform(s): all
Difficulty: easy Work status: Not started

Description (Last modified by tumu)

Streaming asf causes "detected packet loss (x != y) messages being shown on client every so and often, where x and y sequence numbers differ by a certain value based on configured asf packet size. For asf packet size of 1400, the difference is always 715, for 8000 it's 125 and for 16000 it's 65.

As the size of missing sequence numbers is always same, it points to an issue in buffering after encoding dropping packets or replacing yet to be sent out packets with later encoding. To find the exact location where this is happening, adding debugging to following functions should help:

  • Mux() of mux/asf.c,
  • sout_MuxSendBuffer() of stream_output/stream_output.c,
  • sout_AccessOutWrite() of stream_output/stream_output.c,
  • Write() of access_output/http.c,
  • httpd_StreamSend() of network/httpd.c and
  • httpd_HostThread() of network/httpd.c.

This should be fixed asap because it affects every codec used in asf, with some having more visible effects than others.

Another issue with the detection is missing signaling to/on client to prevent feeding the decoder with truncated data caused by lost packets. There should be a way to wait until valid state (packet starting next (key)frame) is received before feeding the decoder again.

Change History

15/05/06 21:43:59 changed by tumu

  • description changed.

15/05/06 21:47:16 changed by tumu

  • description changed.

15/05/06 22:14:53 changed by tumu

  • description changed.

15/05/06 22:15:28 changed by tumu

  • description changed.

15/05/06 22:18:48 changed by tumu

  • description changed.

20/05/06 11:56:35 changed by trax

Detected packet loss (x != y) is not caused by MBR in this case. Over time "PTS is out of range" messages occur. When a file input is used with --input-repeat=-1 at the repeat moment the PTS issues are suddenly resolved again at the client (some buffer reset?).

09/07/06 18:54:29 changed by tumu

  • milestone changed from 0.8.6 bugs to 0.8.6-test1.

Might as well move this to -test1 to make sure it has enough testing after fix.

23/12/06 16:45:16 changed by zorglub

  • priority changed from highest to normal.
  • severity changed from blocker to normal.

10/05/08 13:54:19 changed by courmisch

  • milestone changed from 0.9.0-test1 to Bugs paradize.