Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#13536 closed Patch - Feature (Fixed)

Refine AVSync2 Algorithm

Reported by: pletch Owned by: Mark Kendall
Priority: minor Milestone: 31.0
Component: MythTV - Video Playback Version: Master Head
Severity: medium Keywords: AVSync2 AVSync sync
Cc: Ticket locked: no

Description

The current implementation of AVSync2 uses proportional control with a control loop gain of 1. The approach leverages the difference in the audio & video timestamps and attempts to adjust the sync exactly back to zero in each iteration. Clamping of the maximum adjustment is enforced using user configured setting (avsync2adjustms).

However, a gain value of 1 seems to be too high for systems that experience audio timestamp jitter when querying the audio chain causing high variability in the control. This can be somewhat mitigated through the use of the minimum allowable adjustment (1ms) but this lengthens time to achieve initial syncronization and can still cause control instability.

A patch is proposed which revises the sync adjustment calculations to use a proportional gain of 0.04 and eliminate the clamp limits. This value was found to provide a good balance of rapid initial syncronization and control stability in the presence of jitter once syncronization is achieved.

In addition, the patch includes necessary revisions to make AVSync2 the exclusive audio / video syncronization method, eliminate code associated with the legacy AVSync routine, and remove the configuration settings associated with AVSync2 in the mythfrontend UI as there are no longer any user configurable settings. These additional changes were provided by Mark Kendall per 9-Dec-2019 discussion on the mythtv-dev mailing list.

Attachments (2)

avsync_rev.diff (24.4 KB) - added by pletch 5 years ago.
avsync_rev2_with_filter.diff (25.4 KB) - added by pletch 5 years ago.
This revision includes an exponential smoothing filter of the calculated audio / video sync values fed into the control loop algorithm used for adjustment. This dampens the impact of jitter present in the system reported timestamp values.

Download all attachments as: .zip

Change History (9)

Changed 5 years ago by pletch

Attachment: avsync_rev.diff added

comment:1 Changed 5 years ago by Peter Bennett

Owner: changed from Peter Bennett to Mark Kendall
Status: newassigned

Assigned to Mark Kendall, who is already working on this.

Changed 5 years ago by pletch

This revision includes an exponential smoothing filter of the calculated audio / video sync values fed into the control loop algorithm used for adjustment. This dampens the impact of jitter present in the system reported timestamp values.

comment:2 Changed 5 years ago by Mark Kendall

Resolution: Fixed
Status: assignedclosed

Patch applied in c85a6877a8acd001c74f0ada1ab57f7f68fb66d6

I mage a slight adjustment to s_av_control_gain - and set this to 0.4F (and not 0.04). I think this was an oversight from updating the previous patch and meant a/v sync took too long.

Many thanks to pletch for his work on this.

comment:3 Changed 5 years ago by Mark Kendall

Milestone: needs_triage31.0
Version: UnspecifiedMaster Head

comment:4 Changed 5 years ago by Mark Kendall <mark.kendall@…>

In c85a6877a/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:5 Changed 5 years ago by pletch

Hi Mark,

Have you found that the 0.04 value is providing too slow of a response?

If so, we may either need to allow some fine tuning of this value by the user or we can try splitting the difference to see if a happy medium is reached. I have found a value of 0.04 to work fine for my systems but maybe this is too slow in some cases.

If going with a user tune-able value, I'd suggest we allow a range of 1-10 called A/V Sync Control Aggressiveness which then scales the user input to a gain value range of of 0.04 to 0.4. I can provide a patch for this if we think it is necessary / worthwhile.

Tim

comment:6 Changed 5 years ago by Mark Kendall

Tim - in limited testing on a Pi4, the logs where pretty verbose whilst getting an initial sync. I need to do a little more testing - I think part of the 'issue' may just be the logging - i.e. it can be toned down a little.

I'd much prefer not to add another setting - so hopefully we can just settle on a reasonable default.

I will make the change to the a/v sync OSD debugging.

comment:7 Changed 5 years ago by Mark Kendall

Tinkering with the gain value, from a purely audiovisual (i.e. user experience) perspective, I don't see any difference. An example of the logging 'issues' I see is shown below. This is after a skip in a 4kHDR, HEVC file using VAAPI. On reflection this is probably just a personal reaction to seeing all of that logging, although in this case it seems that the response time is quite long.

2019-12-13 09:58:08.269284 I [16394/16394] CoreContext mythplayer.cpp:3868:ClearAfterSeek  Player(1): ClearAfterSeek(0)
2019-12-13 09:58:08.269321 I [16394/16394] CoreContext mythplayer.cpp:1849:SetBuffering  Player(1): Waiting for video buffers...
2019-12-13 09:58:08.446657 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 134 ms
2019-12-13 09:58:08.488384 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 142 ms
2019-12-13 09:58:08.532132 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 140 ms
2019-12-13 09:58:08.575929 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 138 ms
2019-12-13 09:58:08.620249 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 136 ms
2019-12-13 09:58:08.663469 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 133 ms
2019-12-13 09:58:08.708222 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 132 ms
2019-12-13 09:58:08.753846 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 130 ms
2019-12-13 09:58:08.754199 I [16394/16394] CoreContext jitterometer.cpp:131:RecordEndTime  Player(1): FPS:   22.31 Mean: 44823 Std.Dev: 22306 CPUs: 39% 38% 
2019-12-13 09:58:08.795125 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 128 ms
2019-12-13 09:58:08.839258 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 126 ms
2019-12-13 09:58:08.883294 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 122 ms
2019-12-13 09:58:08.926492 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 121 ms
2019-12-13 09:58:08.970423 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 119 ms
2019-12-13 09:58:09.017472 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 117 ms
2019-12-13 09:58:09.057390 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 114 ms
2019-12-13 09:58:09.101274 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 112 ms
2019-12-13 09:58:09.145157 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 111 ms
2019-12-13 09:58:09.188299 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 110 ms
2019-12-13 09:58:09.231832 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 106 ms
2019-12-13 09:58:09.277382 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 104 ms
2019-12-13 09:58:09.318376 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 104 ms
2019-12-13 09:58:09.362042 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 102 ms
2019-12-13 09:58:09.405710 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 101 ms
2019-12-13 09:58:09.448444 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 97 ms
2019-12-13 09:58:09.492078 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 97 ms
2019-12-13 09:58:09.537641 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 95 ms
2019-12-13 09:58:09.578285 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 94 ms
2019-12-13 09:58:09.621835 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 92 ms
2019-12-13 09:58:09.665986 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 90 ms
2019-12-13 09:58:09.707847 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 90 ms
2019-12-13 09:58:09.751343 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 88 ms
2019-12-13 09:58:09.797212 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 87 ms
2019-12-13 09:58:09.797567 I [16394/16394] CoreContext jitterometer.cpp:131:RecordEndTime  Player(1): FPS:   23.01 Mean: 43456 Std.Dev:  1690 CPUs: 29% 30% 
2019-12-13 09:58:09.837316 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 84 ms
2019-12-13 09:58:09.880629 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 83 ms
2019-12-13 09:58:09.924070 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 82 ms
2019-12-13 09:58:09.966397 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 80 ms
2019-12-13 09:58:10.011644 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 80 ms
2019-12-13 09:58:10.053116 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 79 ms
2019-12-13 09:58:10.095429 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 77 ms
2019-12-13 09:58:10.139064 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 76 ms
2019-12-13 09:58:10.182034 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 73 ms
2019-12-13 09:58:10.224189 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 73 ms
2019-12-13 09:58:10.269143 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 72 ms
2019-12-13 09:58:10.310586 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 71 ms
2019-12-13 09:58:10.352816 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 68 ms
2019-12-13 09:58:10.395966 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 67 ms
2019-12-13 09:58:10.439062 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 67 ms
2019-12-13 09:58:10.481142 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 66 ms
2019-12-13 09:58:10.526681 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 64 ms
2019-12-13 09:58:10.567324 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 64 ms
2019-12-13 09:58:10.609748 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 63 ms
2019-12-13 09:58:10.652423 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 62 ms
2019-12-13 09:58:10.695466 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 61 ms
2019-12-13 09:58:10.737472 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 59 ms
2019-12-13 09:58:10.782828 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 59 ms
2019-12-13 09:58:10.823565 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 58 ms
2019-12-13 09:58:10.823936 I [16394/16394] CoreContext jitterometer.cpp:131:RecordEndTime  Player(1): FPS:   23.39 Mean: 42746 Std.Dev:  1484 CPUs: 31% 32% 
2019-12-13 09:58:10.865570 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 57 ms
2019-12-13 09:58:10.908425 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 55 ms
2019-12-13 09:58:10.951290 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 55 ms
2019-12-13 09:58:10.993158 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 54 ms
2019-12-13 09:58:11.037832 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 52 ms
2019-12-13 09:58:11.079475 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 51 ms
2019-12-13 09:58:11.120888 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 50 ms
2019-12-13 09:58:11.163708 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 51 ms
2019-12-13 09:58:11.206934 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 50 ms
2019-12-13 09:58:11.248289 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 49 ms
2019-12-13 09:58:11.292856 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 48 ms
2019-12-13 09:58:11.333950 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 47 ms
2019-12-13 09:58:11.375774 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 46 ms
2019-12-13 09:58:11.418522 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 46 ms
2019-12-13 09:58:11.461215 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 44 ms
2019-12-13 09:58:11.504776 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 43 ms
2019-12-13 09:58:11.546088 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 42 ms
2019-12-13 09:58:11.588412 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 43 ms
2019-12-13 09:58:11.630144 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 42 ms
2019-12-13 09:58:11.672840 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 42 ms
2019-12-13 09:58:11.715562 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 41 ms
2019-12-13 09:58:11.759231 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 39 ms
2019-12-13 09:58:11.799834 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 39 ms
2019-12-13 09:58:11.842527 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 39 ms
2019-12-13 09:58:11.842913 I [16394/16394] CoreContext jitterometer.cpp:131:RecordEndTime  Player(1): FPS:   23.56 Mean: 42436 Std.Dev:  1041 CPUs: 27% 34% 
2019-12-13 09:58:11.884133 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 38 ms
2019-12-13 09:58:11.927019 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 36 ms
2019-12-13 09:58:11.969428 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 36 ms
2019-12-13 09:58:12.013084 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 37 ms
2019-12-13 09:58:12.054119 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 36 ms
2019-12-13 09:58:12.096204 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 34 ms
2019-12-13 09:58:12.137796 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 34 ms
2019-12-13 09:58:12.180331 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 34 ms
2019-12-13 09:58:12.222973 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 34 ms
2019-12-13 09:58:12.266931 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 33 ms
2019-12-13 09:58:12.307016 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 31 ms
2019-12-13 09:58:12.349549 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 31 ms
2019-12-13 09:58:12.391022 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 31 ms
2019-12-13 09:58:12.433584 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 31 ms
2019-12-13 09:58:12.476134 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 31 ms
2019-12-13 09:58:12.520090 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 30 ms
2019-12-13 09:58:12.560100 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 28 ms
2019-12-13 09:58:12.602613 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 29 ms
2019-12-13 09:58:12.644033 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 29 ms
2019-12-13 09:58:12.686528 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 28 ms
2019-12-13 09:58:12.729035 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 26 ms
2019-12-13 09:58:12.772581 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 27 ms
2019-12-13 09:58:12.812969 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 26 ms
2019-12-13 09:58:12.855337 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 26 ms
2019-12-13 09:58:12.855721 I [16394/16394] CoreContext jitterometer.cpp:131:RecordEndTime  Player(1): FPS:   23.71 Mean: 42181 Std.Dev:  1101 CPUs: 28% 30% 
2019-12-13 09:58:12.896759 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 24 ms
2019-12-13 09:58:12.939187 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 25 ms
2019-12-13 09:58:12.981578 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 24 ms
2019-12-13 09:58:13.025797 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 24 ms
2019-12-13 09:58:13.065393 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 23 ms
2019-12-13 09:58:13.108074 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 24 ms
2019-12-13 09:58:13.149155 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 23 ms
2019-12-13 09:58:13.191566 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 21 ms
2019-12-13 09:58:13.233925 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 22 ms
2019-12-13 09:58:13.277114 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 22 ms
2019-12-13 09:58:13.317645 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 21 ms
2019-12-13 09:58:13.443857 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 21 ms
2019-12-13 09:58:13.485995 I [16394/16394] CoreContext mythplayer.cpp:1669:AVSync  Player(1): AV Sync: Audio behind by 21 ms
2019-12-13 09:58:13.863097 I [16394/16394] CoreContext jitterometer.cpp:131:RecordEndTime  Player(1): FPS:   23.83 Mean: 41955 Std.Dev:  1074 CPUs: 30% 25% 
Note: See TracTickets for help on using tickets.