Adding some details, the latest modifications to the audio generation algorithm are to be found in the latest official kernel release 4.9.80+, that comes with the Raspbian release from 13.03.2018 and which are now enabled by default (no need to specify audio_pwm_mode=2 in the /boot/config.txt anymore) :
https://www.raspberrypi.org/forums/viewt...5#p1289152
I only own a few Pi0 boards that I use for Kodi and DVB streaming (tvheadend), and it is on these boards I observed this issue. I'm afraid that all the BCM2835 based Raspberry Pi boards are affected.
Here is a 16 seconds crackling& popping sample while playing a DVB-S2 stream (KODI+ remote tvheadend) - BBC World HD - 1080p @ 50 FPS on a pi0 running 4.9.80+ kernel and Kodi 17.4 + tvheadend HTS PVR Addon:
http://www12.zippyshare.com/v/fXXSvwrA/file.html
The output of bcmstats for this 16 seconds recording:
Code:
bcmstat.sh A
Successfully updated from v0.4.8 to v0.4.9
Config: v0.4.9, args "A C", priority lowest (+19)
Board: 1 x ARMv6 core available, ondemand governor (Pi0 rev 1.3, BCM2835 SoC with 512MB RAM by Sony)
Memory: 512MB (split 384MB ARM, 128MB GPU) plus 200MB Swap
HW Block: | ARM | Core | H264 | SDRAM |
Min Freq: | 700MHz | 250MHz | 0MHz | 450MHz |
Max Freq: | 1000MHz | 400MHz | 300MHz | 450MHz |
Voltages: | 0, 1.3500V | +1, 1.2250V |
Other: temp_limit=85, disable_auto_turbo=1
Firmware: Mar 13 2018 18:45:03, version 6e08617e7767b09ef97b3d6cee8b75eba6d7ee0b (clean) (release)
Codecs: H264 H263 MPG4 MPG2 MJPG PCM
Booted: Wed Mar 28 10:33:03 2018
Time ARM Core H264 Core Temp (Max) IRQ/s RX B/s TX B/s GPUMem Free Memory Free/Used(SwUse) Accum GPU B Mem kB
======== ======= ======= ======= =============== ====== ========== ========== =========== ======================= =======================
10:39:36 1000Mhz 400Mhz 0Mhz 43.31C (43.31C) 202 781 3,670 74M ( 68%) 510,596 kB/12.6%( 0.0%) 0 -8
10:39:40 700Mhz 250Mhz 250Mhz 41.16C (43.31C) 143 54 220 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:39:43 700Mhz 250Mhz 250Mhz 41.16C (43.31C) 141 27 193 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:39:45 700Mhz 400Mhz 300Mhz 40.62C (43.31C) 143 55 216 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:39:47 700Mhz 250Mhz 250Mhz 40.08C (43.31C) 143 27 195 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:39:49 700Mhz 250Mhz 250Mhz 40.08C (43.31C) 141 27 193 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:39:51 700Mhz 250Mhz 250Mhz 41.16C (43.31C) 143 54 218 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:39:54 700Mhz 250Mhz 250Mhz 40.62C (43.31C) 145 27 193 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:39:56 700Mhz 250Mhz 300Mhz 40.08C (43.31C) 144 27 193 74M ( 68%) 510,628 kB/12.6%( 0.0%) 0 +24
10:39:58 700Mhz 250Mhz 250Mhz 40.08C (43.31C) 144 27 195 74M ( 68%) 510,636 kB/12.6%( 0.0%) 0 +32
10:40:00 1000Mhz 400Mhz 300Mhz 41.16C (43.31C) 167 90 332 74M ( 68%) 509,280 kB/12.8%( 0.0%) 0 -1,324
10:40:02 1000Mhz 400Mhz 300Mhz 42.77C (43.31C) 146 133 240 74M ( 68%) 509,228 kB/12.8%( 0.0%) 0 -1,376
10:40:05 1000Mhz 400Mhz 300Mhz 43.31C (43.31C) 703 988,506 17,655 27M ( 25%) 504,264 kB/13.7%( 0.0%) -49,283,072 -6,340
10:40:07 1000Mhz 400Mhz 300Mhz 44.39C (44.39C) 827 1,140,212 19,154 27M ( 25%) 503,412 kB/13.8%( 0.0%) -49,283,072 -7,192
10:40:09 1000Mhz 400Mhz 300Mhz 45.46C (45.46C) 703 1,127,568 18,918 27M ( 25%) 502,688 kB/14.0%( 0.0%) -49,283,072 -7,916
10:40:12 1000Mhz 400Mhz 300Mhz 45.46C (45.46C) 728 1,145,365 18,520 27M ( 25%) 501,004 kB/14.3%( 0.0%) -49,283,072 -9,600
10:40:14 1000Mhz 400Mhz 300Mhz 45.46C (45.46C) 737 1,124,042 17,012 27M ( 25%) 501,572 kB/14.2%( 0.0%) -49,283,072 -9,032
10:40:16 1000Mhz 400Mhz 300Mhz 45.46C (45.46C) 785 1,138,891 19,717 29M ( 26%) 501,208 kB/14.2%( 0.0%) -47,185,920 -9,396
10:40:19 1000Mhz 400Mhz 300Mhz 45.46C (45.46C) 852 1,134,714 21,751 33M ( 30%) 501,300 kB/14.2%( 0.0%) -42,991,616 -9,304
10:40:21 700Mhz 400Mhz 300Mhz 44.92C (45.46C) 757 1,127,890 19,906 33M ( 30%) 500,504 kB/14.3%( 0.0%) -42,991,616 -10,100
10:40:23 1000Mhz 400Mhz 300Mhz 46.00C (46.00C) 770 1,149,953 21,569 33M ( 30%) 500,196 kB/14.4%( 0.0%) -42,991,616 -10,408
10:40:25 1000Mhz 400Mhz 300Mhz 45.46C (46.00C) 776 1,131,174 19,585 33M ( 30%) 499,920 kB/14.4%( 0.0%) -42,991,616 -10,684
10:40:28 700Mhz 250Mhz 250Mhz 45.46C (46.00C) 752 1,134,828 17,085 33M ( 30%) 499,720 kB/14.5%( 0.0%) -42,991,616 -10,884
10:40:30 1000Mhz 400Mhz 300Mhz 45.46C (46.00C) 729 1,134,604 19,541 33M ( 30%) 499,744 kB/14.5%( 0.0%) -42,991,616 -10,860
To summarize, the playback of 1080p @ 25FPS content using analogue out - audio_pwm_mode=2 works fine with all the kernels & firmwares up to date on Raspberry Pi0 (BCM2835).
Then, playing higher frame rates:
- playing 1080p @ 50-60FPS video content under Kodi (omxplayer) using analogue out - audio_pwm_mode=2 with the Raspberry Foundation official kernel 4.4.50 and the firmware 3ca4cf4a663c5351eaec08b29d50d6e8324981b4 is
OK
- playing 1080p @ 50-60FPS video content under Kodi (omxplayer) using analogue out - audio_pwm_mode=2 with the Raspberry Foundation official kernel 4.9.80 (noticed first in the official 4.9.58) and the firmware 6e08617e7767b09ef97b3d6cee8b75eba6d7ee0b is
NOT OK, and a pity