WebRTC samples. Video ON / OFF.

On mobile Safari do these steps:

  1. Click Start
  2. Click Call
  3. Turn ON video, Turn OFF video
  4. Turn ON video, Turn OFF video
  5. Turn ON video, Turn OFF video
  6. Turn ON video, Turn OFF video
  7. Turn ON video, Turn OFF video

The app eventually will exhaust all HW H.264 encoders and will fail. The remote video will be black when the local video is playing. Tested on iPad Mini 2, iOS 12.4 The device log says:

mediaserverd	H.264-legacy: Init hw video encoder: dimension = 640 x 480, usage = 1
mediaserverd	AVE: Bottom extended pixels = 8
mediaserverd	Assert - (false) - f: /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleVXE380/AppleVXE380-445.6/Library/AppleVXE380FIGwrapper.cpp l: 3166
kernel	H264SecurityCheck WARNING: m_NumberOfClients reached MAX 4
kernel	VXE380 WARNING: m_ClientsSecurityCheck->AddClient failed
mediaserverd	VXE FIG ERROR: kVTVideoEncoderNotAvailableNowErr.
mediaserverd	Assert - (pDriverInstance) - f: /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleVXE380/AppleVXE380-445.6/Library/AppleVXE380UserLandLibrary.cpp l: 648
mediaserverd	AppleVXE380VA ERROR: AppleVXE380VA_DriverDelete, pDriverInstance NULL.
mediaserverd	Assert - (err == noErr) - f: /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleVXE380/AppleVXE380-445.6/Library/AppleVXE380FIGwrapper.cpp l: 3302
mediaserverd	VXE FIG ERROR: AppleVXE380VA_DriverDelete failed.
mediaserverd	H.264: failed to init video encoder, err = -108

v1