Ticket #424 (new defect)

Opened 3 years ago

Last modified 2 years ago

PCR gap detection is not appropriate for streaming MPEG formats

Reported by: md Assigned to:
Priority: high Milestone: Bugs paradize
Component: Input Version: master
Severity: major Keywords:
Cc: Platform(s): all
Difficulty: unknown Work status: Not started

Description (Last modified by tumu)

src/input/clock.c currently detects PCR gaps only if the difference between two consecutive PCRs is greater than 22.222 seconds. This seems to be an empirical value - see [5000].

However, this has very bad sideeffects on network streaming. If the PCRs suddently jump e.g. 10 seconds, this change remains undetected and the reference clock gets invalid. The proper action in this case would be to immediately recompute the reference point.

MPEG-TS is required to have a PCR at least once per 100 msec and in case of RTP streams delivered by livedotcom, PCRs are computed from each RTP packet. So for these cases, 22.222 seconds is at least two orders of magnitude above the limit.

However, if other formats/containers need such high value, then perhaps cr_max_gap should be set apropriately by the demux and passed as parameter to clock.c functions.

It is also possible, that this high value is needed due to a bug somewhere else. For example, it seems suspect to me, that in case PCR gap is detected, the new reference point is not recomputed immediately, but only on next PCR arrival. During this time period, synchro state is SYNCHRO_START - meaning not valid.

Change History

01/25/06 21:15:53 changed by tumu

  • milestone changed from 0.8.5 feature freeze to 0.8.5-test1.

01/26/06 00:19:52 changed by tumu

  • priority changed from normal to high.
  • severity changed from normal to major.
  • summary changed from PCR gap detection is not apropriate for network streaming using MPEG formats to PCR gap detection is not appropriate for network streaming using MPEG formats.

01/26/06 02:08:00 changed by tumu

  • description changed.
  • summary changed from PCR gap detection is not appropriate for network streaming using MPEG formats to PCR gap detection is not appropriate for streaming MPEG formats.

02/21/06 17:04:10 changed by zorglub

  • milestone changed from 0.8.5-test1 to 0.8.6 features freeze.

Goes with clock synchro stuff

11/05/06 09:34:59 changed by md

11/19/06 17:08:05 changed by zorglub

  • milestone changed from 0.9.0 features freeze to Bugs paradize.